Bug 195390 - Konqueror crash after resume from sleep, maybe "double free or corruption" in KJS
Summary: Konqueror crash after resume from sleep, maybe "double free or corruption" in...
Status: RESOLVED NOT A BUG
Alias: None
Product: konqueror
Classification: Applications
Component: kjs (show other bugs)
Version: 4.2.4
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-06 01:11 UTC by skierpage
Modified: 2011-07-31 20:31 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description skierpage 2009-06-06 01:11:37 UTC
Version:           4.2.4 (KDE 4.2.4) (using 4.2.4 (KDE 4.2.4), Kubuntu packages)
Compiler:          cc
OS:                Linux (x86_64) release 2.6.28-11-generic

I had a bunch of tabs open in Konqueror when I put my computer into Sleep.  Upon resume I got the Crash Handler, the backtrace is below.

I ran Konqueror again, I confirmed to restore the old session and Konq seemingly restored it fine: one window with 13 tabs open plus another Konq window that I think had downloaded a PDF.

=== KDE Crash Handler backtrace from here to end ===

Application: Konqueror (konqueror), signal SIGABRT
0x00007fab4301fd21 in nanosleep () from /lib/libc.so.6
Current language:  auto; currently c
[Current thread is 0 (LWP 3225)]

Thread 3 (Thread 0x7fab34620950 (LWP 3242)):
#0  0x00007fab43056742 in select () from /lib/libc.so.6
#1  0x00007fab45719766 in QProcessManager::run (this=0x1ade670) at io/qprocess_unix.cpp:305
#2  0x00007fab45651d02 in QThreadPrivate::start (arg=0x1ade670) at thread/qthread_unix.cpp:189
#3  0x00007fab41dff3ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00007fab4305dfcd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fab2a347950 (LWP 28371)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:91
#1  0x00007fab42ff6025 in _L_lock_4783 () from /lib/libc.so.6
#2  0x00007fab42ff226b in *__GI___libc_free (mem=0x7fab432e5a00) at malloc.c:3623
#3  0x00007fab40d20b2a in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007fab45764ff2 in ~QEventDispatcherGlib (this=0xa3e4650) at kernel/qeventdispatcher_glib.cpp:286
#5  0x00007fab45651dcc in QThreadPrivate::finish (arg=<value optimized out>) at thread/qthread_unix.cpp:213
#6  0x00007fab45651d0a in QThreadPrivate::start (arg=0x2855840) at /usr/include/pthread.h:533
#7  0x00007fab41dff3ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#8  0x00007fab4305dfcd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fab48135750 (LWP 3225)):
[KCrash Handler]
#5  0x00007fab42faafb5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007fab42facbc3 in *__GI_abort () at abort.c:88
#7  0x00007fab42fea228 in __libc_message (do_abort=2, fmt=0x7fab430b4488 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
#8  0x00007fab42fefcb8 in malloc_printerr (action=2, str=0x7fab430b4570 "double free or corruption (out)", ptr=<value optimized out>) at malloc.c:5994
#9  0x00007fab42ff2276 in *__GI___libc_free (mem=0x7fab430aa8a0) at malloc.c:3625
#10 0x00007fab38323057 in KJS::UString::Rep::destroy (this=0xd984b10) at /build/buildd/kde4libs-4.2.4/kjs/wtf/FastMalloc.h:45
#11 0x00007fab38347029 in ~StringImp (this=0x7fab26cf6e80) at /build/buildd/kde4libs-4.2.4/kjs/ustring.h:165
#12 0x00007fab3832ab9a in KJS::Collector::collect () at /build/buildd/kde4libs-4.2.4/kjs/collector.cpp:716
#13 0x00007fab3832afde in KJS::Collector::allocate (s=64) at /build/buildd/kde4libs-4.2.4/kjs/collector.cpp:326
#14 0x00007fab38346533 in KJS::StringImp::toObject (this=0x7fab269f5740, exec=<value optimized out>) at /build/buildd/kde4libs-4.2.4/kjs/internal.cpp:99
#15 0x00007fab3836ef13 in KJS::Machine::runBlock (exec=0x7fff50162ac0, codeBlock=<value optimized out>, parentExec=0x7fff50163680) at /build/buildd/kde4libs-4.2.4/kjs/value.h:495
#16 0x00007fab38357cdf in KJS::FunctionImp::callAsFunction (this=0x7fab30100e00, exec=0x7fff50163680, thisObj=<value optimized out>, args=@0x7fff50162cb0)
    at /build/buildd/kde4libs-4.2.4/kjs/function.cpp:144
#17 0x00007fab3835b779 in KJS::JSObject::call (this=0xc99, exec=0x7fab430aa8a0, thisObj=0x6, args=@0xffffffffffffffff) at /build/buildd/kde4libs-4.2.4/kjs/object.cpp:69
#18 0x00007fab3833e4fa in KJS::FunctionProtoFunc::callAsFunction (this=<value optimized out>, exec=0x7fff50163680, thisObj=0x7fab30100e00, args=@0x1)
    at /build/buildd/kde4libs-4.2.4/kjs/function_object.cpp:123
#19 0x00007fab3835b779 in KJS::JSObject::call (this=0xc99, exec=0x7fab430aa8a0, thisObj=0x6, args=@0xffffffffffffffff) at /build/buildd/kde4libs-4.2.4/kjs/object.cpp:69
#20 0x00007fab383767f1 in KJS::Machine::runBlock (exec=0x7fff50163680, codeBlock=<value optimized out>, parentExec=0x7fff50164170) at codes.def:1192
#21 0x00007fab38357cdf in KJS::FunctionImp::callAsFunction (this=0x7fab269f5640, exec=0x7fff50164170, thisObj=<value optimized out>, args=@0x7fff501640c0)
    at /build/buildd/kde4libs-4.2.4/kjs/function.cpp:144
#22 0x00007fab3835b779 in KJS::JSObject::call (this=0xc99, exec=0x7fab430aa8a0, thisObj=0x6, args=@0xffffffffffffffff) at /build/buildd/kde4libs-4.2.4/kjs/object.cpp:69
#23 0x00007fab383767f1 in KJS::Machine::runBlock (exec=0x7fff50164170, codeBlock=<value optimized out>, parentExec=0xe6e2490) at codes.def:1192
#24 0x00007fab38357cdf in KJS::FunctionImp::callAsFunction (this=0x7fab300ff980, exec=0xe6e2490, thisObj=<value optimized out>, args=@0x9b62558) at /build/buildd/kde4libs-4.2.4/kjs/function.cpp:144
#25 0x00007fab3835b779 in KJS::JSObject::call (this=0xc99, exec=0x7fab430aa8a0, thisObj=0x6, args=@0xffffffffffffffff) at /build/buildd/kde4libs-4.2.4/kjs/object.cpp:69
#26 0x00007fab389efcf2 in KJS::ScheduledAction::execute (this=0x9b62550, window=0x7fab47fb0800) at /build/buildd/kde4libs-4.2.4/khtml/ecma/kjs_window.cpp:2196
#27 0x00007fab389f1796 in KJS::WindowQObject::timerEvent (this=0x5f75a30) at /build/buildd/kde4libs-4.2.4/khtml/ecma/kjs_window.cpp:2372
#28 0x00007fab4574abb3 in QObject::event (this=0x5f75a30, e=0xc99) at kernel/qobject.cpp:1082
#29 0x00007fab44b8eb9d in QApplicationPrivate::notify_helper (this=0x1ada430, receiver=0x5f75a30, e=0x7fff50164ad0) at kernel/qapplication.cpp:4057
#30 0x00007fab44b96dea in QApplication::notify (this=0x7fff50164ff0, receiver=0x5f75a30, e=0x7fff50164ad0) at kernel/qapplication.cpp:4022
#31 0x00007fab4656686b in KApplication::notify (this=0x7fff50164ff0, receiver=0x5f75a30, event=0x7fff50164ad0) at /build/buildd/kde4libs-4.2.4/kdeui/kernel/kapplication.cpp:307
#32 0x00007fab4573adfc in QCoreApplication::notifyInternal (this=0x7fff50164ff0, receiver=0x5f75a30, event=0x7fff50164ad0) at kernel/qcoreapplication.cpp:610
#33 0x00007fab45767eb6 in QTimerInfoList::activateTimers (this=0x1ade080) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#34 0x00007fab457645cd in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:164
#35 0x00007fab40d2120a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#36 0x00007fab40d248e0 in ?? () from /usr/lib/libglib-2.0.so.0
#37 0x00007fab40d24a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#38 0x00007fab4576452f in QEventDispatcherGlib::processEvents (this=0x1ac5b50, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:324
#39 0x00007fab44c2770f in QGuiEventDispatcherGlib::processEvents (this=0xc99, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#40 0x00007fab457396a2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1343638848}) at kernel/qeventloop.cpp:149
#41 0x00007fab45739a6d in QEventLoop::exec (this=0x7fff50164d80, flags={i = 1343638928}) at kernel/qeventloop.cpp:200
#42 0x00007fab4573bd34 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#43 0x00007fab47d1c7a9 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /build/buildd/kdebase-4.2.4/apps/konqueror/src/konqmain.cpp:257
#44 0x00007fab42f965a6 in __libc_start_main (main=0x400870 <main>, argc=2, ubp_av=0x7fff50165a68, init=0x4008a0 <__libc_csu_init>, fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fff50165a58) at libc-start.c:220
#45 0x00000000004007a9 in _start () at ../sysdeps/x86_64/elf/start.S:113
Current language:  auto; currently asm
#0  0x00007fab4301fd21 in nanosleep () from /lib/libc.so.6
Current language:  auto; currently c
Comment 1 A. Spehr 2009-06-06 01:28:16 UTC
http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_with_Valgrind

Can you run this under Valgrind?

In this case, that's what we need. 

Warning: it will be slow. Possibly very sloooow.

Is "sleep" hibernate or suspend? 

Thanks!
Comment 2 skierpage 2009-06-07 09:32:34 UTC
I haven't experienced this crash since, but thanks for that link.

In my Kubuntu 9.04, Sleep is "Suspend to RAM".
Comment 3 Martin Koller 2011-07-31 20:31:27 UTC
not reproducible