Bug 269490

Summary: crash when exit
Product: [Applications] rekonq Reporter: Usul <muad.dib8>
Component: generalAssignee: Andrea Diamantini <adjam7>
Status: RESOLVED FIXED    
Severity: crash CC: alberto, gleirsch, ivaylo.kabakov, jesus1989_p, kivech.brach, koepke, marvinracic2011, panfaust, rayusa35058, smelloftheunderground, web
Priority: NOR    
Version: 0.6.95   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi

Description Usul 2011-03-26 21:34:00 UTC
Application: rekonq (0.6.95)
KDE Platform Version: 4.6.1 (4.6.1)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-7-generic i686
Distribution: Ubuntu Natty (development branch)

-- Information about the crash:
Rekonq crashed when I wanted to leave application by clicking on the button to "leave ".

-- Backtrace:
Application: rekonq (rekonq), signal: Segmentation fault
[Current thread is 1 (Thread 0xb783e710 (LWP 4739))]

Thread 7 (Thread 0xb55fbb70 (LWP 4740)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x0048848c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x006e52bd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x01767b57 in scavengerThread (context=0x1d18700) at wtf/FastMalloc.cpp:2378
#4  WTF::TCMalloc_PageHeap::runScavengerThread (context=0x1d18700) at wtf/FastMalloc.cpp:1497
#5  0x00483e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#6  0x006d75fe in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 6 (Thread 0xb4ccab70 (LWP 4741)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x0048848c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x006e52bd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x00298817 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x3ac1c0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0x00298851 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x3ac1c0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0x00483e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#6  0x006d75fe in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 5 (Thread 0xb4160b70 (LWP 4742)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x0048848c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x006e52bd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x03a4c467 in wait (this=0xa0fe3d0, mutex=0xa10d1c0, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0xa0fe3d0, mutex=0xa10d1c0, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x003d77e0 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa0fe3b8, th=0xa5f91a0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x003da47c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa10d280, th=0xa5f91a0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x003d742b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0xa0fe3b8, th=0xa5f91a0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x003da56a in ThreadWeaver::WorkingHardState::applyForWork (this=0xa10d280, th=0xa5f91a0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x003d7373 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa0fe3b8, th=0xa5f91a0, previous=0xa6c45b8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x003d8f9e in ThreadWeaver::ThreadRunHelper::run (this=0xb41602f4, parent=0xa0fe3b8, th=0xa5f91a0) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x003d905b in ThreadWeaver::Thread::run (this=0xa5f91a0) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x03a4bda2 in QThreadPrivate::start (arg=0xa5f91a0) at thread/qthread_unix.cpp:320
#13 0x00483e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x006d75fe in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 4 (Thread 0xb365db70 (LWP 4743)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x0048848c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x006e52bd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x03a4c467 in wait (this=0xa0fe3d0, mutex=0xa10d1c0, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0xa0fe3d0, mutex=0xa10d1c0, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x003d77e0 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa0fe3b8, th=0xa6c5c98) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x003da47c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa10d280, th=0xa6c5c98) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x003d742b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0xa0fe3b8, th=0xa6c5c98) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x003da56a in ThreadWeaver::WorkingHardState::applyForWork (this=0xa10d280, th=0xa6c5c98) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x003d7373 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa0fe3b8, th=0xa6c5c98, previous=0xa5a2100) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x003d8f9e in ThreadWeaver::ThreadRunHelper::run (this=0xb365d2f4, parent=0xa0fe3b8, th=0xa6c5c98) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x003d905b in ThreadWeaver::Thread::run (this=0xa6c5c98) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x03a4bda2 in QThreadPrivate::start (arg=0xa6c5c98) at thread/qthread_unix.cpp:320
#13 0x00483e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x006d75fe in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xb2cbab70 (LWP 4744)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x0048848c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x006e52bd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x03a4c467 in wait (this=0xa0fe3d0, mutex=0xa10d1c0, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0xa0fe3d0, mutex=0xa10d1c0, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x003d77e0 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa0fe3b8, th=0xa6b7cf8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x003da47c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa10d280, th=0xa6b7cf8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x003d742b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0xa0fe3b8, th=0xa6b7cf8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x003da56a in ThreadWeaver::WorkingHardState::applyForWork (this=0xa10d280, th=0xa6b7cf8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x003d7373 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa0fe3b8, th=0xa6b7cf8, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x003d8f9e in ThreadWeaver::ThreadRunHelper::run (this=0xb2cba2f4, parent=0xa0fe3b8, th=0xa6b7cf8) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x003d905b in ThreadWeaver::Thread::run (this=0xa6b7cf8) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x03a4bda2 in QThreadPrivate::start (arg=0xa6b7cf8) at thread/qthread_unix.cpp:320
#13 0x00483e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x006d75fe in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xb10feb70 (LWP 4747)):
#0  0x027ded41 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0x03aa1dd8 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0x03b6e4f2 in updateCurrentTime (this=0xa76e8c4, tm=...) at kernel/qeventdispatcher_unix.cpp:339
#4  QTimerInfoList::timerWait (this=0xa76e8c4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x03b6cd32 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb10fe0dc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x03b6cdcd in timerSourcePrepare (source=0xa76e890, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0x03041fd4 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x03042e63 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0x03043524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0x03b6d577 in QEventDispatcherGlib::processEvents (this=0xa76e960, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0x03b3f289 in QEventLoop::processEvents (this=0xb10fe290, flags=...) at kernel/qeventloop.cpp:149
#12 0x03b3f522 in QEventLoop::exec (this=0xb10fe290, flags=...) at kernel/qeventloop.cpp:201
#13 0x03a492a0 in QThread::exec (this=0xa761150) at thread/qthread.cpp:492
#14 0x03b20fdb in QInotifyFileSystemWatcherEngine::run (this=0xa761150) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x03a4bda2 in QThreadPrivate::start (arg=0xa761150) at thread/qthread_unix.cpp:320
#16 0x00483e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0x006d75fe in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb783e710 (LWP 4739)):
[KCrash Handler]
#7  0x020669ca in QRasterWindowSurface::~QRasterWindowSurface (this=0xb63f178, __in_chrg=<value optimized out>) at painting/qwindowsurface_raster.cpp:104
#8  0x02066a62 in QRasterWindowSurface::~QRasterWindowSurface (this=0xb63f178, __in_chrg=<value optimized out>) at painting/qwindowsurface_raster.cpp:108
#9  0x02082631 in QWidgetBackingStore::~QWidgetBackingStore (this=0xb90a0a8, __in_chrg=<value optimized out>) at painting/qbackingstore.cpp:883
#10 0x01ea786b in QWidgetBackingStoreTracker::destroy (this=0xb9a9af0) at kernel/qwidget.cpp:210
#11 0x01ea79c1 in QWidgetPrivate::deleteExtra (this=0xa74b9a0) at kernel/qwidget.cpp:1776
#12 0x01ea7bee in QWidgetPrivate::~QWidgetPrivate (this=0xa74b9a0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:337
#13 0x022eb02f in ~QMenuPrivate (this=0xa74b9a0, __in_chrg=<value optimized out>) at widgets/qmenu_p.h:171
#14 QMenuPrivate::~QMenuPrivate (this=0xa74b9a0, __in_chrg=<value optimized out>) at widgets/qmenu_p.h:183
#15 0x03b583f0 in cleanup (this=0xa76b088, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:62
#16 ~QScopedPointer (this=0xa76b088, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:100
#17 QObject::~QObject (this=0xa76b088, __in_chrg=<value optimized out>) at kernel/qobject.cpp:818
#18 0x01eaa1d9 in QWidget::~QWidget (this=0xa76b088, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1508
#19 0x022e2a3a in QMenu::~QMenu (this=0xa76b088, __in_chrg=<value optimized out>) at widgets/qmenu.cpp:1391
#20 0x08a20e14 in KMenu::~KMenu (this=0xa76b088, __in_chrg=<value optimized out>) at ../../kdeui/widgets/kmenu.cpp:164
#21 0x08a20e52 in KMenu::~KMenu (this=0xa76b088, __in_chrg=<value optimized out>) at ../../kdeui/widgets/kmenu.cpp:167
#22 0x08852c18 in KActionMenu::~KActionMenu (this=0xa739d60, __in_chrg=<value optimized out>) at ../../kdeui/actions/kactionmenu.cpp:77
#23 0x07bac40e in KBookmarkActionMenu::~KBookmarkActionMenu (this=0xa739d60, __in_chrg=<value optimized out>) at ../../kio/bookmarks/kbookmarkmenu.cc:761
#24 0x07bac452 in KBookmarkActionMenu::~KBookmarkActionMenu (this=0xa739d60, __in_chrg=<value optimized out>) at ../../kio/bookmarks/kbookmarkmenu.cc:763
#25 0x03b53b87 in QObjectPrivate::deleteChildren (this=0xb8f6658) at kernel/qobject.cpp:1964
#26 0x03b5839f in QObject::~QObject (this=0xa6cc418, __in_chrg=<value optimized out>) at kernel/qobject.cpp:946
#27 0x07baf4e7 in KBookmarkMenu::~KBookmarkMenu (this=0xa6cc418, __in_chrg=<value optimized out>) at ../../kio/bookmarks/kbookmarkmenu.cc:138
#28 0x00973105 in BookmarkMenu::~BookmarkMenu (this=0xa6cc418, __in_chrg=<value optimized out>) at /build/buildd/rekonq-0.6.95/src/bookmarks/bookmarkstoolbar.cpp:63
#29 0x00973192 in BookmarkMenu::~BookmarkMenu (this=0xa6cc418, __in_chrg=<value optimized out>) at /build/buildd/rekonq-0.6.95/src/bookmarks/bookmarkstoolbar.cpp:66
#30 0x0096e0d6 in qDeleteAll<QList<BookmarkMenu*>::const_iterator> (this=0xa264028, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:322
#31 qDeleteAll<QList<BookmarkMenu*> > (this=0xa264028, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:330
#32 BookmarkProvider::~BookmarkProvider (this=0xa264028, __in_chrg=<value optimized out>) at /build/buildd/rekonq-0.6.95/src/bookmarks/bookmarkprovider.cpp:98
#33 0x0096e152 in BookmarkProvider::~BookmarkProvider (this=0xa264028, __in_chrg=<value optimized out>) at /build/buildd/rekonq-0.6.95/src/bookmarks/bookmarkprovider.cpp:100
#34 0x03b53b87 in QObjectPrivate::deleteChildren (this=0xa06aac0) at kernel/qobject.cpp:1964
#35 0x03b5839f in QObject::~QObject (this=0xbfb4f000, __in_chrg=<value optimized out>) at kernel/qobject.cpp:946
#36 0x03b42f02 in QCoreApplication::~QCoreApplication (this=0xbfb4f000, __in_chrg=<value optimized out>) at kernel/qcoreapplication.cpp:615
#37 0x01e60a26 in QApplication::~QApplication (this=0xbfb4f000, __in_chrg=<value optimized out>) at kernel/qapplication.cpp:1080
#38 0x08941d4a in KApplication::~KApplication (this=0xbfb4f000, __in_chrg=<value optimized out>) at ../../kdeui/kernel/kapplication.cpp:892
#39 0x089499a8 in KUniqueApplication::~KUniqueApplication (this=0xbfb4f000, __in_chrg=<value optimized out>) at ../../kdeui/kernel/kuniqueapplication.cpp:343
#40 0x00917ab5 in Application::~Application (this=0xbfb4f000, __in_chrg=<value optimized out>) at /build/buildd/rekonq-0.6.95/src/application.cpp:84
#41 0x009a9ae1 in kdemain (argc=1, argv=0xbfb4f324) at /build/buildd/rekonq-0.6.95/src/main.cpp:213
#42 0x080485bb in main (argc=1, argv=0xbfb4f324) at /build/buildd/rekonq-0.6.95/obj-i686-linux-gnu/src/rekonq_dummy.cpp:3

Possible duplicates by query: bug 268936, bug 255081.

Reported using DrKonqi
Comment 1 Andrea Diamantini 2011-03-27 10:52:38 UTC
Git commit fba0b940cb63f83425ff978bab9774adfbc04f88 by Andrea Diamantini.
Committed on 27/03/2011 at 10:57.
Pushed by adjam into branch 'master'.

Untrack the bookmarks menu list and set a parent to automagically
delete it as object child

CCBUG:269490

M  +8    -9    src/bookmarks/bookmarkprovider.cpp     
M  +0    -1    src/bookmarks/bookmarkprovider.h     

http://commits.kde.org/rekonq/fba0b940cb63f83425ff978bab9774adfbc04f88
Comment 2 José Manuel Santamaría Lema 2011-04-05 02:49:56 UTC
*** Bug 268936 has been marked as a duplicate of this bug. ***
Comment 3 José Manuel Santamaría Lema 2011-04-05 03:23:10 UTC
Hi,

the above commit didnn't fix the problem; I can reproduce it with rekonq 0.7.0 thusly:
1. Open rekonq.
2. Click on a bookmark located inside a bookmark folder.
3. Exit the application.

I'm submitting a patch to the reviewboard to fix this problem:
https://git.reviewboard.kde.org/r/101027/
Comment 4 Alberto Mattea 2011-04-06 21:59:12 UTC
Hi,
the patch fixes the problem also for me (Kde 4.6.1, qt 4.7.0).
Comment 5 Andrea Diamantini 2011-04-07 19:23:21 UTC
Git commit a957e857480a55b02e04ddff8e84b968462804f9 by Andrea Diamantini.
Committed on 07/04/2011 at 19:29.
Pushed by adjam into branch 'master'.

De-parent providers instances and delete them on close. Please,
read about this in the reviewboard request (number 101027)

Courtesy patch by JosèManuel Santamarì Lema. Thanks :D

BUG:269490
REVIEW:101027

M  +37   -6    src/application.cpp     

http://commits.kde.org/rekonq/a957e857480a55b02e04ddff8e84b968462804f9
Comment 6 Andrea Diamantini 2011-04-07 19:26:08 UTC
Git commit f4484b037aec7484507aecfa7fb93482a7db7dc8 by Andrea Diamantini.
Committed on 07/04/2011 at 19:29.
Pushed by adjam into branch '0.7-branch'.

De-parent providers instances and delete them on close. Please,
read about this in the reviewboard request (number 101027)

Courtesy patch by JosèManuel Santamarì Lema. Thanks :D

BUG:269490
REVIEW:101027

M  +37   -6    src/application.cpp     

http://commits.kde.org/rekonq/f4484b037aec7484507aecfa7fb93482a7db7dc8
Comment 7 Cédric Bellegarde 2011-04-26 11:41:03 UTC
*** Bug 267460 has been marked as a duplicate of this bug. ***
Comment 8 Cédric Bellegarde 2011-04-26 11:42:02 UTC
Should be cool to have a backport for 0.7 fix version, this bug make me switch to firefox but i prefer rekonq ;)
Comment 9 Dario Andres 2011-05-08 23:41:49 UTC
*** Bug 270047 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2011-05-08 23:41:51 UTC
*** Bug 271559 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2011-05-08 23:41:54 UTC
*** Bug 272330 has been marked as a duplicate of this bug. ***
Comment 12 Dario Andres 2011-05-08 23:41:55 UTC
*** Bug 272706 has been marked as a duplicate of this bug. ***
Comment 13 Christoph Feck 2011-05-14 14:34:17 UTC
*** Bug 273193 has been marked as a duplicate of this bug. ***
Comment 14 Johnny 2011-09-14 02:14:57 UTC
Created attachment 63636 [details]
New crash information added by DrKonqi

rekonq (0.7.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed: when finished with the web page I closed rekong browser and it crashed.

-- Backtrace (Reduced):
#7  0xb4cd843a in QRasterWindowSurface::~QRasterWindowSurface (this=0xbc00370, __in_chrg=<value optimized out>) at painting/qwindowsurface_raster.cpp:104
#8  0xb4cd84d2 in QRasterWindowSurface::~QRasterWindowSurface (this=0xbc00370, __in_chrg=<value optimized out>) at painting/qwindowsurface_raster.cpp:108
#9  0xb4cf40c1 in QWidgetBackingStore::~QWidgetBackingStore (this=0xb8601f0, __in_chrg=<value optimized out>) at painting/qbackingstore.cpp:883
#10 0xb4b1686b in QWidgetBackingStoreTracker::destroy (this=0xbc00388) at kernel/qwidget.cpp:210
#11 0xb4b169c1 in QWidgetPrivate::deleteExtra (this=0xb8a5680) at kernel/qwidget.cpp:1776
Comment 15 Jekyll Wu 2012-05-31 18:57:26 UTC
*** Bug 298127 has been marked as a duplicate of this bug. ***