Bug 162474

Summary: [testcase] Konqueror crashes when exiting http://ratp.fr
Product: [Applications] konqueror Reporter: Thierry Vignaud <tvignaud>
Component: khtmlAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED WORKSFORME    
Severity: crash CC: andresbajotierra, finex, frank78ac, woebbeking, zahl
Priority: NOR Keywords: investigated, triaged
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Other   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Reduced test case

Description Thierry Vignaud 2008-05-22 16:24:31 UTC
Version:           4.0.74 (using Devel)
Installed from:    Compiled sources
Compiler:          gcc-4.2.3 
OS:                Tru64

I reported bug #127025 (really Bug #136909 that has been marked as a duplicate) two years ago about konqueror crashing on the http://ratp.fr site.

As of KDE-4, this bug is still valid.
However, sometimes konqueror will not crash when selecting a
station in JavaScript menu. Instead it crashes on exit.
Hence the different bug report and the different backtrace.

I attached the relevant backtrace with _debug_ info as attachment.cgi #24890 (see http://bugs.kde.org/attachment.cgi?id=24890&action=view)

How to reproduce:
=================
The steps are basically the same as Bug #136909:

1. start konqueror
2. go on http://ratp.fr
3. click on "station" in "départ"
4. start to type "chatelet" and pick it from
   the JS menu when it opens
5. click on "arrivée" in "départ"
6. start to type "cachan"; JS script will write "arcueil-cachan"
7. either it will instaneously crash and this bug #127025;
   if not, just close konqueror, and drkonqui will open.

This bug was tested with kdebase4-4.0.74-3mdv2009.0.x86_64 as packaged in Mandriva cooker.
It's SVN indeed. However the associated bug #127025 was validated with KDE 3.5.1, 3.5.5, 4.0.3 and 4.0.74, so the bug isn't exactly new.

This is why I'm using firefox for browsing ratp.fr for 2 years...
Comment 1 A. Spehr 2008-05-23 09:27:52 UTC
put backtrace inline so can search for dups:

(gdb) bt
#0  0x0000003dd4e9abc1 in nanosleep () from /lib64/libc.so.6
#1  0x0000003dd4e9a9c9 in __sleep (seconds=<value optimized out>) at ../sysdeps/unix/sysv/linux/sleep.c:138
#2  0x0000003407e21806 in KCrash::startDrKonqi (argv=<value optimized out>, argc=15)
    at /usr/src/debug/kdelibs-4.0.74/kdeui/util/kcrash.cpp:360
#3  0x0000003407e21d26 in KCrash::defaultCrashHandler (sig=6) at /usr/src/debug/kdelibs-4.0.74/kdeui/util/kcrash.cpp:285
#4  <signal handler called>
#5  0x0000003dd4e30d35 in raise () from /lib64/libc.so.6
#6  0x0000003dd4e324c0 in abort () from /lib64/libc.so.6
#7  0x0000003dd4e29ecf in __assert_fail () from /lib64/libc.so.6
#8  0x000000340d398575 in KHTMLGlobal::finalCheck () at /usr/src/debug/kdelibs-4.0.74/khtml/khtml_global.cpp:247
#9  0x00007fb8ee7fa5d9 in ~KHTMLFactory (this=0xef0950) at /usr/src/debug/kdelibs-4.0.74/khtml/khtml_factory.cpp:35
#10 0x000000340515281a in QObjectCleanupHandler::clear () from /usr/lib/qt4/lib64/libQtCore.so.4
#11 0x0000003405152897 in QObjectCleanupHandler::~QObjectCleanupHandler$delete () from /usr/lib/qt4/lib64/libQtCore.so.4
#12 0x0000003dd4e33b60 in exit () from /lib64/libc.so.6
#13 0x0000003dd4e1e32b in __libc_start_main (main=0x4008b0 <main>, argc=1, ubp_av=0x7ffffbf2c968, 
    init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7ffffbf2c958)
    at libc-start.c:252
#14 0x0000000000400819 in _start ()
Current language:  auto; currently c
Comment 2 A. Spehr 2008-05-23 10:04:58 UTC
I can't figure out how to do step 5, but I picked things to show a map, and nothing crashed.

Closing the site gives a crash, similar to above, and pasted into other report.

*** This bug has been marked as a duplicate of 156172 ***
Comment 3 Maksim Orlovich 2008-08-01 19:09:40 UTC
Different bug...
Comment 4 Frank Reininghaus 2008-09-04 14:55:28 UTC
Created attachment 27235 [details]
Reduced test case

This reduced test case still crashes 4.1.1 and trunk rev. 856793 for me. The failed assertion

konqueror: /home/kde-devel/kde/src/KDE/kdelibs/khtml/khtml_global.cpp:247: static void KHTMLGlobal::finalCheck(): Assertion `!s_refcnt' failed.

is reported in Konsole.
Comment 5 Andre Woebbeking 2008-11-29 14:34:31 UTC
I had just the same assert() with self compiled sources (recent 4.1 branch).

I opened some tabs with www.amazon.de and www.guenstiger.de, closed all tabs but one and the quit Konqueror -> assert()
Comment 6 Dario Andres 2009-05-13 05:51:23 UTC
Just to update:

I can't reproduce the crash using the testcase provided at comment 4 here using:

Qt: 4.5.1 (qt-copy  958974)
KDE: 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1))
kdelibs svn rev. 967040 / kdebase svn rev. 967041
on ArchLinux i686 - Kernel 2.6.29.2

Can anyone else confirm this ?
Thanks
Comment 7 A. Spehr 2009-05-13 06:21:22 UTC
Huh. It doesn't crash when I open a browser from irc and type in the name. It does crash when I open the fully typed in name from konsole.  

Application: Konqueror (konqueror), signal: Aborted
[KCrash Handler]
#4  0x00007ff89ac58105 in raise () from /lib/libc.so.6
#5  0x00007ff89ac59623 in abort () from /lib/libc.so.6
#6  0x00007ff89ac51149 in __assert_fail () from /lib/libc.so.6
#7  0x00007ff88e4c9dbb in KHTMLGlobal::finalCheck () at /home/ax4/kde/trunk/src/kdelibs/khtml/khtml_global.cpp:258
#8  0x00007ff88d4a47e6 in ~KHTMLFactory (this=0x13f3250) at /home/ax4/kde/trunk/src/kdelibs/khtml/khtml_factory.cpp:35
#9  0x00007ff89e08b91a in qDeleteAll<QHash<QString, QPointer<KPluginFactory> >::const_iterator> (begin={i = 0x141d060}, end={i = 0x142cc30})
    at /home/ax4/kde/qt-copy/include/QtCore/../../src/corelib/tools/qalgorithms.h:350
#10 0x00007ff89e08b963 in qDeleteAll<FactoryHash> (c=@0x1428550) at /home/ax4/kde/qt-copy/include/QtCore/../../src/corelib/tools/qalgorithms.h:358
#11 0x00007ff89e08bb7b in ~FactoryHash (this=0x1428550) at /home/ax4/kde/trunk/src/kdelibs/kdecore/util/klibrary.cpp:93
#12 0x00007ff89e08aad7 in destroy () at /home/ax4/kde/trunk/src/kdelibs/kdecore/util/klibrary.cpp:97
#13 0x00007ff89df66f45 in ~KCleanUpGlobalStatic (this=0x7ff89e34b208) at /home/ax4/kde/trunk/src/kdelibs/kdecore/kernel/kglobal.h:62
#14 0x00007ff89ac5acad in exit () from /lib/libc.so.6
#15 0x00007ff89ac445ad in __libc_start_main () from /lib/libc.so.6
#16 0x00000000004007e9 in _start () at ../sysdeps/x86_64/elf/start.S:113

kdelibs r965375
Version of the application: 4.2.71 (KDE 4.2.71 (KDE 4.3 >= 20090428))
KDE Version: 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1))
Qt Version: 4.5.0
Operating System: Linux 2.6.28 x86_64
Distribution: Debian GNU/Linux unstable (sid)

konqueror(9416) KonqMainWindow::checkPreloadResourceUsage: Running from tty, not keeping for preloading        
konqueror(9416) Sonnet::Loader::~Loader: Removing loader :  Sonnet::Loader(0x15d80a0)                          
konqueror(9416)/khtml KHTMLFactory::~KHTMLFactory: KHTMLFactory(0x13f3250)                                     
konqueror(9416)/khtml KHTMLGlobal::finalCheck: 1 docs not deleted                                              
konqueror(9416)/khtml KHTMLGlobal::finalCheck: Document DOM::HTMLDocumentImpl(0x15f6b70) wasn't deleted        
konqueror: /home/ax4/kde/trunk/src/kdelibs/khtml/khtml_global.cpp:258: static void KHTMLGlobal::finalCheck(): Assertion `!s_refcnt' failed.                                                                                   
KCrash: crashing... crashRecursionCounter = 2 

(Could the difference have something to do with preloading?)
Comment 8 Frank Reininghaus 2009-05-13 10:59:27 UTC
(In reply to comment #6)
> I can't reproduce the crash using the testcase provided at comment 4 here

I opened Konqueror from Konsole (trunk rev. 966698), pasted the test case URL in the location bar, followed the instructions and closed Konqueror. I got the same crash as before.
Comment 9 FiNeX 2010-08-15 14:37:16 UTC
Using KDE 4.4.4 it crashes at the fourth step. Using 4.4.5 it never crashes :-)

Someone could confirm it has been fixed in KDE 4.5 too?
Comment 10 Andrew Crouthamel 2018-09-20 22:08:04 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 11 Andrew Crouthamel 2018-10-21 04:49:08 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!