Bug 72532

Summary: Kafka part crashes in buildKafkaNodeFromNode when VPL view is selected
Product: [Unmaintained] quanta Reporter: Thomas Tanghus <thomas>
Component: generalAssignee: András Manţia <amantia>
Status: RESOLVED FIXED    
Severity: crash CC: ndeschildre
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: xhtml-zpt.tgz

Description Thomas Tanghus 2004-01-13 09:07:57 UTC
Version:           3.2 Bleeding Edge (2004-01-08) (using KDE 3.1.94 (CVS >= 20031206), compiled sources)
Compiler:          gcc version 3.3 20030226 (prerelease) (SuSE Linux)
OS:          Linux (i686) release 2.4.20-4GB

When selecting VPL view when the file cited below is viewed the kafka part crashes.

Using kdelibs from CVS HEAD 01/13/2004 and quanta_be from the same date. The other kde parts are appr. 3 weeks old.

BTW: I use my own DTEP based on the xhtml DTEP. If it has any relevance I can send that too.

The selected file:

---[snip]------------------------------
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
      xmlns:metal="http://xml.zope.org/namespaces/metal"
      metal:use-macro="here/frame_template/macros/master">
<head>
  <title>mail_view</title>
  <link rel="stylesheet" type="text/css" href="http://tarpit.dk:8180/kolab/zpt_stylesheet.css" />
</head>
<body metal:fill-slot="body" style="background-color: white;" i18n:domain="kolab">

<div class="message"
  tal:condition="python:here.Type()=='Mail'">
  <!-- span tal:replace="here/absolute_url"></span><br / -->
  <table class="messageHeaders" cellpadding="0" cellspacing="0"
    tal:define="view_headers request/view_headers|nothing">
  <tr>
    <th class="caption" colspan="2"><span tal:replace="here/Title">Subject</span>
      <a
        tal:define="qs python:not request.has_key('view_headers') and '?view_headers=yep' or ''"
        tal:attributes="href string:${here/absolute_url}/mail_view${qs}"
        tal:content="python:request.has_key('view_headers') and 'Hide headers' or 'Show headers'">Show headers</a>
    </th>
  </tr>
  <tr tal:condition="not:view_headers">
    <th i18n:translate="">From:</th>
    <td tal:content="here/Creator">Sender</td>
  </tr>
  <tr tal:condition="not:view_headers">
    <th i18n:translate="">To:</th>
    <td tal:content="here/To">Receiver</td>
  </tr>
  <tr tal:condition="python:(here.hasHeader('Cc') and here.Cc().strip()!='' and not view_headers)">
    <th i18n:translate="">Cc:</th>
    <td tal:content="here/Cc">Receiver</td>
  </tr>
  <tr tal:condition="not:view_headers">
    <th i18n:translate="">Date:</th>
    <td
      i18n:domain="calendar">
      <span tal:omit-tag=""
      i18n:translate="mail_datetime"
      i18n:data="python:here.i18n_datetime(here.DateTime())">Date</span></td>
  </tr>
  <tal:block
    condition="view_headers"
    define="headers here/getHeaders"
    repeat="header headers/keys">
  <tr>
    <th i18n:translate="" tal:content="string:${header}:">Header:</th>
    <td tal:content="python:headers[header]">Value</td>
  </tr>
  </tal:block>
  </table>
  <div class="messageBody">
    <div tal:attributes="class python:here.classNameFor(here)"
      tal:omit-tag="not:here/isMultiPart">
      <div
        tal:condition="python:(not here.isMultiPart()) or here.isBroken()"
        tal:define="body here/Body">
        <pre tal:omit-tag="python:body['format']!='text/plain'">
<span tal:replace="structure body/body">Message body</span>
        </pre>
      </div>
      <div tal:condition="here/isMultiPart">
        <tal:block repeat="part here/contentValues">
          <div tal:attributes="class python:here.classNameFor(part)">
          <pre tal:omit-tag="python:part.Format()!='text/plain'">
          <p
            tal:content="structure part/Body">Message part</p>
          </pre>
          </div>
        </tal:block>
      </div>
    </div>
  </div>
</div>
</body>
</html>
---[snip]------------------------------

Backtrace

---[snip]------------------------------
[New Thread 16384 (LWP 14360)]
0x41b60387 in waitpid () from /lib/libpthread.so.0
#0  0x41b60387 in waitpid () from /lib/libpthread.so.0
#1  0x40f4b962 in KCrash::defaultCrashHandler(int) ()
   from /opt/kde3/lib/libkdecore.so.4
#2  0x41b5f1ec in __pthread_sighandler () from /lib/libpthread.so.0
#3  <signal handler called>
#4  0x080ef78a in KafkaDocument::buildKafkaNodeFromNode(Node*, bool) (
    this=0x8935cb8, node=0x8c85a28, insertNode=8) at wkafkapart.cpp:438
#5  0x080edd0c in KafkaDocument::loadDocument(Document*) (this=0x8935cb8, 
    doc=0x8c85a28) at wkafkapart.cpp:192
#6  0x080aa6c6 in QuantaView::slotShowKafkaPart() (this=0x8924808)
    at quantaview.cpp:583
#7  0x080aceec in QuantaView::qt_invoke(int, QUObject*) (this=0x8924808, 
    _id=88, _o=0xbfffeb60) at quantaview.moc:303
#8  0x4131f6f1 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#9  0x4131f4c7 in QObject::activate_signal(int) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#10 0x40c567f6 in KAction::activated() () from /opt/kde3/lib/libkdeui.so.4
#11 0x40c611ea in KToggleAction::slotActivated() ()
   from /opt/kde3/lib/libkdeui.so.4
#12 0x40c6d54c in KToggleAction::qt_invoke(int, QUObject*) ()
   from /opt/kde3/lib/libkdeui.so.4
#13 0x4131f626 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0x4131f4c7 in QObject::activate_signal(int) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#15 0x41658b1c in QButton::clicked() () from /usr/lib/qt3/lib/libqt-mt.so.3
#16 0x413b1c4c in QButton::mouseReleaseEvent(QMouseEvent*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#17 0x41355c14 in QWidget::event(QEvent*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#18 0x412c16ef in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0x412c0aa3 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#20 0x40ea8631 in KApplication::notify(QObject*, QEvent*) ()
   from /opt/kde3/lib/libkdecore.so.4
#21 0x41255d96 in QETWidget::translateMouseEvent(_XEvent const*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0x412537ed in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0x41268aad in QEventLoop::processEvents(unsigned) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#24 0x412d5023 in QEventLoop::enterLoop() ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#25 0x412d4f16 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0x412c190f in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#27 0x080b7973 in main ()
#28 0x41c9c857 in __libc_start_main () from /lib/libc.so.6
Comment 1 Nicolas Deschildre 2004-01-15 13:01:08 UTC
I can't reproduce the crash with the latest quanta_be (14/01), so can you send me your DTEP (even if i believe it has no impact) please?
Comment 2 Thomas Tanghus 2004-01-15 21:28:34 UTC
Subject: Re:  Kafka part crashes in buildKafkaNodeFromNode when VPL view is selected

Here's the dtep - although I dont think its causing it. It also crashes using 
other dteps.

Did you try with the attached file?



Created an attachment (id=4184)
xhtml-zpt.tgz
Comment 3 Nicolas Deschildre 2004-01-23 16:17:10 UTC
Confirmed, but with a different backtrace:
0x4048e0fe in findRenderer (node=@0xbfffefa4) at khtml_caret.cpp:65
65        if (r->isTableCol()) r = nextSuitableLeafRenderObject(r);
(gdb) bt
#0  0x4048e0fe in findRenderer (node=@0xbfffefa4) at khtml_caret.cpp:65
#1  0x4048e15a in sanitizeCaretState (caretNode=@0xbffff1e4, offset=@0xbffff1e8) at khtml_caret.cpp:79
#2  0x404935df in KHTMLView::moveCaretTo(DOM::NodeImpl*, long, bool) (this=0x88ed078, node=0x8ddecc8,
    offset=0, clearSel=true) at khtmlview.cpp:2770
#3  0x404a5a05 in KHTMLPart::setCaretPosition(DOM::Node, long, bool) (this=0x88ecb48, node=Cannot access memory at address 0x0
)
    at khtml_part.cpp:2333
#4  0x08119040 in KafkaWidget::slotDelayedSetCaretPosition() (this=0x88ecb48) at kafkahtmlpart.cpp:222

Actually it is a caret related bug, and i've notified Leo Savernik of it.
Comment 4 Nicolas Deschildre 2004-02-09 08:56:03 UTC
Ok fixed!
Thanks for your bugreport!