[rekonq] Nice crash due to null pointer

Andrea Diamantini adjam7 at gmail.com
Tue Oct 25 08:52:19 UTC 2011


On Monday 24 October 2011 19:52:31 Jonathan Kolberg wrote:
> Hi guys,
> 
> I had a crash of rekonq due to activity stop and restart, since than I
> always get the following crash backtrace (0.7.92):
> 
> Thread 1 (Thread 0xb7815710 (LWP 9493)):
> [KCrash Handler]
> #7  page (this=0x0) at /home/jonathan/Develop/rekonq/src/webtab.h:71
> #8  MainWindow::updateActions (this=0x955f6c8) at
> /home/jonathan/Develop/rekonq/src/mainwindow.cpp:715
> #9  0x027c3bba in MainWindow::postLaunch (this=0x955f6c8) at
> /home/jonathan/Develop/rekonq/src/mainwindow.cpp:271
> #10 0x027ca24c in MainWindow::qt_metacall (this=0x955f6c8,
> _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfbfa224) at
> /home/jonathan/Develop/.build/rekonq/src/mainwindow.moc:175
> #11 0x00b6bb7d in QMetaObject::metacall(QObject*, QMetaObject::Call, int,
> void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #12 0x00b7aa6a in QMetaObject::activate(QObject*, QMetaObject const*, int,
> void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #13 0x00b82375 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #14 0x00b8242c in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #15 0x00b7d994 in QObject::event(QEvent*) () from /usr/lib/i386-linux-
> gnu/libQtCore.so.4
> #16 0x0102cd54 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
> from /usr/lib/i386-linux-gnu/libQtGui.so.4
> #17 0x01032103 in QApplication::notify(QObject*, QEvent*) () from
> /usr/lib/i386-linux-gnu/libQtGui.so.4
> #18 0x002f7681 in KApplication::notify(QObject*, QEvent*) () from
> /usr/lib/libkdeui.so.5
> #19 0x00b6519e in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
> from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #20 0x00b95c10 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #21 0x00b93122 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #22 0x030cb25f in g_main_context_dispatch () from /lib/i386-linux-
> gnu/libglib-2.0.so.0
> #23 0x030cb990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
> #24 0x030cbc2a in g_main_context_iteration () from /lib/i386-linux-
> gnu/libglib-2.0.so.0
> #25 0x00b93ada in
> QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
> () from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #26 0x010e4e3a in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
> #27 0x00b641dd in
> QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
> /usr/lib/i386-linux-gnu/libQtCore.so.4
> #28 0x00b64421 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
> () from /usr/lib/i386-linux-gnu/libQtCore.so.4
> #29 0x00b6919d in QCoreApplication::exec() () from /usr/lib/i386-linux-
> gnu/libQtCore.so.4
> #30 0x0102a8f4 in QApplication::exec() () from /usr/lib/i386-linux-
> gnu/libQtGui.so.4
> #31 0x02859dee in kdemain (argc=1, argv=0x93e5a90) at
> /home/jonathan/Develop/rekonq/src/main.cpp:215
> #32 0x0804f762 in _start ()
> 
> As far as I could figure out something in the page() function is going wrong
> (view a null pointer?). My problem is that I don’t know what should rekonq
> do, if it recognises the null pointer.
> 
> Regards Jonathan
> 
> PS.: it still happens in 0.8.0

Hi Jonathan,
I just noticed this kind of crash bugs page() function related. But all my 
investigations found nothing. 
QtWebkitters position is that page() cannot be null (and this can be easy 
verified checking the page() method code.
On the other side we have these kind of backtraces where obviously something 
happens on the page() method.

What we can do here is double qtwebkit page() code in our webtab method no 
more "inlining" it. But this is a real pity, IMHO.
Open to suggestions.

-- 
Andrea Diamantini, adjam
GPG Fingerprint: 57DE 8E32 7D1A 0E16 AA52 59D8 84F9 3ECD DBF9 730F

rekonq project
WEB: http://rekonq.kde.org
IRC: rekonq at freenode


More information about the rekonq mailing list