Bug 208211 - Kopete fails to launch randomly (malloc, QByteArray::resize, ..., QSslSocket, WlmSocket)
Summary: Kopete fails to launch randomly (malloc, QByteArray::resize, ..., QSslSocket,...
Status: RESOLVED DUPLICATE of bug 207082
Alias: None
Product: kopete
Classification: Unmaintained
Component: WLM Plugin (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks: libmsn-beta7-crashy
  Show dependency treegraph
 
Reported: 2009-09-22 22:01 UTC by Andrés Becerra
Modified: 2009-09-29 16:49 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrés Becerra 2009-09-22 22:01:26 UTC
Application that crashed: kopete
Version of the application: 0.70.90
KDE Version: 4.3.1 (KDE 4.3.1)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-gentoo i686

What I was doing when the application crashed:
Sometimes kopete fails to launch, I have been not able to reproduce it sistematically, sorry!

 -- Backtrace:
Application: Kopete (kopete), signal: Aborted
[Current thread is 0 (LWP 13074)]

Thread 5 (Thread 0xb3baeb70 (LWP 13076)):
#0  0x49c8af78 in __pthread_mutex_unlock_usercnt (mutex=<value optimized out>, decr=<value optimized out>) at pthread_mutex_unlock.c:38
#1  0xb66c83eb in IA__g_main_context_release (context=0x8393098) at gmain.c:1973
#2  0xb66c9cbf in g_main_context_iterate (context=0x8393098, block=<value optimized out>, dispatch=1, self=0x8331930) at gmain.c:2458
#3  0xb66ca062 in IA__g_main_context_iteration (context=0x8393098, may_block=1) at gmain.c:2518
#4  0x4e04fabd in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#5  0x4e0297e0 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#6  0x4e02998d in QEventLoop::exec (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:197
#7  0x4fe0d80f in QCA::SyncThread::run (this=<value optimized out>) at support/syncthread.cpp:195
#8  0x4df57567 in QThreadPrivate::start (arg=) at thread/qthread_unix.cpp:188
#9  0x49c88290 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x49bdfe4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xb33adb70 (LWP 13077)):
#0  0xb7fb7424 in __kernel_vsyscall ()
#1  0x49becaf3 in __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:95
#2  0x49b842c4 in _L_lock_9663 () from /lib/libc.so.6
#3  0x49b82c35 in __libc_free (mem=<value optimized out>) at malloc.c:3714
#4  0x4de0ecdf in operator delete (ptr=<value optimized out>) at /var/tmp/portage/sys-devel/gcc-4.4.1/work/gcc-4.4.1/libstdc++-v3/libsupc++/del_op.cc:44
#5  0x4e187c90 in ~QHostAddress (this=<value optimized out>) at kernel/qhostaddress.cpp:562
#6  0xb419266e in QList<XMPP::NetInterfaceProvider::Info>::free (this=0x859d5d8, data=0x859d8b0)
    at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/protocols/jabber/libiris/iris/irisnet/corelib/irisnetplugin.h:54
#7  0xb41c76f8 in XMPP::UnixNet::poll (this=0x859d5d0) at /usr/include/qt4/QtCore/qlist.h:378
#8  0xb41c5db5 in XMPP::UnixNet::qt_metacall (this=0x859d5d0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xb33acc08)
    at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/protocols/jabber/libiris/iris/irisnet/corelib/netinterface_unix.cpp:401
#9  0x4e03bf59 in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>)
    at kernel/qobject.cpp:3101
#10 0x4e03c49e in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=) at kernel/qobject.cpp:3178
#11 0x4e07037d in QTimer::timeout (this=) at .moc/release-shared/moc_qtimer.cpp:128
#12 0x4e042624 in QTimer::timerEvent (this=<value optimized out>, e=<value optimized out>) at kernel/qtimer.cpp:261
#13 0x4e039143 in QObject::event (this=<value optimized out>, e=<value optimized out>) at kernel/qobject.cpp:1066
#14 0xb6b4f22b in QApplicationPrivate::notify_helper (this=0x809fef0, receiver=0x859d5dc, e=0xb33ad07c) at kernel/qapplication.cpp:4056
#15 0xb6b54b6e in QApplication::notify (this=0xbfdbfe04, receiver=0x859d5dc, e=0xb33ad07c) at kernel/qapplication.cpp:3603
#16 0xb76b85b0 in KApplication::notify (this=0xbfdbfe04, receiver=0x859d5dc, event=0xb33ad07c) at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1/kdeui/kernel/kapplication.cpp:302
#17 0x4e02adb2 in QCoreApplication::notifyInternal (this=) at kernel/qcoreapplication.cpp:606
#18 0x4e052bfe in QTimerInfoList::activateTimers (this=<value optimized out>) at kernel/qcoreapplication.h:213
#19 0x4e04fb38 in timerSourceDispatch (source=) at kernel/qeventdispatcher_glib.cpp:165
#20 0xb66c6cda in IA__g_main_context_dispatch (context=0x859c610) at gmain.c:1824
#21 0xb66c9f4a in g_main_context_iterate (context=0x859c610, block=<value optimized out>, dispatch=1, self=0x859d978) at gmain.c:2455
#22 0xb66ca062 in IA__g_main_context_iteration (context=0x859c610, may_block=1) at gmain.c:2518
#23 0x4e04fabd in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#24 0x4e0297e0 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#25 0x4e02998d in QEventLoop::exec (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:197
#26 0xb41925cf in XMPP::SyncThread::run (this=0x858bbb8) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/protocols/jabber/libiris/iris/irisnet/corelib/netinterface.cpp:151
#27 0x4df57567 in QThreadPrivate::start (arg=) at thread/qthread_unix.cpp:188
#28 0x49c88290 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#29 0x49bdfe4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xb2bacb70 (LWP 13080)):
#0  0xb7fb7424 in __kernel_vsyscall ()
#1  0x49becaf3 in __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:95
#2  0x49b842c4 in _L_lock_9663 () from /lib/libc.so.6
#3  0x49b82c35 in __libc_free (mem=<value optimized out>) at malloc.c:3714
#4  0x4df52aeb in qFree (ptr=) at global/qmalloc.cpp:60
#5  0xb73e3bbc in ~GetAddrInfoThread (this=0x834f408) at /usr/include/qt4/QtCore/qbytearray.h:375
#6  0xb73e0ed7 in KNetwork::Internal::KResolverManager::doNotifying (this=0x8496b48, p=0x84955a8)
    at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1/kdecore/network/k3resolvermanager.cpp:636
#7  0xb73e1957 in KNetwork::Internal::KResolverManager::handleFinished (this=0x8496b48) at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1/kdecore/network/k3resolvermanager.cpp:469
#8  0xb73e1fc9 in KNetwork::Internal::KResolverThread::run (this=0x847c8c8) at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1/kdecore/network/k3resolvermanager.cpp:281
#9  0x4df57567 in QThreadPrivate::start (arg=) at thread/qthread_unix.cpp:188
#10 0x49c88290 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#11 0x49bdfe4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb23abb70 (LWP 13083)):
#0  0xb7fb7424 in __kernel_vsyscall ()
#1  0x49c8bb95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x4df56ba1 in QMutexPrivate::wait (this=<value optimized out>, timeout=<value optimized out>) at thread/qmutex_unix.cpp:80
#3  0x4df52f6b in QMutex::lock (this=<value optimized out>) at thread/qmutex.cpp:207
#4  0x4df58307 in QWaitCondition::wait (this=<value optimized out>, mutex=<value optimized out>, time=<value optimized out>) at thread/qwaitcondition_unix.cpp:161
#5  0xb73e1f7b in KNetwork::Internal::KResolverManager::requestData (this=0x8496b48, th=0x8597688, maxWaitTime=2000)
    at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1/kdecore/network/k3resolvermanager.cpp:370
#6  0xb73e1fe2 in KNetwork::Internal::KResolverThread::run (this=0x8597688) at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1/kdecore/network/k3resolvermanager.cpp:266
#7  0x4df57567 in QThreadPrivate::start (arg=) at thread/qthread_unix.cpp:188
#8  0x49c88290 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#9  0x49bdfe4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb64e9a80 (LWP 13074)):
[KCrash Handler]
#6  0xb7fb7424 in __kernel_vsyscall ()
#7  0x49b3eeb9 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8  0x49b40448 in abort () at abort.c:88
#9  0x49b79115 in __libc_message (do_abort=<value optimized out>, fmt=<value optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
#10 0x49b7e81c in malloc_printerr (action=<value optimized out>, str=<value optimized out>, ptr=<value optimized out>) at malloc.c:6196
#11 0x49b7eac4 in malloc_consolidate (av=<value optimized out>) at malloc.c:5082
#12 0x49b80b2c in _int_malloc (av=<value optimized out>, bytes=<value optimized out>) at malloc.c:4338
#13 0x49b82cf0 in __libc_malloc (bytes=<value optimized out>) at malloc.c:3638
#14 0x4df52b0e in qMalloc (size=) at global/qmalloc.cpp:55
#15 0x4df5a313 in QByteArray::resize (this=<value optimized out>, size=<value optimized out>) at tools/qbytearray.cpp:1336
#16 0x4dfd4fc8 in QIODevicePrivate (this=<value optimized out>) at ../../include/QtCore/private/../../../src/corelib/tools/qringbuffer_p.h:206
#17 0x4e1a32ad in QAbstractSocketPrivate (this=<value optimized out>) at socket/qabstractsocket.cpp:449
#18 0x4e1b80a3 in QSslSocketPrivate (this=<value optimized out>) at ../../include/QtNetwork/private/../../../src/network/socket/qtcpsocket_p.h:62
#19 0x4e1bbf00 in QSslSocketBackendPrivate (this=) at ssl/qsslsocket_openssl.cpp:158
#20 0x4e1b70f9 in QSslSocket (this=) at ssl/qsslsocket.cpp:319
#21 0xb3e2e77c in WlmSocket (this=0x85b9868, mainConnection=0x8597fc8, isSSL=false) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/protocols/wlm/wlmsocket.cpp:24
#22 0xb3e2c369 in Callbacks::connectToServer (this=0x859763c, hostname=
        {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x835bc84 "messenger.hotmail.com"}}, 
    port=1863, connected=0x8597fd0, isSSL=<value optimized out>) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/protocols/wlm/wlmlibmsn.cpp:679
#23 0xb3d6e718 in MSN::NotificationServerConnection::connect (this=0x8597fc8, hostname=@0xbfdbe890, port=1863)
    at /var/tmp/portage/net-libs/libmsn-4.0_beta8/work/libmsn-4.0-beta8/msn/notificationserver.cpp:1183
#24 0xb3e2ef38 in WlmServer::WlmConnect (this=0x8597628, server=@0xbfdbe90c, port=1863) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/protocols/wlm/wlmserver.cpp:43
#25 0xb3e1d8c9 in WlmAccount::connectWithPassword (this=0x8341ab0, pass=@0xbfdbeaec) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/protocols/wlm/wlmaccount.cpp:288
#26 0xb7d0d1e7 in Kopete::PasswordedAccount::qt_metacall (this=0x8341ab0, _c=QMetaObject::InvokeMetaMethod, _id=25, _a=0xbfdbea88)
    at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1_build/kopete/libkopete/kopetepasswordedaccount.moc:69
#27 0xb3e280c8 in WlmAccount::qt_metacall (this=0x8341ab0, _c=QMetaObject::InvokeMetaMethod, _id=25, _a=0xbfdbea88)
    at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1_build/kopete/protocols/wlm/wlmaccount.moc:150
#28 0x4e03bf59 in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>)
    at kernel/qobject.cpp:3101
#29 0x4e03c49e in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=) at kernel/qobject.cpp:3178
#30 0xb7d09c00 in KopetePasswordRequestBase::requestFinished (this=0x83c48d8, _t1=@0xbfdbeaec)
    at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1_build/kopete/libkopete/kopetepassword.moc:147
#31 0xb7d0ce7d in KopetePasswordGetRequestPrompt::processRequest (this=0x83c48d8) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/libkopete/kopetepassword.cpp:152
#32 0xb7d0b5b1 in KopetePasswordRequest::walletReceived (this=0x83c48d8, wallet=0x8348128) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/libkopete/kopetepassword.cpp:98
#33 0xb7d09cce in KopetePasswordRequestBase::qt_metacall (this=0x83c48d8, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xbfdbec68)
    at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1_build/kopete/libkopete/kopetepassword.moc:133
#34 0x4e03bf59 in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>)
    at kernel/qobject.cpp:3101
#35 0x4e03c49e in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=) at kernel/qobject.cpp:3178
#36 0xb7d238ef in KopeteWalletSignal::walletOpened (this=0x830eaf8, _t1=0x8348128) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1_build/kopete/libkopete/kopetewalletmanager.moc:148
#37 0xb7d23920 in Kopete::WalletManager::emitWalletOpened (this=0xb7d6fe68, wallet=0x8348128) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/libkopete/kopetewalletmanager.cpp:184
#38 0xb7d23e79 in Kopete::WalletManager::slotWalletChangedStatus (this=0xb7d6fe68) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/libkopete/kopetewalletmanager.cpp:143
#39 0xb7d24d7e in Kopete::WalletManager::qt_metacall (this=0xb7d6fe68, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbfdbee38)
    at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1_build/kopete/libkopete/kopetewalletmanager.moc:75
#40 0x4e03bf59 in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>)
    at kernel/qobject.cpp:3101
#41 0x4e03c49e in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=) at kernel/qobject.cpp:3178
#42 0xb773f591 in KWallet::Wallet::walletOpened (this=0x8348128, _t1=true) at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1_build/kdeui/kwallet.moc:139
#43 0xb773f834 in KWallet::Wallet::walletAsyncOpened (this=0x8348128, tId=4, handle=41762636) at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1/kdeui/util/kwallet.cpp:724
#44 0xb7740620 in KWallet::Wallet::qt_metacall (this=0x8348128, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0xbfdbef74)
    at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1_build/kdeui/kwallet.moc:99
#45 0x4e03bf59 in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>)
    at kernel/qobject.cpp:3101
#46 0x4e03c49e in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=) at kernel/qobject.cpp:3178
#47 0xb780b93f in OrgKdeKWalletInterface::walletAsyncOpened (this=0x8353fe8, _t1=4, _t2=41762636) at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1_build/kdeui/kwallet_interface.moc:300
#48 0xb780c120 in OrgKdeKWalletInterface::qt_metacall (this=0x8353fe8, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfdbf620)
    at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1_build/kdeui/kwallet_interface.moc:176
#49 0x4e3583c9 in QDBusConnectionPrivate::deliverCall (this=<value optimized out>, object=<value optimized out>, msg=<value optimized out>, metaTypes=<value optimized out>, 
    slotIdx=<value optimized out>) at qdbusintegrator.cpp:891
#50 0x4e35e831 in QDBusCallDeliveryEvent::placeMetaCall (this=) at qdbusintegrator_p.h:101
#51 0x4e039308 in QObject::event (this=<value optimized out>, e=<value optimized out>) at kernel/qobject.cpp:1099
#52 0xb6b4f22b in QApplicationPrivate::notify_helper (this=0x809fef0, receiver=0x8353fe8, e=0x82d8298) at kernel/qapplication.cpp:4056
#53 0xb6b54b6e in QApplication::notify (this=0xbfdbfe04, receiver=0x8353fe8, e=0x82d8298) at kernel/qapplication.cpp:3603
#54 0xb76b85b0 in KApplication::notify (this=0xbfdbfe04, receiver=0x8353fe8, event=0x82d8298) at /var/tmp/portage/kde-base/kdelibs-4.3.1/work/kdelibs-4.3.1/kdeui/kernel/kapplication.cpp:302
#55 0x4e02adb2 in QCoreApplication::notifyInternal (this=) at kernel/qcoreapplication.cpp:606
#56 0x4e02b623 in QCoreApplicationPrivate::sendPostedEvents (receiver=<value optimized out>, event_type=<value optimized out>, data=<value optimized out>) at kernel/qcoreapplication.h:213
#57 0x4e02b799 in QCoreApplication::sendPostedEvents (receiver=) at kernel/qcoreapplication.cpp:1140
#58 0x4e04fe01 in postEventSourceDispatch (s=) at kernel/qcoreapplication.h:218
#59 0xb66c6cda in IA__g_main_context_dispatch (context=0x80a2c90) at gmain.c:1824
#60 0xb66c9f4a in g_main_context_iterate (context=0x80a2c90, block=<value optimized out>, dispatch=1, self=0x80a11a8) at gmain.c:2455
#61 0xb66ca062 in IA__g_main_context_iteration (context=0x80a2c90, may_block=1) at gmain.c:2518
#62 0x4e04faa4 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#63 0xb6bd68df in QGuiEventDispatcherGlib::processEvents (this=0x8080480, flags={i = 36}) at kernel/qguieventdispatcher_glib.cpp:202
#64 0x4e0297e0 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#65 0x4e02998d in QEventLoop::exec (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:197
#66 0x4e02b846 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#67 0xb6b4f0e3 in QApplication::exec () at kernel/qapplication.cpp:3525
#68 0x0805a4fc in main (argc=3, argv=0xbfdc0214) at /var/tmp/portage/kde-base/kopete-4.3.1/work/kopete-4.3.1/kopete/kopete/main.cpp:104

Reported using DrKonqi
Comment 1 Dario Andres 2009-09-23 03:07:42 UTC
Downgrade to libmsn beta6 to workaround this crashes. Thanks
Bug 207082 could be related?.
Comment 2 Andrés Becerra 2009-09-24 23:27:38 UTC
(In reply to comment #1)
> Downgrade to libmsn beta6 to workaround this crashes. Thanks
> Bug 207082 could be related?.

It appears to be solved by the downgrade.
Comment 3 Andrés Becerra 2009-09-29 16:49:56 UTC

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