Application: akonadi_imap_resource (0.1) KDE Platform Version: 4.5.85 (4.6 Beta2) (Compiled from sources) Qt Version: 4.7.2 Operating System: FreeBSD 8.2-PRERELEASE amd64 -- Information about the crash: - What I was doing when the application crashed: KMail2 was syncing one of my IMAP accounts when I closed it. After it quit, DrKonqi showed up. -- Backtrace: Application: Akonadi Resource (akonadi_imap_resource), signal: Abort trap: 6 [Switching to Thread 809b1c380 (LWP 100252)] [Current thread is 1 (Thread 809b1c380 (LWP 100252))] Thread 3 (Thread 809a041c0 (LWP 100305)): [KCrash Handler] #7 0x000000080483fafc in thr_kill () from /lib/libc.so.7 #8 0x00000008048d5393 in abort () from /lib/libc.so.7 #9 0x0000000800d38428 in qt_message_output (msgType=QtFatalMsg, buf=0x80e107e18 "ASSERT failure in createItemSyncInstance: \"Calling items retrieval methods although no item retrieval is in progress\", file /home/rakuco/kde4/src/kdepimlibs/akonadi/resourcebase.cpp, line 139") at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/global/qglobal.cpp:2282 #10 0x0000000800d385eb in qt_message (msgType=QtFatalMsg, msg=0x800f06538 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fffffffca70) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/global/qglobal.cpp:2328 #11 0x0000000800d38704 in qFatal (msg=0x800f06538 "ASSERT failure in %s: \"%s\", file %s, line %d") at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/global/qglobal.cpp:2511 #12 0x0000000800d3874a in qt_assert_x (where=0x8008e8222 "createItemSyncInstance", what=0x8008e81d8 "Calling items retrieval methods although no item retrieval is in progress", file=0x8008e80a8 "/home/rakuco/kde4/src/kdepimlibs/akonadi/resourcebase.cpp", line=139) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/global/qglobal.cpp:2035 #13 0x000000080085e579 in Akonadi::ResourceBasePrivate::createItemSyncInstanceIfMissing (this=0x80b8439c0) at /home/rakuco/kde4/src/kdepimlibs/akonadi/resourcebase.cpp:138 #14 0x00000008008584b6 in Akonadi::ResourceBase::itemsRetrieved (this=0x80b825f10, items=@0x7fffffffcd20) at /home/rakuco/kde4/src/kdepimlibs/akonadi/resourcebase.cpp:758 #15 0x0000000000429e04 in ResourceState::itemsRetrieved (this=0x80e11fe80, items=@0x7fffffffcd20) at /home/rakuco/kde4/src/kdepim/runtime/resources/imap/resourcestate.cpp:329 #16 0x000000000045a682 in ResourceTask::itemsRetrieved (this=0x80e01e560, items=@0x7fffffffcd20) at /home/rakuco/kde4/src/kdepim/runtime/resources/imap/resourcetask.cpp:240 #17 0x0000000000465d54 in RetrieveItemsTask::onFlagsReceived (this=0x80e01e560, mailBox=@0x80f1f7b08, uids=@0x80f1f7b50, sizes=@0x80f1f7b48, flags=@0x80f1f7b40, messages=@0x80f1f7b30) at /home/rakuco/kde4/src/kdepim/runtime/resources/imap/retrieveitemstask.cpp:401 #18 0x00000000004681fa in RetrieveItemsTask::qt_metacall (this=0x80e01e560, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffcf90) at retrieveitemstask.moc:92 #19 0x0000000800e7de32 in QMetaObject::metacall (object=0x80e01e560, cl=QMetaObject::InvokeMetaMethod, idx=12, argv=0x7fffffffcf90) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qmetaobject.cpp:237 #20 0x0000000800e9375d in QMetaObject::activate (sender=0x80f3458c0, m=0x5a6690, local_signal_index=0, argv=0x7fffffffcf90) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qobject.cpp:3278 #21 0x00000008025c1018 in KIMAP::FetchJob::headersReceived (this=0x80f3458c0, _t1=@0x80f1f7b08, _t2=@0x80f1f7b50, _t3=@0x80f1f7b48, _t4=@0x80f1f7b40, _t5=@0x80f1f7b30) at fetchjob.moc:101 #22 0x00000008025c654f in KIMAP::FetchJobPrivate::emitPendings (this=0x80f1f7ac0) at /home/rakuco/kde4/src/kdepimlibs/kimap/fetchjob.cpp:57 #23 0x00000008025c1173 in KIMAP::FetchJob::qt_metacall (this=0x80f3458c0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fffffffd120) at fetchjob.moc:89 #24 0x0000000800e7de32 in QMetaObject::metacall (object=0x80f3458c0, cl=QMetaObject::InvokeMetaMethod, idx=29, argv=0x7fffffffd120) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qmetaobject.cpp:237 #25 0x0000000800e9375d in QMetaObject::activate (sender=0x80f1f7b10, m=0x80109f720, local_signal_index=0, argv=0x0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qobject.cpp:3278 #26 0x0000000800f01976 in QTimer::timeout (this=0x80f1f7b10) at .moc/debug-shared/moc_qtimer.cpp:134 #27 0x0000000800e9ee0c in QTimer::timerEvent (this=0x80f1f7b10, e=0x7fffffffdcd0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qtimer.cpp:271 #28 0x0000000800e90772 in QObject::event (this=0x80f1f7b10, e=0x7fffffffdcd0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qobject.cpp:1181 #29 0x00000008015a6fa1 in QApplicationPrivate::notify_helper (this=0x809a04540, receiver=0x80f1f7b10, e=0x7fffffffdcd0) at /usr/home/rakuco/kde4/src/qt-copy/src/gui/kernel/qapplication.cpp:4462 #30 0x00000008015a7442 in QApplication::notify (this=0x7fffffffe170, receiver=0x80f1f7b10, e=0x7fffffffdcd0) at /usr/home/rakuco/kde4/src/qt-copy/src/gui/kernel/qapplication.cpp:3862 #31 0x00000008037639f2 in KApplication::notify (this=0x7fffffffe170, receiver=0x80f1f7b10, event=0x7fffffffdcd0) at /home/rakuco/kde4/src/kdelibs/kdeui/kernel/kapplication.cpp:311 #32 0x0000000800e75740 in QCoreApplication::notifyInternal (this=0x7fffffffe170, receiver=0x80f1f7b10, event=0x7fffffffdcd0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:731 #33 0x0000000800e7ae5b in QCoreApplication::sendEvent (receiver=0x80f1f7b10, event=0x7fffffffdcd0) at qcoreapplication.h:215 #34 0x0000000800eb7b58 in QTimerInfoList::activateTimers (this=0x809a38d20) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:603 #35 0x0000000800eb4fe4 in timerSourceDispatch (source=0x809a38cc0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:184 #36 0x0000000800eb5023 in idleTimerSourceDispatch (source=0x809a3b780) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:231 #37 0x0000000804f06d0e in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0 #38 0x0000000804f0a07e in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.0 #39 0x0000000804f0a662 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0 #40 0x0000000800eb3d05 in QEventDispatcherGlib::processEvents (this=0x809a13890, flags=@0x7fffffffdf70) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:422 #41 0x000000080169f857 in QGuiEventDispatcherGlib::processEvents (this=0x809a13890, flags=@0x7fffffffdfd0) at /usr/home/rakuco/kde4/src/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:204 #42 0x0000000800e71e60 in QEventLoop::processEvents (this=0x7fffffffe0a0, flags=@0x7fffffffe030) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventloop.cpp:149 #43 0x0000000800e7208b in QEventLoop::exec (this=0x7fffffffe0a0, flags=@0x7fffffffe0b0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventloop.cpp:201 #44 0x0000000800e76141 in QCoreApplication::exec () at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:1008 #45 0x00000008015a9dd6 in QApplication::exec () at /usr/home/rakuco/kde4/src/qt-copy/src/gui/kernel/qapplication.cpp:3736 #46 0x000000080085be70 in Akonadi::ResourceBase::init (r=0x80b825f10) at /home/rakuco/kde4/src/kdepimlibs/akonadi/resourcebase.cpp:283 #47 0x0000000000429248 in Akonadi::ResourceBase::init<ImapResource> (argc=3, argv=0x7fffffffe238) at resourcebase.h:188 #48 0x00000000004266fb in main (argc=3, argv=0x7fffffffe238) at /home/rakuco/kde4/src/kdepim/runtime/resources/imap/imapresource.cpp:580 Thread 2 (Thread 809b1c8c0 (LWP 100320)): #0 0x00000008048be8ce in clock_gettime () from /lib/libc.so.7 #1 0x0000000800db53a3 in do_gettime (sec=0x7fffffbfeab8, frac=0x7fffffbfeab0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/tools/qelapsedtimer_unix.cpp:123 #2 0x0000000800db54c5 in qt_gettime () at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/tools/qelapsedtimer_unix.cpp:140 #3 0x0000000800eb78a6 in QTimerInfoList::updateCurrentTime (this=0x809b315e0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:339 #4 0x0000000800eb7e39 in QTimerInfoList::timerWait (this=0x809b315e0, tm=@0x7fffffbfebd0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:442 #5 0x0000000800eb51d7 in timerSourcePrepareHelper (src=0x809b31580, timeout=0x7fffffbfec64) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:136 #6 0x0000000800eb532d in timerSourcePrepare (source=0x809b31580, timeout=0x7fffffbfec64) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:169 #7 0x0000000804f09a22 in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.0 #8 0x0000000804f09de8 in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.0 #9 0x0000000804f0a662 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0 #10 0x0000000800eb3d23 in QEventDispatcherGlib::processEvents (this=0x809b2c540, flags=@0x7fffffbfedc0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:424 #11 0x0000000800e71e60 in QEventLoop::processEvents (this=0x7fffffbfeea0, flags=@0x7fffffbfee20) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventloop.cpp:149 #12 0x0000000800e7208b in QEventLoop::exec (this=0x7fffffbfeea0, flags=@0x7fffffbfeec0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventloop.cpp:201 #13 0x0000000800d4339b in QThread::exec (this=0x809b19060) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/thread/qthread.cpp:492 #14 0x00000008025d9b5b in KIMAP::SessionThread::run (this=0x809b19060) at /home/rakuco/kde4/src/kdepimlibs/kimap/sessionthread.cpp:166 #15 0x0000000800d4829e in QThreadPrivate::start (arg=0x809b19060) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/thread/qthread_unix.cpp:320 #16 0x00000008011232d1 in pthread_getprio () from /lib/libthr.so.3 #17 0x0000000000000000 in ?? () Thread 1 (Thread 809b1c380 (LWP 100252)): #0 0x00000008048be8cc in clock_gettime () from /lib/libc.so.7 #1 0x0000000800db53a3 in do_gettime (sec=0x7fffff7fcab8, frac=0x7fffff7fcab0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/tools/qelapsedtimer_unix.cpp:123 #2 0x0000000800db54c5 in qt_gettime () at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/tools/qelapsedtimer_unix.cpp:140 #3 0x0000000800eb78a6 in QTimerInfoList::updateCurrentTime (this=0x80e129b60) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:339 #4 0x0000000800eb7e39 in QTimerInfoList::timerWait (this=0x80e129b60, tm=@0x7fffff7fcbd0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:442 #5 0x0000000800eb51d7 in timerSourcePrepareHelper (src=0x80e129b00, timeout=0x7fffff7fcc64) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:136 #6 0x0000000800eb532d in timerSourcePrepare (source=0x80e129b00, timeout=0x7fffff7fcc64) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:169 #7 0x0000000804f09a22 in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.0 #8 0x0000000804f09de8 in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.0 #9 0x0000000804f0a662 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0 #10 0x0000000800eb3d23 in QEventDispatcherGlib::processEvents (this=0x80b840d40, flags=@0x7fffff7fcdc0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:424 #11 0x0000000800e71e60 in QEventLoop::processEvents (this=0x7fffff7fcea0, flags=@0x7fffff7fce20) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventloop.cpp:149 #12 0x0000000800e7208b in QEventLoop::exec (this=0x7fffff7fcea0, flags=@0x7fffff7fcec0) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/kernel/qeventloop.cpp:201 #13 0x0000000800d4339b in QThread::exec (this=0x80e0d2510) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/thread/qthread.cpp:492 #14 0x00000008025d9b5b in KIMAP::SessionThread::run (this=0x80e0d2510) at /home/rakuco/kde4/src/kdepimlibs/kimap/sessionthread.cpp:166 #15 0x0000000800d4829e in QThreadPrivate::start (arg=0x80e0d2510) at /usr/home/rakuco/kde4/src/qt-copy/src/corelib/thread/qthread_unix.cpp:320 #16 0x00000008011232d1 in pthread_getprio () from /lib/libthr.so.3 #17 0x0000000000000000 in ?? () Reported using DrKonqi
FWIW, akonadi is enterprise5.0-20101203-13-g446e74a, kdepimlibs is r1206271 and kdepim is r1206271 (both trunk).
*** Bug 256820 has been marked as a duplicate of this bug. ***
*** Bug 250705 has been marked as a duplicate of this bug. ***
*** Bug 252789 has been marked as a duplicate of this bug. ***
Created attachment 59356 [details] New crash information added by DrKonqi akonadi_imap_resource (0.1) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2 - What I was doing when the application crashed: closed kmail2 while imap was syncing - Custom settings of the application: set resource offline when kmail is closed is enabled -- Backtrace (Reduced): #11 0x00007f55494a7514 in Akonadi::ResourceBasePrivate::createItemSyncInstanceIfMissing (this=0x869080) at /home/chrigi/devel/kde/kdepimlibs/akonadi/resourcebase.cpp:150 #12 0x00007f55494a5a5a in Akonadi::ResourceBase::itemsRetrieved (this=0x870030, items=...) at /home/chrigi/devel/kde/kdepimlibs/akonadi/resourcebase.cpp:869 #13 0x000000000042c6b3 in ResourceState::itemsRetrieved (this=0x930e60, items=...) at /home/chrigi/devel/kde/kdepim-runtime/resources/imap/resourcestate.cpp:331 #14 0x00000000004568c9 in ResourceTask::itemsRetrieved (this=0xa67290, items=...) at /home/chrigi/devel/kde/kdepim-runtime/resources/imap/resourcetask.cpp:240 #15 0x00000000004637e3 in RetrieveItemsTask::onFlagsReceived (this=0xa67290, mailBox=..., uids=..., sizes=..., flags=..., messages=...) at /home/chrigi/devel/kde/kdepim-runtime/resources/imap/retrieveitemstask.cpp:406
reproduced in master after: - setting up a dimap account in akonadiconsole, - while the messages are synced, edit the resource settings and unsubscribe some folders output: akonadi_imap_resource_2(16970) ImapResource::doSetOnline: online= false akonadi_imap_resource_2(16970) ImapResource::doSetOnline: online= true ASSERT failure in createItemSyncInstance: "Calling items retrieval methods although no item retrieval is in progress", file /kde/src/kdepimlibs/akonadi/resourcebase.cpp, line 155 Lost connection to resource "org.freedesktop.Akonadi.Resource.akonadi_imap_resource_2" , discarding cached interface void Akonadi::NotificationSource::serviceUnregistered(const QString&) Notification source "akonadi_imap_resource_2" now serving: () void Akonadi::NotificationSource::unsubscribe() "akonadi_imap_resource_2" KCrash: Application 'akonadi_imap_resource' crashing... KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit sock_file=/home/krop/.kde/socket-yuuko/kdeinit4__0 QSocketNotifier: Invalid socket 22 and type 'Read', disabling... QSocketNotifier: Invalid socket 23 and type 'Write', disabling... QSocketNotifier: Invalid socket 16 and type 'Read', disabling... The stream parser raised an exception: Unable to read more data "Cannot connect to agent instance with identifier 'akonadi_imap_resource_2', error message: 'Could not get owner of name 'org.freedesktop.Akonadi.Resource.akonadi_imap_resource_2': no such name'" #11 0x00007f3a83aa8d6e in qt_assert_x (where=<optimized out>, what=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:2044 #12 0x00007f3a842bbc1c in Akonadi::ResourceBasePrivate::createItemSyncInstanceIfMissing (this=0x791070) at /kde/src/kdepimlibs/akonadi/resourcebase.cpp:154 #13 0x00007f3a842ba138 in Akonadi::ResourceBase::itemsRetrieved (this=0x878b10, items=...) at /kde/src/kdepimlibs/akonadi/resourcebase.cpp:888 #14 0x0000000000420cdb in ResourceState::itemsRetrieved (this=0x9adc80, items=...) at /kde/src/kdepim-runtime/resources/imap/resourcestate.cpp:331 #15 0x000000000044bae1 in ResourceTask::itemsRetrieved (this=0xbf1ef0, items=...) at /kde/src/kdepim-runtime/resources/imap/resourcetask.cpp:240 #16 0x00000000004589df in RetrieveItemsTask::onHeadersReceived (this=0xbf1ef0, mailBox=..., uids=..., sizes=..., flags=..., messages=...) at /kde/src/kdepim-runtime/resources/imap/retrieveitemstask.cpp:361 #17 0x00000000004592cf in RetrieveItemsTask::qt_metacall (this=0xbf1ef0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff18450250) at /kde/build/kdepim-runtime/resources/imap/retrieveitemstask.moc:90 #18 0x00007f3a83bab3fa in QMetaObject::activate (sender=0x9d50d0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff18450250) at kernel/qobject.cpp:3287 #19 0x00007f3a8280df1a in KIMAP::FetchJob::headersReceived (this=0x9d50d0, _t1=..., _t2=..., _t3=..., _t4=..., _t5=...) at /kde/build/kdepimlibs/kimap/fetchjob.moc:101 #20 0x00007f3a8280ebaf in KIMAP::FetchJobPrivate::emitPendings (this=0x9f5a30) at /kde/src/kdepimlibs/kimap/fetchjob.cpp:57 #21 0x00007f3a8280de91 in KIMAP::FetchJob::qt_metacall (this=0x9d50d0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff18450320) at /kde/build/kdepimlibs/kimap/fetchjob.moc:89 #22 0x00007f3a83bab3fa in QMetaObject::activate (sender=0x9f5a80, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3287
Created attachment 64487 [details] New crash information added by DrKonqi akonadi_imap_resource (.) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt 4.7.4 - What I was doing when the application crashed: Changed the serverside subscription (added some folders) -- Backtrace (Reduced): #11 0x00007f6215308096 in Akonadi::ResourceBasePrivate::createItemSyncInstanceIfMissing (this=0x1353c00) at /home/chrigi/devel/kde/kdepimlibs/akonadi/resourcebase.cpp:154 #12 0x00007f62153066a0 in Akonadi::ResourceBase::itemsRetrieved (this=0x135dae0, items=...) at /home/chrigi/devel/kde/kdepimlibs/akonadi/resourcebase.cpp:892 #13 0x0000000000420cfb in ResourceState::itemsRetrieved (this=0x18f62d0, items=...) at /home/chrigi/devel/kde/kdepim-runtime/resources/imap/resourcestate.cpp:331 #14 0x000000000044bb15 in ResourceTask::itemsRetrieved (this=0x17df440, items=...) at /home/chrigi/devel/kde/kdepim-runtime/resources/imap/resourcetask.cpp:240 #15 0x000000000045900b in RetrieveItemsTask::onFlagsReceived (this=0x17df440, mailBox=..., uids=..., sizes=..., flags=..., messages=...) at /home/chrigi/devel/kde/kdepim-runtime/resources/imap/retrieveitemstask.cpp:416
I was able to trigger this one by simply doing "RMB / Toggle offline-online" on akonadiconsole, on an imap resource while it was syncing. If that helps...
my fix for this would be to do a conditional check instead of an assert. in fact, i've been doing just that in my local sandbox for a few weeks.
I committed a version of my fix mentioned in Comment #9 for 4.8. so closing this one.