Bug 296346

Summary: Rekonq crash when closing
Product: [Unmaintained] rekonq Reporter: Kimtaloom <kimtaloom>
Component: generalAssignee: Andrea Diamantini <adjam7>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 0.9.0   
Target Milestone: 0.10   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Kimtaloom 2012-03-19 11:56:50 UTC
Application: rekonq (0.9.0)
KDE Platform Version: 4.8.1 (4.8.1)
Qt Version: 4.8.0
Operating System: Linux 3.2.0-19-generic x86_64
Distribution: Ubuntu precise (development branch)

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

This bug occurs always when I close rekonq. No matter what site I visit, it's always the same storry. When closing rekonq, it gives me a crash repport.

The crash can be reproduced every time.

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

Thread 8 (Thread 0x7fe0aa2c2700 (LWP 2078)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe0bfa79dec in WTF::TCMalloc_PageHeap::scavengerThread (this=0x7fe0c0442de0) at wtf/FastMalloc.cpp:2495
#2  0x00007fe0bfa79f19 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at wtf/FastMalloc.cpp:1618
#3  0x00007fe0bac34e9a in start_thread (arg=0x7fe0aa2c2700) at pthread_create.c:308
#4  0x00007fe0c09f774d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fe0a979e700 (LWP 2079)):
#0  0x00007fe0bac3805d in __pthread_mutex_unlock_usercnt (mutex=<optimized out>, decr=<optimized out>) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x7fe0a4000a60) at pthread_mutex_unlock.c:290
#2  0x00007fe0b9310451 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fe0b92d4853 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fe0b92d505b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fe0b92d5264 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fe0bb5eda76 in QEventDispatcherGlib::processEvents (this=0x7fe0a40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0x00007fe0bb5bd2d2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#8  0x00007fe0bb5bd527 in QEventLoop::exec (this=0x7fe0a979de00, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007fe0bb4bcf97 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#10 0x00007fe0bb4bffbb in QThreadPrivate::start (arg=0xb4b6f0) at thread/qthread_unix.cpp:298
#11 0x00007fe0bac34e9a in start_thread (arg=0x7fe0a979e700) at pthread_create.c:308
#12 0x00007fe0c09f774d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fe0a8922700 (LWP 2080)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe0c05eb212 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007fe0c05eb249 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007fe0bac34e9a in start_thread (arg=0x7fe0a8922700) at pthread_create.c:308
#4  0x00007fe0c09f774d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fe0a343f700 (LWP 2081)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe0bb4c04cb in wait (time=18446744073709551615, this=0x97fc80) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x962a20, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fe0bd50c0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x980650, th=0xb9e760) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fe0bd50e9db in ThreadWeaver::WorkingHardState::applyForWork (this=0x97ce20, th=0xb9e760) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fe0bd50d84f in ThreadWeaver::ThreadRunHelper::run (this=0x7fe0a343ee20, parent=0x980650, th=0xb9e760) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fe0bd50d8db in ThreadWeaver::Thread::run (this=0xb9e760) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fe0bb4bffbb in QThreadPrivate::start (arg=0xb9e760) at thread/qthread_unix.cpp:298
#8  0x00007fe0bac34e9a in start_thread (arg=0x7fe0a343f700) at pthread_create.c:308
#9  0x00007fe0c09f774d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fe0a0895700 (LWP 2083)):
#0  0x00007fe0c09ebd93 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fe0b92d5136 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fe0b92d5264 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fe0bb5eda76 in QEventDispatcherGlib::processEvents (this=0x7fe0540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007fe0bb5bd2d2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fe0bb5bd527 in QEventLoop::exec (this=0x7fe0a0894dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fe0bb4bcf97 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007fe0bb59d06f in QInotifyFileSystemWatcherEngine::run (this=0xc798f0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fe0bb4bffbb in QThreadPrivate::start (arg=0xc798f0) at thread/qthread_unix.cpp:298
#9  0x00007fe0bac34e9a in start_thread (arg=0x7fe0a0895700) at pthread_create.c:308
#10 0x00007fe0c09f774d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fe05aefd700 (LWP 2099)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe0bb4c04cb in wait (time=18446744073709551615, this=0x97fc80) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x962a20, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fe0bd50c0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x980650, th=0xdd9d80) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fe0bd50e9db in ThreadWeaver::WorkingHardState::applyForWork (this=0x97ce20, th=0xdd9d80) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fe0bd50d84f in ThreadWeaver::ThreadRunHelper::run (this=0x7fe05aefce20, parent=0x980650, th=0xdd9d80) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fe0bd50d8db in ThreadWeaver::Thread::run (this=0xdd9d80) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fe0bb4bffbb in QThreadPrivate::start (arg=0xdd9d80) at thread/qthread_unix.cpp:298
#8  0x00007fe0bac34e9a in start_thread (arg=0x7fe05aefd700) at pthread_create.c:308
#9  0x00007fe0c09f774d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe036ffd700 (LWP 2100)):
#0  0x00007fe0c09ea34d in read () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fe0b930f74f in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fe0b92d4bfd in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fe0b92d50d6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fe0b92d5264 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fe0bb5eda76 in QEventDispatcherGlib::processEvents (this=0x7fe02400e980, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fe0bb5bd2d2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fe0bb5bd527 in QEventLoop::exec (this=0x7fe036ffcdd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fe0bb4bcf97 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007fe0bdb12ebe in KIO::NameLookUpThread::run (this=0x7fe09c014cd0) at ../../kio/kio/hostinfo.cpp:226
#10 0x00007fe0bb4bffbb in QThreadPrivate::start (arg=0x7fe09c014cd0) at thread/qthread_unix.cpp:298
#11 0x00007fe0bac34e9a in start_thread (arg=0x7fe036ffd700) at pthread_create.c:308
#12 0x00007fe0c09f774d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe0c11f8780 (LWP 2077)):
[KCrash Handler]
#6  0x0000000001430d10 in ?? ()
#7  0x00007fe0bbe28f60 in QStyleSheetStyle::styleHint (this=0xb70fe0, sh=QStyle::SH_Widget_ShareActivation, opt=0x0, w=0x11eb500, shret=0x0) at styles/qstylesheetstyle.cpp:5122
#8  0x00007fe0bbb230c5 in QWidget::isActiveWindow (this=<optimized out>) at kernel/qwidget.cpp:6682
#9  0x00007fe0bbfff5f8 in QAccessibleWidget::state (this=<optimized out>, child=<optimized out>) at accessible/qaccessiblewidget.cpp:940
#10 0x00007fe0abc9a96a in ?? () from /usr/lib/kde4/plugins/accessiblebridge/kaccessiblebridge.so
#11 0x00007fe0bc002c91 in QAccessible::updateAccessibility (o=<optimized out>, who=0, reason=QAccessible::ObjectDestroyed) at accessible/qaccessible_unix.cpp:118
#12 0x00007fe0bbb2c56f in QWidget::~QWidget (this=0x11eb500, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1678
#13 0x00007fe0c0da1f4e in ~IconButton (this=0x11eb500, __in_chrg=<optimized out>) at /build/buildd/rekonq-0.9.0-1/src/urlbar/urlbar.h:51
#14 IconButton::~IconButton (this=0x11eb500, __in_chrg=<optimized out>) at /build/buildd/rekonq-0.9.0-1/src/urlbar/urlbar.h:51
#15 0x00007fe0bb5d0f85 in QObjectPrivate::deleteChildren (this=0xb55e50) at kernel/qobject.cpp:1908
#16 0x00007fe0bbb2c560 in QWidget::~QWidget (this=0xb5cb90, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1675
#17 0x00007fe0c0da0169 in UrlBar::~UrlBar (this=0xb5cb90, __in_chrg=<optimized out>) at /build/buildd/rekonq-0.9.0-1/src/urlbar/urlbar.cpp:154
#18 0x00007fe0bb5d0f85 in QObjectPrivate::deleteChildren (this=0x9d4e10) at kernel/qobject.cpp:1908
#19 0x00007fe0bbb2c560 in QWidget::~QWidget (this=0x9bdf10, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1675
#20 0x00007fe0c0d9d691 in ~StackedUrlBar (this=0x9bdf10, __in_chrg=<optimized out>) at /build/buildd/rekonq-0.9.0-1/src/urlbar/stackedurlbar.h:41
#21 StackedUrlBar::~StackedUrlBar (this=0x9bdf10, __in_chrg=<optimized out>) at /build/buildd/rekonq-0.9.0-1/src/urlbar/stackedurlbar.h:41
#22 0x00007fe0bbb38319 in QWidgetAction::~QWidgetAction (this=0xab1660, __in_chrg=<optimized out>) at kernel/qwidgetaction.cpp:128
#23 0x00007fe0bdf6ffe9 in KAction::~KAction (this=0xab1660, __in_chrg=<optimized out>) at ../../kdeui/actions/kaction.cpp:171
#24 0x00007fe0bb5d0f85 in QObjectPrivate::deleteChildren (this=0x9bc930) at kernel/qobject.cpp:1908
#25 0x00007fe0bbb2c560 in QWidget::~QWidget (this=0x9bc750, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1675
#26 0x00007fe0be115df5 in KMainWindow::~KMainWindow (this=0x9bc750, __in_chrg=<optimized out>) at ../../kdeui/widgets/kmainwindow.cpp:467
#27 0x00007fe0c0d39db1 in MainWindow::~MainWindow (this=0x9bc750, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /build/buildd/rekonq-0.9.0-1/src/mainwindow.cpp:240
#28 0x00007fe0c0d39e09 in MainWindow::~MainWindow (this=0x9bc750, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /build/buildd/rekonq-0.9.0-1/src/mainwindow.cpp:247
#29 0x00007fe0bb5d7ac8 in QObject::event (this=0x9bc750, e=<optimized out>) at kernel/qobject.cpp:1176
#30 0x00007fe0bbb3199b in QWidget::event (this=0x9bc750, event=0x1732cd0) at kernel/qwidget.cpp:8820
#31 0x00007fe0bbf0c53b in QMainWindow::event (this=0x9bc750, event=0x1732cd0) at widgets/qmainwindow.cpp:1478
#32 0x00007fe0bbae16b4 in notify_helper (e=0x1732cd0, receiver=0x9bc750, this=0x80aa40) at kernel/qapplication.cpp:4555
#33 QApplicationPrivate::notify_helper (this=0x80aa40, receiver=0x9bc750, e=0x1732cd0) at kernel/qapplication.cpp:4527
#34 0x00007fe0bbae6533 in QApplication::notify (this=0x7fffa3d1f100, receiver=0x9bc750, e=0x1732cd0) at kernel/qapplication.cpp:4416
#35 0x00007fe0be058906 in KApplication::notify (this=0x7fffa3d1f100, receiver=0x9bc750, event=0x1732cd0) at ../../kdeui/kernel/kapplication.cpp:311
#36 0x00007fe0bb5be4ec in QCoreApplication::notifyInternal (this=0x7fffa3d1f100, receiver=0x9bc750, event=0x1732cd0) at kernel/qcoreapplication.cpp:876
#37 0x00007fe0bb5c22ba in sendEvent (event=0x1732cd0, receiver=0x9bc750) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x7d61f0) at kernel/qcoreapplication.cpp:1500
#39 0x00007fe0bb5ed5e3 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#40 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#41 0x00007fe0b92d4dda in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007fe0b92d51a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007fe0b92d5264 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007fe0bb5eda0f in QEventDispatcherGlib::processEvents (this=0x7d7ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#45 0x00007fe0bbb89aae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#46 0x00007fe0bb5bd2d2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#47 0x00007fe0bb5bd527 in QEventLoop::exec (this=0x7fffa3d1f090, flags=...) at kernel/qeventloop.cpp:204
#48 0x00007fe0bb5c25b7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#49 0x00007fe0c0dd057e in kdemain (argc=1, argv=<optimized out>) at /build/buildd/rekonq-0.9.0-1/src/main.cpp:180
#50 0x00007fe0c092876d in __libc_start_main (main=0x400630 <main(int, char**)>, argc=1, ubp_av=0x7fffa3d1f8b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffa3d1f8a8) at libc-start.c:226
#51 0x0000000000400661 in _start ()

Reported using DrKonqi
Comment 1 Andrea Diamantini 2012-07-03 17:15:11 UTC
Git commit ba9fa320c47eaf322abe11e1a6b6708620b65fdf by Andrea Diamantini.
Committed on 03/07/2012 at 19:11.
Pushed by adjam into branch 'master'.

Get sure UrlBar is deleted well (i.e. later) and in the right place
(i.e. the WebTab dtor).

I cannot no more reproduce the problems described in #296346, #300892
and #268328

What about you?
Related: bug 300892, bug 268328

M  +10   -0    src/mainview.cpp
M  +2    -1    src/mainview.h
M  +7    -2    src/webtab.cpp

http://commits.kde.org/rekonq/ba9fa320c47eaf322abe11e1a6b6708620b65fdf
Comment 2 Andrea Diamantini 2012-07-24 09:00:16 UTC
Yes, commit ba9fa320c47 fixed it!