hpgl export crashes, file remains empty

Bug #717767 reported by Jay
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Confirmed
Medium
Unassigned

Bug Description

When exporting a not-so-simple file as hpgl, the exporter crashes, leaving the following error report:

Traceback (most recent call last):

  File "hpgl_output.py", line 93, in <module>

    e.affect()

  File "C:\Program Files (x86)\Inkscape\share\extensions\inkex.py", line 215, in affect

    self.effect()

  File "hpgl_output.py", line 80, in effect

    cspsubdiv.cspsubdiv(p, self.options.flat)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 17, in cspsubdiv

    subdiv(sp,flat)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 38, in subdiv

    subdiv(sp,flat,i)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 38, in subdiv

    subdiv(sp,flat,i)

[...] (I have removed all the lines that are obviously part of the recursive loop and remain the same to make this report more readable)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 38, in subdiv

    subdiv(sp,flat,i)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 38, in subdiv

    subdiv(sp,flat,i)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 38, in subdiv

    subdiv(sp,flat,i)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 38, in subdiv

    subdiv(sp,flat,i)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 38, in subdiv

    subdiv(sp,flat,i)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 29, in subdiv

    subdiv(sp,flat,i+1)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 26, in subdiv

    m = maxdist(b)

  File "C:\Program Files (x86)\Inkscape\share\extensions\cspsubdiv.py", line 12, in maxdist

    return max(s1.distanceToPoint(p1),s1.distanceToPoint(p2))

  File "C:\Program Files (x86)\Inkscape\share\extensions\ffgeom.py", line 88, in distanceToPoint

    return self.perpDistanceToPoint(p)

  File "C:\Program Files (x86)\Inkscape\share\extensions\ffgeom.py", line 90, in perpDistanceToPoint

    len = self.length()

  File "C:\Program Files (x86)\Inkscape\share\extensions\ffgeom.py", line 97, in length

    return math.sqrt((self.delta_x() ** 2) + (self.delta_y() ** 2))

  File "C:\Program Files (x86)\Inkscape\share\extensions\ffgeom.py", line 66, in delta_x

    return self[1]['x'] - self[0]['x']

RuntimeError: maximum recursion depth exceeded

Tags: exporting hpgl
Revision history for this message
Jay (jannis) wrote :
Revision history for this message
Alvin Penner (apenner) wrote :

confirmed at a flatness of 0.5
the problem apparently goes away at a flatness of 1. The flatness controls the precision of the fit, and low flatness will yield a larger, more precise, file.

Changed in inkscape:
status: New → Confirmed
Revision history for this message
su_v (suv-lp) wrote :

Same as Bug #487052 “HPGL Output crashes ”?

@Alvin - could it be that both HPGL reports are a duplicate of

Bug #340123 “Effects - Modify Path - Flatten Beziers fails on complicated paths with small flatness parameter”
<https://bugs.launchpad.net/inkscape/+bug/340123>

tags: added: exporting
removed: export inkscape
Changed in inkscape:
importance: Undecided → Medium
Revision history for this message
Jay (jannis) wrote :

Thanks for the information. File output with flatness of 1 totally sufficed, the output file is nice and fine.

Sorry for the duplicate though.

Revision history for this message
Alvin Penner (apenner) wrote :

@~suv - yes, I think you are correct, these bugs all look the same. It would be nice to fix this one. It is clear that the flatness causes the problem, but it is not clear how to predict the crash ahead of time, before it happens.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.