Bug 129275 - kplato segfault loading project file
Summary: kplato segfault loading project file
Status: RESOLVED FIXED
Alias: None
Product: kplato
Classification: Unmaintained
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Dag Andersen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-17 01:04 UTC by Angelo Babudro
Modified: 2006-07-06 16:34 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Angelo Babudro 2006-06-17 01:04:51 UTC
Version:           0.5.1 (using KDE KDE 3.5.3)
Installed from:    Gentoo Packages
Compiler:          gcc 3.4.6 and 4.1.1 gcc 3.4.6 is on a 32-bit x86 P4 - gcc 4.1.1 is on an x86_64 amd64
OS:                Linux

I started a project with kplato on kde 3.5.2, then upgraded both my laptop and desktop to kde 3.5.3 (if that matters), then worked further on the project.  Today tried to reload the project and it gives me a segfault.  Tried loading the back-up file and got the same result.

Almost identical errors report on my Thinkpad P4 (compiled with gcc 3.4.6) as with my Athlon64 desktop (compiled with gcc 4.1.1 x86_64).

Running "kplato" from a command prompt, here is what the P4 system said:

QPainter::setPen: Will be reset by begin()
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Prepare facility Not unique id: 0
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Production started Not unique id: 0
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Ship Not unique id: 0
QObject::connect: Cannot connect KStatusBarLabel::itemPressed(int) to (null)::pressed(int)
QObject::connect: Cannot connect KStatusBarLabel::itemReleased(int) to (null)::released(int)
QPainter::restore: Empty stack error
kplato: ERROR: [bool KPlato::Calendar::setId(QString)] id '1' is already used for different node: Base
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Prepare facility Not unique id: 0
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Production started Not unique id: 0
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '25' already used for different node: Review & sign lease
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '25' is already used for different node: Review & sign lease
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Network wiring Not unique id: 5
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '62' already used for different node: NTP on NS2
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '62' is already used for different node: NTP on NS2
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] SSL (?) Not unique id: 43
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '62' already used for different node: NTP on NS2
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '62' is already used for different node: NTP on NS2
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] phpMyAdmin Not unique id: 43
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '69' already used for different node: Make emergency boot CD
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '69' is already used for different node: Make emergency boot CD
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Authentication/Database (2) Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '85' already used for different node: Present in Nigeria
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '85' is already used for different node: Present in Nigeria
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Routing: plan & implement Not unique id: 29
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '29' already used for different node: Establish neighbourhood
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '29' is already used for different node: Establish neighbourhood
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Routers/Proxy servers (2) Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '69' already used for different node: Make emergency boot CD
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '69' is already used for different node: Make emergency boot CD
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Billing Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '58' already used for different node: Load balancing/Fail-over
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '58' is already used for different node: Load balancing/Fail-over
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Devel/Back-up/Monitor Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '77' already used for different node: Develop back-up routine
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '77' is already used for different node: Develop back-up routine
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Spare servers (2) Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '70' already used for different node: Webaliser
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '70' is already used for different node: Webaliser
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test DNS Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '29' already used for different node: Establish neighbourhood
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '29' is already used for different node: Establish neighbourhood
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test web server Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '36' already used for different node: Web-mail
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '36' is already used for different node: Web-mail
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test e-mail servers Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '8' already used for different node: Test proxies & routing
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '8' is already used for different node: Test proxies & routing
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test NNTP Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '8' already used for different node: Test proxies & routing
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '8' is already used for different node: Test proxies & routing
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test billing Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '86' already used for different node: Test authentication
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '86' is already used for different node: Test authentication
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test spares Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '8' already used for different node: Test proxies & routing
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '8' is already used for different node: Test proxies & routing
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test devel (use for all tests) Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Ship Not unique id: 0
kplato: ERROR: [virtual bool KPlato::Project::load(QDomElement&)] Failed to load relation
kplato: ERROR: [virtual bool KPlato::Project::load(QDomElement&)] Failed to load relation
kplato: ERROR: [virtual bool KPlato::Project::load(QDomElement&)] Failed to load relation
Segmentation fault
angelo@thinkpad.ispl.ca ~ $ 




And here is what the AMD64 system said:

kplato: ERROR: [bool KPlato::Calendar::setId(QString)] id '1' is already used for different node: Base
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Prepare facility Not unique id: 0
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Production started Not unique id: 0
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '25' already used for different node: Review & sign lease
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '25' is already used for different node: Review & sign lease
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Network wiring Not unique id: 5
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '62' already used for different node: NTP on NS2
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '62' is already used for different node: NTP on NS2
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] SSL (?) Not unique id: 43
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '62' already used for different node: NTP on NS2
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '62' is already used for different node: NTP on NS2
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] phpMyAdmin Not unique id: 43
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '69' already used for different node: Make emergency boot CD
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '69' is already used for different node: Make emergency boot CD
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Authentication/Database (2) Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '85' already used for different node: Present in Nigeria
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '85' is already used for different node: Present in Nigeria
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Routing: plan & implement Not unique id: 29
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '29' already used for different node: Establish neighbourhood
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '29' is already used for different node: Establish neighbourhood
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Routers/Proxy servers (2) Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '69' already used for different node: Make emergency boot CD
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '69' is already used for different node: Make emergency boot CD
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Billing Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '58' already used for different node: Load balancing/Fail-over
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '58' is already used for different node: Load balancing/Fail-over
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Devel/Back-up/Monitor Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '77' already used for different node: Develop back-up routine
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '77' is already used for different node: Develop back-up routine
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Spare servers (2) Not unique id: 7
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '70' already used for different node: Webaliser
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '70' is already used for different node: Webaliser
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test DNS Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '29' already used for different node: Establish neighbourhood
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '29' is already used for different node: Establish neighbourhood
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test web server Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '36' already used for different node: Web-mail
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '36' is already used for different node: Web-mail
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test e-mail servers Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '8' already used for different node: Test proxies & routing
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '8' is already used for different node: Test proxies & routing
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test NNTP Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '8' already used for different node: Test proxies & routing
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '8' is already used for different node: Test proxies & routing
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test billing Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '86' already used for different node: Test authentication
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '86' is already used for different node: Test authentication
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test spares Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] My id '8' already used for different node: Test proxies & routing
kplato: ERROR: [bool KPlato::Node::setId(QString)] id '8' is already used for different node: Test proxies & routing
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Test devel (use for all tests) Not unique id: 76
kplato: ERROR: [bool KPlato::Node::setId(QString)] id is empty
kplato: ERROR: [virtual void KPlato::Node::addChildNode(KPlato::Node*, KPlato::Node*)] Ship Not unique id: 0
kplato: ERROR: [virtual bool KPlato::Project::load(QDomElement&)] Failed to load relation
kplato: ERROR: [virtual bool KPlato::Project::load(QDomElement&)] Failed to load relation
kplato: ERROR: [virtual bool KPlato::Project::load(QDomElement&)] Failed to load relation
Segmentation fault
angelo@blacktower.ispl.ca ~ $
Comment 1 Dag Andersen 2006-06-30 14:15:13 UTC
SVN commit 556481 by danders:

Fix crash during load due to corrupted xml file.
This doesn't fix the cause for the corrupted
xml file though!

CCBUG:129275
CCMAIL:guyfr@touchtunes.com



 M  +4 -0      kptrelation.cc  


--- branches/koffice/1.5/koffice/kplato/kptrelation.cc #556480:556481
@@ -74,6 +74,10 @@
     if (m_child == 0) {
         return false;
     }
+    if (m_child == m_parent) {
+        kdDebug()<<k_funcinfo<<"child == parent"<<endl;
+        return false;
+    }
     if (!m_parent->legalToLink(m_child))
         return false;
         
Comment 2 Dag Andersen 2006-07-06 16:34:01 UTC
*** Bug has been marked as fixed ***.