Bug 921033

Summary: [abrt] inkscape-0.48.4-1.fc18: Avoid::ConnRef::generatePath: Process /usr/bin/inkscape was killed by signal 6 (SIGABRT)
Product: [Fedora] Fedora Reporter: Mildred <mildred-bug.redhat>
Component: inkscapeAssignee: Gwyn Ciesla <gwync>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: duffy, gwync, lkundrak
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:0b6248368726805dfb309b700e33d0627aeef2cf
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-05 19:55:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: dso_list
none
File: environ
none
File: limits
none
File: maps
none
File: open_fds
none
File: proc_pid_status
none
File: var_log_messages
none
File: 03_Branches.svg.2013_03_13_11_23_37.0.svg none

Description Mildred 2013-03-13 10:58:12 UTC
Description of problem:
Opened a svg file with inkscape

Version-Release number of selected component:
inkscape-0.48.4-1.fc18

Additional info:
backtrace_rating: 4
cmdline:        inkscape /home/shanti/Work/Sogilis/formation-git/Slides/03_Branches.svg.2013_03_13_11_23_37.0.svg
crash_function: Avoid::ConnRef::generatePath
executable:     /usr/bin/inkscape
kernel:         3.7.4-204.fc18.x86_64
uid:            1000

Truncated backtrace:
Thread no. 1 (9 frames)
 #4 Avoid::ConnRef::generatePath at libavoid/connector.cpp:844
 #5 Avoid::Router::rerouteAndCallbackConnectors at libavoid/router.cpp:739
 #6 Avoid::Router::processTransaction at libavoid/router.cpp:564
 #7 sp_document_ensure_up_to_date at document.cpp:1055
 #8 SPDesktop::init at desktop.cpp:188
 #9 SPDesktopWidget::createInstance at widgets/desktop-widget.cpp:1417
 #10 sp_desktop_widget_new at widgets/desktop-widget.cpp:1402
 #11 sp_file_open at file.cpp:244
 #12 sp_main_gui at main.cpp:968

Comment 1 Mildred 2013-03-13 10:58:15 UTC
Created attachment 709481 [details]
File: backtrace

Comment 2 Mildred 2013-03-13 10:58:18 UTC
Created attachment 709482 [details]
File: cgroup

Comment 3 Mildred 2013-03-13 10:58:19 UTC
Created attachment 709483 [details]
File: core_backtrace

Comment 4 Mildred 2013-03-13 10:58:22 UTC
Created attachment 709484 [details]
File: dso_list

Comment 5 Mildred 2013-03-13 10:58:24 UTC
Created attachment 709485 [details]
File: environ

Comment 6 Mildred 2013-03-13 10:58:26 UTC
Created attachment 709486 [details]
File: limits

Comment 7 Mildred 2013-03-13 10:58:29 UTC
Created attachment 709487 [details]
File: maps

Comment 8 Mildred 2013-03-13 10:58:31 UTC
Created attachment 709488 [details]
File: open_fds

Comment 9 Mildred 2013-03-13 10:58:33 UTC
Created attachment 709489 [details]
File: proc_pid_status

Comment 10 Mildred 2013-03-13 10:58:35 UTC
Created attachment 709490 [details]
File: var_log_messages

Comment 11 Mildred 2013-03-13 10:58:54 UTC
Created attachment 709491 [details]
File: 03_Branches.svg.2013_03_13_11_23_37.0.svg

Comment 12 Mildred 2013-03-14 08:39:40 UTC
I am getting the following from the command line:

inkscape: libavoid/connector.cpp:844: bool Avoid::ConnRef::generatePath(): Assertion `pathlen < 200' failed.

Looking at libavoid/connector.cpp, it seem that inkscape was not designed for path length > 200. And I think I hit the limit.

Here is what I can get from this source file name:

825	int pathlen = 1;
826	for (VertInf *i = tar; i != _srcVert; i = i->pathNext)
827	{
828	    pathlen++;
829	    if (i == NULL)
830	    {
831	        db_printf("Warning: Path not found...\n");
832	        pathlen = 2;
833	        tar->pathNext = _srcVert;
834	        if ((_type == ConnType_PolyLine) && _router->InvisibilityGrph)
835	        {
836	            // TODO: Could we know this edge already?
837	            EdgeInf *edge = EdgeInf::existingEdge(_srcVert, tar);
838	            COLA_ASSERT(edge != NULL);
839	            edge->addCycleBlocker();
840	        }
841	        break;
842	    }
843	    // Check we don't have an apparent infinite connector path.
844	    COLA_ASSERT(pathlen < 200);
845	}
846	std::vector<Point> path(pathlen);

I'm using a lot of connectors in this drawing, you can look at the file that fails to open.

And this is very annoying because I can save the drawing ok, but then I can't open it afterwards. Fortunately, I have version control and was able to dig up a previous version that I could still open. But when I'm doing some operations, it always end up with this assertion failure.

Comment 13 Mildred 2013-03-14 10:19:48 UTC
Removing this assertion and recompiling inkscape ... I can open my files; Yay !

Reported in inkscape bug tracker: https://bugs.launchpad.net/fedora/+bug/1155046

Comment 14 Fedora End Of Life 2013-12-21 12:07:01 UTC
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 15 Fedora End Of Life 2014-02-05 19:55:39 UTC
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.