Bug 174924

Summary: Kompare crash while closing the application (i386)
Product: [Applications] kompare Reporter: E. Kastelijn <kde2>
Component: generalAssignee: Kompare developers <kompare-devel>
Status: RESOLVED FIXED    
Severity: crash CC: christophe, esigra, kojot350, zahl
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Random crash, cannot reproduce so far

Description E. Kastelijn 2008-11-12 06:42:22 UTC
Version:           kdesdk.i386  4.1.2-3.fc9 (using KDE 4.1.2)
OS:                Linux
Installed from:    Fedora RPMs

Application: Kompare (kompare), signal SIGSEGV
[Thread debugging using libthread_db enabled]
[New Thread 0xb7f209a0 (LWP 18294)]
[KCrash handler]
#5  KServiceType::serviceOffersOffset (this=)
    at /usr/src/debug/kdelibs-4.1.2/kdecore/services/kservicetype.cpp:229
#6  0x080523d3 in KompareShell (this=0x8ca3140)
    at /usr/src/debug/kdesdk-4.1.2/kompare/kompare_shell.cpp:68
#7  0x0805034c in main (argc=3, argv=0xbff4e674)
    at /usr/src/debug/kdesdk-4.1.2/kompare/main.cpp:184
Comment 1 Christophe Giboudeaux 2008-11-12 12:09:18 UTC
Is this backtrace everything you got ? Could you please give more details ?

What were you doing with Kompare ? Can you reproduce the bug ?
Comment 2 E. Kastelijn 2008-11-12 23:16:58 UTC
I am sorry. This is all I got.
The program crashed after I tried to close the window.
To me it looks like the same problem as bug 174923, but this one was caused on a i386 system instead of an x86_64 system.

The strange thing is that it happens sometimes, and that if I try to reproduce the problem in the exact same way then nothing goes wrong.

If this trace does not contain enough information than I would not mind if this bug is closed.
Comment 3 A. Spehr 2008-11-14 01:24:55 UTC
Were you doing the same thing on each system to make them crash? The same file? Can put put the file on the report? 

I can't confirm this bug.  kdesdk r883982
Comment 4 E. Kastelijn 2008-11-14 08:13:24 UTC
I am sorry. I would like to help out, but I don't have the orginal files anymore.

I was doing the same thing on the two systems: Close the Kompare window.

On both machines I haven't been able to reproduce the problem for the last couple of days. (and trust me, I have tried..) ;)

Comment 5 A. Spehr 2008-11-17 02:12:00 UTC
Well, I tried again and can't reproduce this... I'm going to close this, but please reopen it if you can come up with a testcase.
Comment 6 Kevin Kofler 2009-01-18 11:55:39 UTC
Reopening, see https://bugs.kde.org/show_bug.cgi?id=165421#c22
Comment 7 Paweł Prażak 2009-01-23 19:14:46 UTC
I'm not sure if it's the same bug, but when I
- open 2 files
- apply some changes
- click save
- click close
- click save on "do you wanna save" dialog
crash

Application: Kompare (kompare), signal SIGSEGV
0x00007fb424b9cce1 in nanosleep () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7fb429498750 (LWP 13626))]

Thread 2 (Thread 0x7fb41cf42950 (LWP 13627)):
#0  0x00007fb424bc7642 in select () from /lib64/libc.so.6
#1  0x00007fb425911366 in QProcessManager::run (this=0x631910) at io/qprocess_unix.cpp:301
#2  0x00007fb425848f72 in QThreadPrivate::start (arg=0x631910) at thread/qthread_unix.cpp:185
#3  0x00007fb4255d5070 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb424bce0ed in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fb429498750 (LWP 13626)):
[KCrash Handler]
#5  QMap<KEntryKey, KEntry>::freeData (this=0x7fb424e4fa00, x=0x7fb424c1dfe0) at /usr/include/QtCore/qatomic_x86_64.h:129
#6  0x00007fb425f0d78e in KConfigPrivate::~KConfigPrivate() () from /usr/lib64/libkdecore.so.5
#7  0x00007fb425f068b3 in ~KConfig (this=0x7ba610) at /usr/src/debug/kdelibs-4.1.96/kdecore/config/kconfig.cpp:204
#8  0x00007fb425f209a5 in ~KSharedConfig (this=0x7ba610) at /usr/src/debug/kdelibs-4.1.96/kdecore/config/ksharedconfig.cpp:74
#9  0x00007fb425f85fbf in ~KComponentDataPrivate (this=0x754520) at /usr/src/debug/kdelibs-4.1.96/kdecore/util/ksharedptr.h:208
#10 0x00007fb425f85aa8 in ~KComponentData (this=0x6ea210) at /usr/src/debug/kdelibs-4.1.96/kdecore/kernel/kcomponentdata_p.h:69
#11 0x00007fb41d22f4c1 in ?? () from /usr/lib64/kde4/libkomparepart.so
#12 0x00007fb425948e16 in QObjectCleanupHandler::clear (this=0x7e8340) at kernel/qobjectcleanuphandler.cpp:136
#13 0x00007fb425948e64 in ~QObjectCleanupHandler (this=0x7fb424e4fa00) at kernel/qobjectcleanuphandler.cpp:82
#14 0x00007fb424b302ed in exit () from /lib64/libc.so.6
#15 0x00007fb424b1958d in __libc_start_main () from /lib64/libc.so.6
#16 0x0000000000409589 in _start ()


--
openSUSE 11.1 x86_64
Qt: 4.4.3
KDE: 4.1.96 (KDE 4.1.96 (KDE 4.2 RC1)) "release 78.1"
Plasma Workspace: 0.3
x11-video-nvidiaG02, Version: 180.22-4.1
Comment 8 Paweł Prażak 2009-01-23 19:22:12 UTC
Created attachment 30540 [details]
Random crash, cannot reproduce so far

Here is another crash on exit, but I cannot reproduce it and don't know if it's the same bug.
Comment 9 Otto Bruggeman 2009-02-18 22:34:33 UTC
SVN commit 928082 by bruggie:

BUG: 165421 Actually give a QWidget* wehn asked for one and not cast a QObject* to a QWidget*, that does not work...
BUG: 174924 Most likely fixed as well due to removing the "delete this" which is pure evil
BUG: 103651 A missing KGlobal::deref() seems to have caused kompare to stay around without visible windows.
BUG: 102800 Same for this one, due to the missing deref kompare never fully quit and the session was saved and restored on next login.

Many many cleanups and many dialog created on the heap are not created on the stack whereever possible.
Updated most headers with the updated copyright year and a new email address.

Next time i'll try to split it up in seperate commits.


 M  +34 -30    kompare_shell.cpp  
 M  +7 -3      komparenavtreepart/komparenavtreepart.cpp  
 M  +9 -9      komparepart/kompare_part.cpp  
 M  +2 -2      komparepart/kompare_part.h  
 M  +3 -0      komparepart/kompareconnectwidget.cpp  
 M  +36 -16    komparepart/komparelistview.cpp  
 M  +12 -1     komparepart/komparelistview.h  
 M  +1 -3      kompareurldialog.cpp  
 M  +3 -1      libdiff2/difference.cpp  
 M  +5 -2      libdiff2/difference.h  
 M  +2 -1      libdiff2/diffhunk.cpp  
 M  +2 -2      libdiff2/diffhunk.h  
 M  +4 -29     libdiff2/diffmodel.cpp  
 M  +3 -6      libdiff2/diffmodel.h  
 M  +1 -1      libdiff2/diffmodellist.cpp  
 M  +4 -2      libdiff2/diffmodellist.h  
 M  +28 -25    libdiff2/komparemodellist.cpp  
 M  +3 -1      libdiff2/komparemodellist.h  
 M  +2 -1      libdiff2/kompareprocess.cpp  
 M  +5 -1      libdiff2/parserbase.cpp  
 M  +22 -27    main.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=928082
Comment 10 Kevin Kofler 2009-02-19 01:17:57 UTC
SVN commit 928150 by kkofler:

Mass backport of Kompare bugfixes for KDE 4.2.1 (should not touch any translatable strings): backport revisions 913308, 913309, 922431 (Kompare only), 924527, 924539, 924540, 924880, 924959, 924960, 925266, 926028, 926131, 926143, 926225, 928082 (minus i18n string changes), 928141, 928146 from trunk.
CCBUG: 176804
CCBUG: 169692
CCBUG: 182792
CCBUG: 176797
CCBUG: 175251
CCBUG: 75794
CCBUG: 89781
CCBUG: 145956
CCBUG: 107489
CCBUG: 165421
CCBUG: 174924
CCBUG: 103651
CCBUG: 102800
CCMAIL: bruggie@gmail.com

Bump Kompare version from 3.5.2 to 3.5.3 (trunk is 4.0.0).

Tested on Fedora 9 i386, KDE 4.2.0.

Note: skipped revision 926198 because it introduces a string and #124121 is more a user error than a bug anyway.

 M  +34 -30    kompare_shell.cpp  
 M  +18 -3     komparenavtreepart/komparenavtreepart.cpp  
 M  +15 -12    komparepart/kompare_part.cpp  
 M  +2 -2      komparepart/kompare_part.h  
 M  +9 -6      komparepart/kompareconnectwidget.cpp  
 M  +80 -31    komparepart/komparelistview.cpp  
 M  +26 -5     komparepart/komparelistview.h  
 M  +2 -2      komparepart/kompareprefdlg.cpp  
 M  +4 -1      komparepart/kompareprefdlg.h  
 M  +1 -1      komparepart/komparesplitter.cpp  
 M  +2 -1      libdialogpages/diffpage.cpp  
 M  +4 -3      libdialogpages/diffpage.h  
 M  +14 -4     libdialogpages/filespage.cpp  
 M  +4 -4      libdialogpages/filespage.h  
 M  +10 -8     libdiff2/difference.cpp  
 M  +5 -2      libdiff2/difference.h  
 M  +2 -1      libdiff2/diffhunk.cpp  
 M  +2 -2      libdiff2/diffhunk.h  
 M  +5 -30     libdiff2/diffmodel.cpp  
 M  +3 -6      libdiff2/diffmodel.h  
 M  +1 -1      libdiff2/diffmodellist.cpp  
 M  +4 -2      libdiff2/diffmodellist.h  
 M  +34 -31    libdiff2/komparemodellist.cpp  
 M  +3 -1      libdiff2/komparemodellist.h  
 M  +2 -1      libdiff2/kompareprocess.cpp  
 M  +53 -17    libdiff2/levenshteintable.cpp  
 M  +5 -1      libdiff2/parserbase.cpp  
 M  +21 -26    main.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=928150