You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openoffice.apache.org by bu...@apache.org on 2015/01/02 13:28:01 UTC

[Issue 125995] New: Draw crashes when opening a file with two connectors

https://issues.apache.org/ooo/show_bug.cgi?id=125995

          Issue ID: 125995
        Issue Type: DEFECT
           Summary: Draw crashes when opening a file with two connectors
           Product: Draw
           Version: 4.1.1
          Hardware: PC
                OS: Linux64
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: open-import
          Assignee: issues@openoffice.apache.org
          Reporter: bugs@bitmuster.org

Created attachment 84365
  --> https://issues.apache.org/ooo/attachment.cgi?id=84365&action=edit
Exemplary files and screenshots

Hi There,

I have a Draw document that suddenly started to crash Draw without any comment,
when the file is opened. So I retrieved an old version from version control and
investigated on the difference in the content.xml file.

The crash seems to be caused by two connectors that connect to each other in a
special way
(The file can be rescued when one of the connectors is deleted from the
content.xml).

I was able to reproduce this behaviour with new documents and made screenshots
before closing (See attachment). I tried it with standard and curved
connectors. The type of the arrow doesn't seem to matter. 

My observation is that the crash is caused by two interconnected connectors
where each of them consists of exactly three points (See screenshots). It is
quite tricky to arrange them like that because of the autorouting.

Steps to reproduce:
 - Create new Draw document
 - Add two e.g. curved connectors
 - Connect and arrange connectors
 - Save and close file
 -> Crash when the file is opened

My Version is:
Apache OpenOffice 4.1.1
AOO411m6(Build:9775)  -  Rev. 1617669
2014-08-13 09:23 - Linux x86_64

By the way: Is there any option to get some logging or debug information in
this case?

Best Regards

Michael

-- 
You are receiving this mail because:
You are the assignee for the issue.
You are watching all issue changes.

[Issue 125995] Draw crashes when opening a file with two connectors

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=125995

Joe Smith <je...@martnet.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jes@martnet.com

--- Comment #1 from Joe Smith <je...@martnet.com> ---
I was able to reproduce the crash(es) with OO 4.1.1 on Linux x86, opening the
crash documents attached here.

AOO411m6(Build:9775)  -  Rev. 1617669
2014-08-13 09:23 - Linux i686

OO crashed with a segfault.

I was also able to create a new Draw document that crashed, but I could not
find a recipe that produces a crash file reproducibly: many attempts worked,
even though the content and layout were similar to the crash documents (two
standard connectors, three sides each).

Looking at the document xml of my crash document, I find the connector objects:

<draw:connector draw:style-name="gr1" draw:text-style-name="P1" xml:id="id1"
draw:id="id1" draw:layer="layout" draw:line-skew="5.92cm" svg:x1="8.95cm"
svg:y1="7.12cm" svg:x2="9.378cm" svg:y2="11.595cm" draw:end-shape="id2"
draw:end-glue-point="3" svg:d="M8950
7120h6848v4475h-6420"><text:p/></draw:connector>
<draw:connector draw:style-name="gr1" draw:text-style-name="P1" xml:id="id2"
draw:id="id2" draw:layer="layout" draw:line-skew="-5.142cm" svg:x1="8.95cm"
svg:y1="7.12cm" svg:x2="9.378cm" svg:y2="11.595cm" draw:start-shape="id1"
draw:start-glue-point="2" svg:d="M8950
7120h-5642v4475h6070"><text:p/></draw:connector>

Tweaking the xml to remove the attribute draw:start-shape="id1" or changing it
to draw:x-start-shape="id1" allows the document to open without crashing. If
the attribute is changed back to the correct spelling, then the document will
crash on open.

Looking at the xml from the reporter's crash documents, it seems the common
feature is that the two connectors refer to each other through the draw:start-
or draw:end- attributes. If the reference chain (or loop) is broken by removing
or misspelling any of the start- or end- attributes, then the document will
load.

For example (from the above xml):

  <draw:connector ... xml:id="id1" ...
    draw:end-shape="id2" draw:end-glue-point="3" ...</draw:connector>

  <draw:connector ... xml:id="id2" ...
    draw:start-shape="id1" draw:start-glue-point="2" ...</draw:connector>

-- 
You are receiving this mail because:
You are the assignee for the issue.
You are watching all issue changes.