Bug 300384 - Crach on Quit when large disk is mounted
Summary: Crach on Quit when large disk is mounted
Status: RESOLVED DUPLICATE of bug 285951
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.5-git
Platform: Ubuntu Linux
: NOR crash
Target Milestone: 2.6
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-21 10:06 UTC by Valdas
Modified: 2012-05-22 22:58 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Output from "amarok -debug" (75.84 KB, text/plain)
2012-05-21 10:07 UTC, Valdas
Details
Output from "./amarok -debug" (Amarok 2.5git) (195.54 KB, text/plain)
2012-05-22 19:03 UTC, Valdas
Details
Report from KCrash app (Amarok 2.5git) (14.95 KB, text/plain)
2012-05-22 19:04 UTC, Valdas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Valdas 2012-05-21 10:06:16 UTC
Application: amarok (2.5.0)
KDE Platform Version: 4.8.3 (4.8.3)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-24-generic x86_64
Distribution: Ubuntu 12.04 LTS

-- Information about the crash:
- What I was doing when the application crashed:

1. I started Amarok
2. Mounted 2TiB external (USB) hard disk ("Toshiba" on /dev/sdc1, trough "Mount" menu of KDE)
3. In context menu of Amarok TrayIcon choosed "Quit"

Then Amarok chashes.

If that large disk is not mounted Amarok quits without crash.

This bug is very annoyng (from my experience :) if large disk is mounted through "/etc/fstab": on LogOut from KDE or shutdown from KDE user is leaved with blank window (and runing session processes in backraund such "concy" or "boinc") - process stops (from logs seems KDE tryyng to show CrashAssistant without succes). Only workaround is to Ctrl+Alt+F1 to konsole and invoke "sudo shutdown -P now".

I also attached "amarok -debug output"

I experienced this with Amarok 2.5.0 (official) and Amarok compiled from Git (with "cmake .. -DCMAKE_INSTALL_PREFIX=\$HOME/Amarok-dev -DCMAKE_BUILD_TYPE=debugfull" and "make install").

The crash can be reproduced every time.

-- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fee1aaf87c0 (LWP 17512))]

Thread 8 (Thread 0x7fedf74bd700 (LWP 17515)):
#0  0x00007fee173fab03 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fee0f85a35f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007fee0f84b76c in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007fee0f84bdd9 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007fee0f84be90 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007fee0f85a30f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007fee0ac9fd18 in ?? () from /usr/lib/x86_64-linux-gnu/libpulsecommon-1.1.so
#7  0x00007fee09118b74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#8  0x00007fee13b1ae9a in start_thread (arg=0x7fedf74bd700) at pthread_create.c:308
#9  0x00007fee174064bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fedf4bed700 (LWP 17517)):
#0  0x00007fee11fce410 in pthread_mutex_unlock@plt () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fee12038591 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fee11ffc713 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fee11ffcf1b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fee11ffd124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fee17d91426 in QEventDispatcherGlib::processEvents (this=0x7fede0000920, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fee17d60c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fee17d60ed7 in QEventLoop::exec (this=0x7fedf4beccd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fee17c5ffa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007fee17d409ff in QInotifyFileSystemWatcherEngine::run (this=0x2caa950) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007fee17c62fcb in QThreadPrivate::start (arg=0x2caa950) at thread/qthread_unix.cpp:298
#11 0x00007fee09118b74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#12 0x00007fee13b1ae9a in start_thread (arg=0x7fedf4bed700) at pthread_create.c:308
#13 0x00007fee174064bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fedf1763700 (LWP 17518)):
#0  0x00007fff829de8de in ?? ()
#1  0x00007fee10a3115d in __GI_clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:116
#2  0x00007fee17cb9bb4 in do_gettime (frac=0x7fedf1762a98, sec=0x7fedf1762a90) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0x00007fee17d91b8d in QTimerInfoList::updateCurrentTime (this=0x7fedd8001960) at kernel/qeventdispatcher_unix.cpp:343
#5  0x00007fee17d91ec3 in QTimerInfoList::timerWait (this=0x7fedd8001960, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#6  0x00007fee17d9097c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7fedf1762b6c) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00007fee17d90a25 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00007fee11ffc71e in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007fee11ffcf1b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fee11ffd124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fee17d91426 in QEventDispatcherGlib::processEvents (this=0x7fedd80008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0x00007fee17d60c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007fee17d60ed7 in QEventLoop::exec (this=0x7fedf1762cd0, flags=...) at kernel/qeventloop.cpp:204
#14 0x00007fee17c5ffa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#15 0x00007fee17d409ff in QInotifyFileSystemWatcherEngine::run (this=0x3100820) at io/qfilesystemwatcher_inotify.cpp:248
#16 0x00007fee17c62fcb in QThreadPrivate::start (arg=0x3100820) at thread/qthread_unix.cpp:298
#17 0x00007fee09118b74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#18 0x00007fee13b1ae9a in start_thread (arg=0x7fedf1763700) at pthread_create.c:308
#19 0x00007fee174064bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#20 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fedf0b3a700 (LWP 17519)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fee17c634db in wait (time=18446744073709551615, this=0x31cce40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x31cd890, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fee150ae0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x31cd630, th=0x31ceed0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fee150b09db in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31ceed0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31ceed0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31ceed0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31ceed0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007fee150af84f in ThreadWeaver::ThreadRunHelper::run (this=0x7fedf0b39d20, parent=0x31cd630, th=0x31ceed0) at ../../../threadweaver/Weaver/Thread.cpp:87
#9  0x00007fee150af8db in ThreadWeaver::Thread::run (this=0x31ceed0) at ../../../threadweaver/Weaver/Thread.cpp:142
#10 0x00007fee17c62fcb in QThreadPrivate::start (arg=0x31ceed0) at thread/qthread_unix.cpp:298
#11 0x00007fee09118b74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#12 0x00007fee13b1ae9a in start_thread (arg=0x7fedf0b3a700) at pthread_create.c:308
#13 0x00007fee174064bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fede7ffe700 (LWP 17520)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fee17c634db in wait (time=18446744073709551615, this=0x31cce40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x31cd890, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fee150ae0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x31cd630, th=0x31cfd80) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fee150b09db in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31cfd80) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31cfd80) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31cfd80) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31cfd80) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31cfd80) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31cfd80) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#10 0x00007fee150af84f in ThreadWeaver::ThreadRunHelper::run (this=0x7fede7ffdd20, parent=0x31cd630, th=0x31cfd80) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x00007fee150af8db in ThreadWeaver::Thread::run (this=0x31cfd80) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x00007fee17c62fcb in QThreadPrivate::start (arg=0x31cfd80) at thread/qthread_unix.cpp:298
#13 0x00007fee09118b74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#14 0x00007fee13b1ae9a in start_thread (arg=0x7fede7ffe700) at pthread_create.c:308
#15 0x00007fee174064bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fede77fd700 (LWP 17521)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fee17c634db in wait (time=18446744073709551615, this=0x31cce40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x31cd890, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fee150ae0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x31cd630, th=0x31d0b50) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fee150b09db in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31d0b50) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fee150af84f in ThreadWeaver::ThreadRunHelper::run (this=0x7fede77fcd20, parent=0x31cd630, th=0x31d0b50) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fee150af8db in ThreadWeaver::Thread::run (this=0x31d0b50) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fee17c62fcb in QThreadPrivate::start (arg=0x31d0b50) at thread/qthread_unix.cpp:298
#8  0x00007fee09118b74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#9  0x00007fee13b1ae9a in start_thread (arg=0x7fede77fd700) at pthread_create.c:308
#10 0x00007fee174064bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fede6ffc700 (LWP 17522)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fee17c634db in wait (time=18446744073709551615, this=0x31cce40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x31cd890, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fee150ae0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x31cd630, th=0x31d1870) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fee150b09db in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31d1870) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fee150b09f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x31cda30, th=0x31d1870) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fee150af84f in ThreadWeaver::ThreadRunHelper::run (this=0x7fede6ffbd20, parent=0x31cd630, th=0x31d1870) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007fee150af8db in ThreadWeaver::Thread::run (this=0x31d1870) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007fee17c62fcb in QThreadPrivate::start (arg=0x31d1870) at thread/qthread_unix.cpp:298
#9  0x00007fee09118b74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#10 0x00007fee13b1ae9a in start_thread (arg=0x7fede6ffc700) at pthread_create.c:308
#11 0x00007fee174064bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fee1aaf87c0 (LWP 17512)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007fee199aa02e in qDeleteAll<QList<Collections::Collection*>::const_iterator> (end=..., begin=...) at /usr/include/qt4/QtCore/qalgorithms.h:322
#8  qDeleteAll<SmartPointerList<Collections::Collection> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
#9  CollectionManager::~CollectionManager (this=0x2bcba40, __in_chrg=<optimized out>) at ../../src/core-impl/collections/support/CollectionManager.cpp:137
#10 0x00007fee199aa209 in CollectionManager::~CollectionManager (this=0x2bcba40, __in_chrg=<optimized out>) at ../../src/core-impl/collections/support/CollectionManager.cpp:145
#11 0x00007fee199a84b6 in CollectionManager::destroy () at ../../src/core-impl/collections/support/CollectionManager.cpp:107
#12 0x00007fee19add4cf in App::~App (this=0x7fff82926840, __in_chrg=<optimized out>) at ../../src/App.cpp:248
#13 0x0000000000408e5a in main (argc=2, argv=0x7fff82928cc8) at ../../src/main.cpp:303

Possible duplicates by query: bug 300194, bug 299745, bug 299058, bug 298760, bug 298331.

Reported using DrKonqi
Comment 1 Valdas 2012-05-21 10:07:40 UTC
Created attachment 71261 [details]
Output from "amarok -debug"
Comment 2 Valdas 2012-05-21 10:09:06 UTC
uname -a:
Linux plonas 3.2.0-24-generic #37-Ubuntu SMP Wed Apr 25 08:43:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Kubuntu 12.04, KDE v4.8.3
Comment 3 Valdas 2012-05-21 10:25:46 UTC
Sorry, My bad Amarok was from Git version 2.5 and I attached wrong debug outputs (it was from official 2.5.0 - I forget to add "./" to execute compiled Amarok).

2.5-GitI also crash and I have debug outputs if You interested.

Sorry
Comment 4 Myriam Schweingruber 2012-05-21 11:26:33 UTC
Yes, please, provide the backtrace you get with the amarok 2.5-git version of today. I can't reproduce this at all. Also make sure you don't have the video applet active in the context view as it was removed in the git version and that could cause this crash. Erasing the amarokrc files is also a solution.
Comment 5 Valdas 2012-05-22 19:03:40 UTC
Created attachment 71297 [details]
Output from "./amarok -debug" (Amarok 2.5git)

 Setup: external "Toshiba  StorE" hdd (it has external power supply) through USB cable is connected to usb hub and hub connected to laptop ("Dell Inspiron 1520"). In "lsusb" it is not listed, "dmesg" reported that disk as SCSI. There is "dmesg" output when disk is powered on:

[16267.827996] scsi9 : usb-storage 2-4.4.1:1.0
[16278.952597] scsi 9:0:0:0: Direct-Access     Toshiba  StorE HDD        0000 PQ: 0 ANSI: 4
[16278.954569] sd 9:0:0:0: Attached scsi generic sg3 type 0
[16278.958419] sd 9:0:0:0: [sdc] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
[16278.964781] sd 9:0:0:0: [sdc] Write Protect is off
[16278.964791] sd 9:0:0:0: [sdc] Mode Sense: 38 00 00 00
[16278.971208] sd 9:0:0:0: [sdc] No Caching mode page present
[16278.971219] sd 9:0:0:0: [sdc] Assuming drive cache: write through
[16278.985673] sd 9:0:0:0: [sdc] No Caching mode page present
[16278.985685] sd 9:0:0:0: [sdc] Assuming drive cache: write through
[16279.011402]  sdc: sdc1
[16279.031080] sd 9:0:0:0: [sdc] No Caching mode page present
[16279.031111] sd 9:0:0:0: [sdc] Assuming drive cache: write through
[16279.031121] sd 9:0:0:0: [sdc] Attached SCSI disk

 To laptop through usb cable also is connected external "WD passport" hdd. LsUsb reports "Bus 002 Device 002: ID 1058:0702 Western Digital Technologies, Inc. Passport External HDD". This disk causes no trouble.

 I found that is enough to power up (no need to mount it) Toshiba hdd to cause crash of Amarok on Quit.

 Before tests I deleted ".kde/share/apps/amarok" dir and "amarok*" files.

 Attaching crash report from KCrash and output from "./amarok -debug". Scenario:
 - start Amarok, skipping various dialogs and wait until it calms down (no more activity in log);
 - power up "Toshiba" hdd and wait until Amarok calms down;
 - in Amarok choose "Quit" -> Amarok crashes
Comment 6 Valdas 2012-05-22 19:04:53 UTC
Created attachment 71298 [details]
Report from KCrash app (Amarok 2.5git)
Comment 7 Myriam Schweingruber 2012-05-22 22:24:34 UTC
My collection is on an external WD Passport of 1 TB connected through USB 3.0 and really can't reproduce this at all.  The last backtrace you show is supposed to be fixed since about 3 month now, see also https://bugs.kde.org/show_bug.cgi?id=285951#c11

Matej, any ideas?
Comment 8 Matěj Laitl 2012-05-22 22:58:18 UTC
Valdas, from your latest backtrace:
> Thread 1 (Thread 0x7f1890f1b7c0 (LWP 9078)):
> [KCrash Handler]
> #6  0x0000000000000000 in ?? ()
> #7  0x00007f188fdcd02e in qDeleteAll<QList<Collections::Collection*>::const_iterator> (end=..., begin=...) at /usr/include/qt4/QtCore/qalgorithms.h:322
> #8  qDeleteAll<SmartPointerList<Collections::Collection> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
> #9  CollectionManager::~CollectionManager (this=0x1324ea0, __in_chrg=<optimized out>) at ../../src/core-impl/collections/support/CollectionManager.cpp:137

You're certainly not using the latest git. (there's no qDeleteAll in CollectionManager.cpp anymore)

Please uninstall distribution Amarok version first before reporting your Amarok version as 2.5-git - simply running ./Amarok from directory where Amarok is installed doesn't suffice, nearly all Amarok code gets compiled into shared libraries and you're probably loading these instead.

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