Bug 109962

Summary: Quanta crashes on startup
Product: [Unmaintained] quanta Reporter: Jure Repinc <jlp>
Component: generalAssignee: András Manţia <amantia>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: patch for kde 3.5 svn branches

Description Jure Repinc 2005-08-01 01:33:03 UTC
Version:           SVN 3.5 branch (using KDE Devel)
Installed from:    Compiled sources
Compiler:          GCC 4.0.1 i586
OS:                Linux

When I start up Quanta it crashes. This is the backtrace:

Using host libthread_db library "/lib/tls/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1239800128 (LWP 19761)]
[KCrash handler]
#4  0xffffe410 in __kernel_vsyscall ()
#5  0xb61cdf17 in raise () from /lib/tls/libc.so.6
#6  0xb61cf8cb in abort () from /lib/tls/libc.so.6
#7  0xb61c7065 in __assert_fail () from /lib/tls/libc.so.6
#8  0xb796cf87 in KHTMLFactory::defaultHTMLSettings ()
    at /home/kdedev/src/kde/kdelibs/khtml/khtml_factory.cpp:198
#9  0xb7929d53 in KHTMLView (this=0x851a9a8, part=0x0, parent=0x0, 
    name=0x830556b "KafkaPart")
    at /home/kdedev/src/kde/kdelibs/khtml/khtmlview.cpp:256
#10 0x082c81c7 in KafkaWidget (this=0x853c7c8, parent=0x0, widgetParent=0x0, 
    part=0x0, name=0x830556b "KafkaPart")
    at /home/kdedev/src/kde/kdewebdev/quanta/parts/kafka/kafkahtmlpart.cpp:89
#11 0x082de022 in KafkaDocument (this=0x8526d48, parent=0x0, widgetParent=0x0, 
    name=0x830556b "KafkaPart")
    at /home/kdedev/src/kde/kdewebdev/quanta/parts/kafka/wkafkapart.cpp:89
#12 0x080832e0 in QuantaInit::initView (this=0x8467778)
    at /home/kdedev/src/kde/kdewebdev/quanta/parts/kafka/wkafkapart.h:58
#13 0x08087ceb in QuantaInit::initQuanta (this=0x8467778)
    at /home/kdedev/src/kde/kdewebdev/quanta/src/quanta_init.cpp:159
#14 0x080abf33 in KQApplicationPrivate::init (this=0x8382114)
    at /home/kdedev/src/kde/kdewebdev/quanta/src/kqapp.cpp:206
#15 0x080ac8f2 in KQApplication (this=0x8382048)
    at /home/kdedev/src/kde/kdewebdev/quanta/src/kqapp.cpp:105
#16 0x0809339d in main (argc=1, argv=0xbf88d634)
    at /home/kdedev/src/kde/kdewebdev/quanta/src/main.cpp:209
Comment 1 Yan Morin 2005-08-08 20:45:20 UTC
I think that it's the recent add of accessKeysEnabled support
in kdelibs/khtml/khtmlview.cpp
http://websvn.kde.org/branches/KDE/3.5/kdelibs/khtml/khtmlview.cpp?rev=440572&r1=438982&r2=440572

It's look like there is no KHTMLFactory() created before, when the new KHTMLViewPrivate is created
http://lxr.kde.org/source/KDE/kdelibs/khtml/khtmlview.cpp?v=3.5-branch#467

The KHTMLView is created there
http://lxr.kde.org/source/KDE/kdewebdev/quanta/parts/kafka/kafkahtmlpart.cpp?v=3.5-branch#088
Comment 2 Yan Morin 2005-08-08 22:06:33 UTC
Created attachment 12149 [details]
patch for kde 3.5 svn branches

create the kpart, register the khtmlfactory and add the view
Comment 3 András Manţia 2005-08-09 09:31:22 UTC
Thanks' for finding the problematic commit. I informed the KHTML 
developers about it. Unfortunately your fix is not good as it will not 
create the needed KHTMLView object...

Andras
Comment 4 András Manţia 2005-08-09 09:37:36 UTC
On Tuesday 09 August 2005 10:31, Mantia Andras wrote:
>  Unfortunately your fix is not good as it will not
> create the needed KHTMLView object...


Correction: the fix looks to be good as I missed that there is a second 
constructor for KHTMLPart...
Comment 5 András Manţia 2005-08-09 09:40:07 UTC
SVN commit 444206 by amantia:

Workaround for the newly introduced KHTML bug (crashes when using the KHTMLPart constructor with KHTMLView argument or when creating a KHTMLView alone). Patch by Yan Morin.

BUG: 109962

 M  +1 -1      parts/kafka/kafkahtmlpart.cpp  
 M  +7 -7      quanta.kdevelop  


--- branches/KDE/3.5/kdewebdev/quanta/parts/kafka/kafkahtmlpart.cpp #444205:444206
@@ -85,7 +85,7 @@
 
 KafkaWidget::KafkaWidget(QWidget *parent, QWidget *widgetParent, KafkaDocument *part,
                          const char *name)
-        : KHTMLPart(new KHTMLView(this, widgetParent, name), parent, name),
+        : KHTMLPart(widgetParent, name, parent, name),
         w(part)
 {
     m_contextPopupMenu = new QPopupMenu();
--- branches/KDE/3.5/kdewebdev/quanta/quanta.kdevelop #444205:444206
@@ -33,7 +33,7 @@
       <abortonerror>true</abortonerror>
       <numberofjobs>2</numberofjobs>
       <dontact>false</dontact>
-      <makebin></makebin>
+      <makebin/>
       <envvars>
         <envvar value="no" name="UNSERMAKE" />
         <envvar value="1" name="WANT_AUTOCONF_2_5" />
@@ -191,16 +191,16 @@
   </kdevdoctreeview>
   <kdevdebugger>
     <general>
-      <dbgshell></dbgshell>
-      <programargs></programargs>
+      <dbgshell/>
+      <programargs/>
       <gdbpath>/usr/bin/</gdbpath>
       <breakonloadinglibs>true</breakonloadinglibs>
       <separatetty>false</separatetty>
       <floatingtoolbar>false</floatingtoolbar>
       <runappinappdirectory>true</runappinappdirectory>
-      <configGdbScript></configGdbScript>
-      <runShellScript></runShellScript>
-      <runGdbScript></runGdbScript>
+      <configGdbScript/>
+      <runShellScript/>
+      <runGdbScript/>
     </general>
     <display>
       <staticmembers>false</staticmembers>
@@ -271,7 +271,7 @@
       <pcs>KDElibs</pcs>
     </references>
     <creategettersetter>
-      <prefixGet></prefixGet>
+      <prefixGet/>
       <prefixSet>set</prefixSet>
       <prefixVariable>m_,_</prefixVariable>
       <parameterName>theValue</parameterName>