Bug 70936

Summary: crash in cervisia plugin when tagging/branching
Product: [Applications] cervisia Reporter: Robert Puskajler <robert>
Component: generalAssignee: Christian Loose <christian.loose>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Slackware   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Robert Puskajler 2003-12-20 21:51:42 UTC
Version:           Quanta 3.2-Beta2 [Using KDE 3.1.94 (3.2 Beta 2)] (using KDE KDE 3.1.94)
Installed from:    Slackware Packages
OS:          Linux

Start Quanta, load project, start Cervisia plugin ...
The Quanta crashes when Advanced->Tag/Branch... is clicked.
On my system (slackware) the crash is 100% reproducable.
There are no other problems in Cervisia plugin.

The cervisia as a standalone application works well and does the tagging as expected.

Backtrace:
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...[New Thread 16384 (LWP 3656)]
0x418a95c9 in waitpid ()
   from /lib/libpthread.so.0
#0  0x418a95c9 in waitpid () from /lib/libpthread.so.0
#1  0x40e012ed in KCrash::defaultCrashHandler(int) ()
   from /opt/kde/lib/libkdecore.so.4
#2  0x418a7c45 in __pthread_sighandler () from /lib/libpthread.so.0
#3  <signal handler called>
#4  0xffffffd8 in ?? ()
#5  0x424bf637 in TagDialog::TagDialog(TagDialog::ActionType, CvsService_stub*, QWidget*, char const*) () from /opt/kde/lib/kde3/libcervisiapart.so
#6  0x424cdeb1 in CervisiaPart::createOrDeleteTag(TagDialog::ActionType) ()
   from /opt/kde/lib/kde3/libcervisiapart.so
#7  0x424cddd7 in CervisiaPart::slotCreateTag() ()
   from /opt/kde/lib/kde3/libcervisiapart.so
#8  0x424c3384 in CervisiaPart::qt_invoke(int, QUObject*) ()
   from /opt/kde/lib/kde3/libcervisiapart.so
#9  0x411d06c0 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#10 0x411d04f4 in QObject::activate_signal(int) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#11 0x40b311db in KAction::activated() () from /opt/kde/lib/libkdeui.so.4
#12 0x40b30b8f in KAction::slotActivated() () from /opt/kde/lib/libkdeui.so.4
#13 0x40b313e1 in KAction::qt_invoke(int, QUObject*) ()
   from /opt/kde/lib/libkdeui.so.4
#14 0x411d06c0 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#15 0x414e90c2 in QSignal::signal(QVariant const&) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#16 0x411ea668 in QSignal::activate() () from /usr/lib/qt/lib/libqt-mt.so.3
#17 0x412cf66d in QPopupMenu::mouseReleaseEvent(QMouseEvent*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#18 0x41204ebc in QWidget::event(QEvent*) () from /usr/lib/qt/lib/libqt-mt.so.3
#19 0x411755c5 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#20 0x41174d62 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#21 0x40d721be in KApplication::notify(QObject*, QEvent*) ()
   from /opt/kde/lib/libkdecore.so.4
#22 0x4110e146 in QETWidget::translateMouseEvent(_XEvent const*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#23 0x4110bda4 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#24 0x41122387 in QEventLoop::processEvents(unsigned) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#25 0x41188896 in QEventLoop::enterLoop() () from /usr/lib/qt/lib/libqt-mt.so.3
#26 0x41188738 in QEventLoop::exec() () from /usr/lib/qt/lib/libqt-mt.so.3
#27 0x41175811 in QApplication::exec() () from /usr/lib/qt/lib/libqt-mt.so.3
#28 0x080b55c8 in QDict<QString>::deleteItem(void*) ()
#29 0x419dfd06 in __libc_start_main () from /lib/libc.so.6
Comment 1 András Manţia 2003-12-21 17:14:19 UTC
Subject: Re:  New: crash in cervisia plugin when tagging/branching

Does it crash if you run Cervisia alone, or Cervisia inside Konqueror?

Andras
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)

iD8DBQE/5caETQdfac6L/08RAhyoAKCL3GwICU4bUXmJ9uUeVrighBT47ACeKwGn
n3qgCEYj0ebvgBQa84I/Xas=
=PeCz
-----END PGP SIGNATURE-----

Comment 2 Robert Puskajler 2003-12-22 01:46:31 UTC
Subject: Re:  crash in cervisia plugin when tagging/branching

Hi Andras,

On December 21, 2003 11:14, you wrote:
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>
> http://bugs.kde.org/show_bug.cgi?id=70936
>
>
>
>
> ------- Additional Comments From amantia@freemail.hu  2003-12-21 17:14
> ------- Subject: Re:  New: crash in cervisia plugin when tagging/branching
>
> Does it crash if you run Cervisia alone, or Cervisia inside Konqueror?

The Cervisia alone as a standalone application (CVS frontend) doesn't crash,
it opens the Tag dialog and works well ...

It will crash only when I run Cervisia plugin inside Quanta
and only when "Tag/Branch" operation (dialog) is requested.
All other Quanta and Cervisia plugin operations, I'm using, are working well.

To reproduce the crash follow the steps:
	- start Quanta [3.2-Beta2], load any project
	- click on "CVS Management (Cervisia)" icon
		or "Plugins" menu "CVS Management (Cervisia)" item
	- click on "Advanced" menu item "Tag/Branch ..."
	- Quanta crashes instantly

The cervisia plugin is configured:
	Name: "CVS Management (Cervisia)"
	FileName:  "kde3/libcervisiapart.la"
	Output Window: "Editor window"
	Input: "Project Folder"
	Location: (empty)
	Read Only Part: YES
	Validate Plugin: YES
[ which is the defualt configuration of Quanta ]

Here are the plugin files:

robert@[ghost]:~>ls -al /opt/kde/lib/kde3/libcervisiapart*
-rwxr-xr-x    1 root     root         1572 Dec  3 18:19  /opt/kde/lib/kde3/libcervisiapart.la 
-rwxr-xr-x    1 root     root       692300 Dec  3 18:59 /opt/kde/lib/kde3/libcervisiapart.so

best regards,

Robert

Comment 3 András Manţia 2004-01-07 17:53:41 UTC
Subject: Re: crash in cervisia plugin when tagging/branching

Although it's only reproducable in Quanta, I still suspect that it's a 
Cervisia bug. I will update my Cervisia and provide a detailed BT for the 
Cervisia authors.

Comment 4 András Manţia 2004-01-13 11:29:45 UTC
For me it seems to be a Cervisia (or KPart? problem). Backtrace and valgrind log attached.

backtrace:
#0  0xffffffd8 in ?? ()
#1  0x42988f34 in TagDialog (this=0xbfffe710, action=Create, service=0x8cf4940, parent=0x8cf4e18, name=0x0)
    at /development/sources/kde-head/kdesdk/cervisia/tagdlg.cpp:39
#2  0x429943e9 in CervisiaPart::createOrDeleteTag(TagDialog::ActionType) (this=0x8c68dd8, action=Create)
    at /development/sources/kde-head/kdesdk/cervisia/cervisiapart.cpp:1324
#3  0x42994332 in CervisiaPart::slotCreateTag() (this=0x8c68dd8)
    at /development/sources/kde-head/kdesdk/cervisia/cervisiapart.cpp:1308
#4  0x4298ba5e in CervisiaPart::qt_invoke(int, QUObject*) (this=0x8c68dd8, _id=31, _o=0xbfffe8f0)
    at cervisiapart.moc:238
#5  0x4136b4cd in QObject::activate_signal(QConnectionList*, QUObject*) (this=0x8df22e0, clist=0x8df25a0,
    o=0xbfffe8f0) at kernel/qobject.cpp:2333
#6  0x4136b36c in QObject::activate_signal(int) (this=0x8df22e0, signal=2) at kernel/qobject.cpp:2302
#7  0x40c18565 in KAction::activated() () from /opt/kde-cvs/lib/libkdeui.so.4
#8  0x40c17c7c in KAction::slotActivated() () from /opt/kde-cvs/lib/libkdeui.so.4
#9  0x40c1860c in KAction::qt_invoke(int, QUObject*) () from /opt/kde-cvs/lib/libkdeui.so.4
#10 0x4136b4cd in QObject::activate_signal(QConnectionList*, QUObject*) (this=0x8c884b8, clist=0x8c88558,
    o=0xbfffea00) at kernel/qobject.cpp:2333
#11 0x416ae050 in QSignal::signal(QVariant const&) (this=0x8c884b8, t0=@0x8c884e0)
    at .moc/debug-shared-mt/moc_qsignal.cpp:100
#12 0x41388975 in QSignal::activate() (this=0x8c884b8) at kernel/qsignal.cpp:204
#13 0x4147d98a in QPopupMenu::mouseReleaseEvent(QMouseEvent*) (this=0x8c879d0, e=0xbfffee30)
    at widgets/qpopupmenu.cpp:1678
#14 0x413a2b91 in QWidget::event(QEvent*) (this=0x8c879d0, e=0xbfffee30) at kernel/qwidget.cpp:4426
#15 0x4130870b in QApplication::internalNotify(QObject*, QEvent*) (this=0x82a94d8, receiver=0x8c879d0, e=0xbfffee30)
    at kernel/qapplication.cpp:2582
#16 0x41307ec1 in QApplication::notify(QObject*, QEvent*) (this=0x82a94d8, receiver=0x8c879d0, e=0xbfffee30)
    at kernel/qapplication.cpp:2368
#17 0x40e7f72d in KApplication::notify(QObject*, QEvent*) () from /opt/kde-cvs/lib/libkdecore.so.4
#18 0x4129f7fb in QApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=0x8c879d0, event=0xbfffee30)
    at kernel/qapplication.h:495
#19 0x41298cfa in QETWidget::translateMouseEvent(_XEvent const*) (this=0x8c879d0, event=0xbffff140)
    at kernel/qapplication_x11.cpp:4293
#20 0x41296ccb in QApplication::x11ProcessEvent(_XEvent*) (this=0x82a94d8, event=0xbffff140)
---Type <return> to continue, or q <return> to quit---
    at kernel/qapplication_x11.cpp:3529
#21 0x412b0814 in QEventLoop::processEvents(unsigned) (this=0x82e6138, flags=4) at kernel/qeventloop_x11.cpp:192
#22 0x4131e1e6 in QEventLoop::enterLoop() (this=0x82e6138) at kernel/qeventloop.cpp:198
#23 0x4131e102 in QEventLoop::exec() (this=0x82e6138) at kernel/qeventloop.cpp:145
#24 0x4130888b in QApplication::exec() (this=0x82a94d8) at kernel/qapplication.cpp:2705
#25 0x080b8be5 in main (argc=1, argv=0xbffff2e4) at /home/andris/development/quanta/quanta-be/quanta/main.cpp:169
#26 0x41ba68ae in __libc_start_main () from /lib/libc.so.6



valgrind log:

==8475==
==8475== Jump to the invalid address stated on the next line
==8475==    at 0xFFFFFFD8: ???
==8475==    by 0x518A5F33: TagDialog::TagDialog(TagDialog::ActionType, CvsService_stub*, QWidget*, char const*) (/development/sources/kde-head/kdesdk/cervisia/tagdlg.cpp:39)
==8475==    by 0x518B13E8: CervisiaPart::createOrDeleteTag(TagDialog::ActionType) (/development/sources/kde-head/kdesdk/cervisia/cervisiapart.cpp:1324)
==8475==    by 0x518B1331: CervisiaPart::slotCreateTag() (/development/sources/kde-head/kdesdk/cervisia/cervisiapart.cpp:1308)
==8475==    by 0x518A8A5D: CervisiaPart::qt_invoke(int, QUObject*) (cervisiapart.moc:238)
==8475==    by 0x415824CC: QObject::activate_signal(QConnectionList*, QUObject*) (kernel/qobject.cpp:2333)
==8475==    by 0x4158236B: QObject::activate_signal(int) (kernel/qobject.cpp:2302)
==8475==    by 0x40E30564: KAction::activated() (in /opt/kde-cvs/lib/libkdeui.so.4.2.0)
==8475==    by 0x40E2FC7B: KAction::slotActivated() (in /opt/kde-cvs/lib/libkdeui.so.4.2.0)
==8475==    by 0x40E3060B: KAction::qt_invoke(int, QUObject*) (in /opt/kde-cvs/lib/libkdeui.so.4.2.0)
==8475==    Address 0xFFFFFFD8 is not stack'd, malloc'd or free'd
==8475== Warning: SIGSEGV not in user code; either from syscall kill()
==8475==    or possible Valgrind bug.  This message is only shown 3 times.
==8475== Warning: SIGSEGV not in user code; either from syscall kill()
==8475==    or possible Valgrind bug.  This message is only shown 3 times.
==8475== Warning: SIGSEGV not in user code; either from syscall kill()
==8475==    or possible Valgrind bug.  This message is only shown 3 times.
Comment 5 Christian Loose 2004-01-13 16:02:13 UTC
This is strange. I took a quick look at this (not at home right now) and the last bt line (taglib.cpp:39) is the following:

setCaption( (action==Delete)? i18n("CVS Delete Tag") : i18n("CVS Tag") );

since action is equal to Create it should do a simple:

setCaption( i18n("CVS Tag") );

Don't know how this can crash.

Can you reproduce this with language set to en_US?

Christian
Comment 6 Christian Loose 2004-01-14 09:45:10 UTC
I could reproduce it and I'm working on it.
Comment 7 Christian Loose 2004-01-22 23:48:21 UTC
Subject: kdesdk/cervisia

CVS commit by cloose: 

Fix BR #70936: 
Prevent crash while embedded into Quanta because of 
a name conflict between the TagDialog classes.

CCMAIL: 70936-done@bugs.kde.org 


  M +6 -0      ChangeLog   1.107
  M +3 -1      cervisiapart.cpp   1.129
  M +2 -2      cervisiapart.h   1.27
  M +1 -0      tagdlg.cpp   1.18
  M +5 -0      tagdlg.h   1.8


--- kdesdk/cervisia/ChangeLog  #1.106:1.107
@@ -1,2 +1,8 @@
+2004-01-22  Christian Loose  <christian.loose@hamburg.de>
+
+        * Fix BR #70936:
+          Prevent crash while embedded into Quanta because of
+          a name conflict between the TagDialog classes.
+
 2004-01-16  Andr