Bug 250419 - Crash while attempting to play file that doesn't exist
Summary: Crash while attempting to play file that doesn't exist
Status: RESOLVED DUPLICATE of bug 219241
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.3.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: 2.3.2
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-07 08:45 UTC by Patrick Fenelon
Modified: 2010-09-07 11:59 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Fenelon 2010-09-07 08:45:27 UTC
Application: amarok (2.3.0)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-24-generic x86_64
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
Steps taken before crash:

1) queue duplicate album (album existed in library under 2 artists, one of which had a '$' and the other had a 's')
2) start playing 1st song
3) delete directory with one of the albums in it (not the one with the song that is curently playing)
4) before scanning occurs, double click in playlist on song that does not exist
	a) program skipped through all songs, not playing them (including songs that did exist)
5) crash

The music is on a smb share mounted in the home directory. Amarok was configured to use a mySQL database.
Upon restarting amarok the deleted album was no longer present.

The crash does not seem to be reproducible.

 -- Backtrace:
Application: Amarok (amarok), signal: Aborted
[Current thread is 1 (Thread 0x7fe70802b7a0 (LWP 7528))]

Thread 16 (Thread 0x7fe6e294b710 (LWP 7529)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007fe6e8e95081 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fe6e214a710 (LWP 7530)):
#0  0x00007fe70502ef83 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fe6fe50d4a9 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fe6fe50d8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fe70599a566 in QEventDispatcherGlib::processEvents (this=0x266ff00, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007fe70596f992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fe70596fd6c in QEventLoop::exec (this=0x7fe6e2149d50, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fe705879d59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fe6e90f1440 in Phonon::Xine::XineThread::run (this=0x25de6e0) at ../../xine/xinethread.cpp:143
#8  0x00007fe70587c775 in QThreadPrivate::start (arg=0x25de6e0) at thread/qthread_unix.cpp:248
#9  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fe6d7ffe710 (LWP 7536)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe6e8ea5e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fe6dbdf9710 (LWP 7537)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe6e8ea5e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fe6db5f8710 (LWP 7538)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe6e8ea5e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fe6dadf7710 (LWP 7542)):
#0  0x00007fe70502ef83 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fe6e132941f in ?? () from /usr/lib/libpulse.so.0
#2  0x00007fe6e1318d86 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x00007fe6e131a809 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x00007fe6e131a8c0 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x00007fe6e132921b in ?? () from /usr/lib/libpulse.so.0
#6  0x00007fe6e10e80e8 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#7  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#8  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fe6da5f6710 (LWP 7543)):
#0  __pthread_mutex_unlock_full (mutex=0x2a7cb10, decr=135) at pthread_mutex_unlock.c:230
#1  0x00007fe6e10e73be in pa_mutex_unlock () from /usr/lib/libpulsecommon-0.9.21.so
#2  0x00007fe6dbdfcd70 in ?? () from /usr/lib/alsa-lib/libasound_module_ctl_pulse.so
#3  0x00007fe6f079ec98 in snd_hctl_handle_events () from /usr/lib/libasound.so.2
#4  0x00007fe6f07a8a79 in snd_mixer_handle_events () from /usr/lib/libasound.so.2
#5  0x00007fe6e1744956 in ?? () from /usr/lib/xine/plugins/1.27/xineplug_ao_out_alsa.so
#6  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fe6d9df5710 (LWP 7544)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe6e8ea5e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fe6cefe1710 (LWP 7545)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe7003e7ca6 in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007fe7003e7ce9 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fe6cdd40710 (LWP 7546)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe70587d72b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x7fe6dc79e4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7fe6dc79e4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe701ed0026 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x7fe6dc79dff0, th=0x7fe6dc79f710) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fe701ed26ab in ThreadWeaver::WorkingHardState::applyForWork (this=0x7fe6dc79f2a0, th=0x7fe6dc79f710) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fe701ed26c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x7fe6dc79f2a0, th=0x7fe6dc79f710) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fe701ed0bff in ThreadWeaver::ThreadRunHelper::run (this=0x7fe6cdd3fdc0, parent=0x7fe6dc79dff0, th=0x7fe6dc79f710) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007fe701ed1168 in ThreadWeaver::Thread::run (this=0x7fe6dc79f710) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007fe70587c775 in QThreadPrivate::start (arg=0x7fe6dc79f710) at thread/qthread_unix.cpp:248
#9  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fe6cd53f710 (LWP 7547)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe70587d72b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x7fe6dc79e4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7fe6dc79e4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe701ed0026 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x7fe6dc79dff0, th=0x7fe6dc7a0f00) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fe701ed26ab in ThreadWeaver::WorkingHardState::applyForWork (this=0x7fe6dc79f2a0, th=0x7fe6dc7a0f00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fe701ed26c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x7fe6dc79f2a0, th=0x7fe6dc7a0f00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fe701ed26c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x7fe6dc79f2a0, th=0x7fe6dc7a0f00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fe701ed0bff in ThreadWeaver::ThreadRunHelper::run (this=0x7fe6cd53edc0, parent=0x7fe6dc79dff0, th=0x7fe6dc7a0f00) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007fe701ed1168 in ThreadWeaver::Thread::run (this=0x7fe6dc7a0f00) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007fe70587c775 in QThreadPrivate::start (arg=0x7fe6dc7a0f00) at thread/qthread_unix.cpp:248
#10 0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fe6c9ba0710 (LWP 7548)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe70587d72b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x7fe6dc3976c8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7fe6dc3976c8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe6d8ed4bf9 in XmlParseJob::run (this=<value optimized out>) at ../../../../src/collection/sqlcollection/ScanManager.cpp:692
#4  0x00007fe701ed18dd in ThreadWeaver::JobRunHelper::runTheJob (this=0x7fe6c9b9fd30, th=0x7fe6dc7b3b90, job=0x7fe6dc397680) at ../../../threadweaver/Weaver/Job.cpp:106
#5  0x00007fe701ed1bde in ThreadWeaver::Job::execute (this=0x7fe6dc397680, th=0x7fe6dc7b3b90) at ../../../threadweaver/Weaver/Job.cpp:135
#6  0x00007fe701ed0bcf in ThreadWeaver::ThreadRunHelper::run (this=0x7fe6c9b9fdc0, parent=0x7fe6dc79dff0, th=0x7fe6dc7b3b90) at ../../../threadweaver/Weaver/Thread.cpp:95
#7  0x00007fe701ed1168 in ThreadWeaver::Thread::run (this=0x7fe6dc7b3b90) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007fe70587c775 in QThreadPrivate::start (arg=0x7fe6dc7b3b90) at thread/qthread_unix.cpp:248
#9  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fe6c939f710 (LWP 7549)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe70587d72b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x7fe6dc79e4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7fe6dc79e4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe701ed0026 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x7fe6dc79dff0, th=0x7fe6c0050ac0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fe701ed26ab in ThreadWeaver::WorkingHardState::applyForWork (this=0x7fe6dc79f2a0, th=0x7fe6c0050ac0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fe701ed26c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x7fe6dc79f2a0, th=0x7fe6c0050ac0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fe701ed26c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x7fe6dc79f2a0, th=0x7fe6c0050ac0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fe701ed0bff in ThreadWeaver::ThreadRunHelper::run (this=0x7fe6c939edc0, parent=0x7fe6dc79dff0, th=0x7fe6c0050ac0) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007fe701ed1168 in ThreadWeaver::Thread::run (this=0x7fe6c0050ac0) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007fe70587c775 in QThreadPrivate::start (arg=0x7fe6c0050ac0) at thread/qthread_unix.cpp:248
#10 0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fe6c5f90710 (LWP 7552)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe70173b2a6 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fe701a19220) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#2  0x00007fe70173b2e9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fe701a272ec) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#3  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe6b649a710 (LWP 7555)):
#0  0x00007fe705033fe3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fe6e8ebe2c5 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007fe6e8ea2c99 in ?? () from /usr/lib/libxine.so.1
#3  0x00007fe7034859ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007fe70503b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe70802b7a0 (LWP 7528)):
[KCrash Handler]
#5  0x00007fe704f88a75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007fe704f8c5c0 in *__GI_abort () at abort.c:92
#7  0x00007fe705874844 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2250
#8  0x00007fe705874a22 in qt_message (msgType=QtFatalMsg, msg=0x7fe7059d21a8 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff98275a50) at global/qglobal.cpp:2296
#9  0x00007fe705874bd5 in qFatal (msg=0x1d68 <Address 0x1d68 out of bounds>) at global/qglobal.cpp:2479
#10 0x00007fe6e911080b in Phonon::Xine::MediaObject::handleStateChange (this=0x2682510, newstate=Phonon::ErrorState, oldstate=Phonon::ErrorState) at ../../xine/mediaobject.cpp:234
#11 0x00007fe6e9111075 in Phonon::Xine::MediaObject::qt_metacall (this=0x2682510, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fe6aa95e530) at ./mediaobject.moc:164
#12 0x00007fe705980d49 in QObject::event (this=0x2682510, e=0x7fe6a9f48b20) at kernel/qobject.cpp:1248
#13 0x00007fe7062e522c in QApplicationPrivate::notify_helper (this=0x2362c80, receiver=0x2682510, e=0x7fe6a9f48b20) at kernel/qapplication.cpp:4300
#14 0x00007fe7062eb6fb in QApplication::notify (this=0x7fff98276720, receiver=0x2682510, e=0x7fe6a9f48b20) at kernel/qapplication.cpp:4183
#15 0x00007fe70734b12a in App::notify (this=0x1d68, receiver=0x1d68, event=0x6) at ../../src/App.cpp:927
#16 0x00007fe70597106c in QCoreApplication::notifyInternal (this=0x7fff98276720, receiver=0x2682510, event=0x7fe6a9f48b20) at kernel/qcoreapplication.cpp:704
#17 0x00007fe7059737e7 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x2219cc0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#18 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x2219cc0) at kernel/qcoreapplication.cpp:1345
#19 0x00007fe70599a9d3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#20 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#21 0x00007fe6fe5098c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#22 0x00007fe6fe50d748 in ?? () from /lib/libglib-2.0.so.0
#23 0x00007fe6fe50d8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#24 0x00007fe70599a513 in QEventDispatcherGlib::processEvents (this=0x2219410, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#25 0x00007fe70639546e in QGuiEventDispatcherGlib::processEvents (this=0x1d68, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#26 0x00007fe70596f992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#27 0x00007fe70596fd6c in QEventLoop::exec (this=0x7fff982766c0, flags=) at kernel/qeventloop.cpp:201
#28 0x00007fe705973aab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#29 0x0000000000408782 in main (argc=1, argv=0x7fff98278698) at ../../src/main.cpp:237

This bug may be a duplicate of or related to bug 219241.

Possible duplicates by query: bug 249445, bug 248934, bug 248476, bug 248338, bug 247963.

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2010-09-07 11:59:54 UTC

*** This bug has been marked as a duplicate of bug 219241 ***