Package: dxf2gcode Version: 20170925-2 Severity: normal Tags: upstream Hi,
I managed to crash dxf2gcode in two different, but similar code paths: Traceback (most recent call last): File "/usr/bin/dxf2gcode", line 1198, in <module> window.load() File "/usr/bin/dxf2gcode", line 844, in load self.valuesDXF = ReadDXF(self.filename) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/importer.py", line 85, in __init__ self.entities = self.Read_Entities(sections_pos) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/importer.py", line 345, in Read_Entities sections[section_nr - 1].end - 1) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/importer.py", line 360, in Get_Geo entitie_geo = self.get_geo_entitie(len(geos), name) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/importer.py", line 419, in get_geo_entitie geo = GeoentLwPolyline(geo_nr, self) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/geoent_lwpolyline.py", line 47, in __init__ self.Read(caller) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/geoent_lwpolyline.py", line 196, in Read self.geo.append(LineGeo(Ps=Ps, Pe=self.geo[0].Ps)) IndexError: list index out of range Traceback (most recent call last): File "/usr/bin/dxf2gcode", line 1198, in <module> window.load() File "/usr/bin/dxf2gcode", line 844, in load self.valuesDXF = ReadDXF(self.filename) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/importer.py", line 84, in __init__ self.blocks = self.Read_Blocks(blocks_pos) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/importer.py", line 332, in Read_Blocks blocks.Entities[-1].geo = self.Get_Geo(s, e) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/importer.py", line 360, in Get_Geo entitie_geo = self.get_geo_entitie(len(geos), name) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/importer.py", line 405, in get_geo_entitie geo = GeoentPolyline(geo_nr, self) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/geoent_polyline.py", line 48, in __init__ self.Read(caller) File "/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/geoent_polyline.py", line 215, in Read self.geo.append(LineGeo(Ps=Ps, Pe=self.geo[0].Ps)) IndexError: list index out of range I attached two patches, that fixed both issues for me. -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing'), (250, 'unstable'), (100, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.15.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages dxf2gcode depends on: ii poppler-utils 0.62.0-2 ii pstoedit 3.70-5+b1 ii python3 3.6.4-1 ii python3-opengl 3.1.0+dfsg-1 ii python3-pyqt5 5.9.2+dfsg-1 dxf2gcode recommends no packages. dxf2gcode suggests no packages. -- no debconf information
--- a/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/geoent_polyline.py 2018-03-27 12:40:30.372009282 +0200 +++ b/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/geoent_polyline.py 2018-03-27 12:40:33.796011445 +0200 @@ -209,7 +209,7 @@ Ps = Pe # It is a closed polyline - if PolyLineFlag == 1: + if PolyLineFlag == 1 and len(self.geo) > 0: # print("sollten �bereinstimmen: %s, %s" %(Ps,Pe)) if next_bulge == 0: self.geo.append(LineGeo(Ps=Ps, Pe=self.geo[0].Ps))
--- a/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/geoent_lwpolyline.py 2018-03-27 12:42:15.128038514 +0200 +++ b/usr/lib/python3/dist-packages/dxf2gcode/dxfimport/geoent_lwpolyline.py 2018-03-27 12:42:19.916038148 +0200 @@ -188,7 +188,7 @@ next_bulge = bulge Ps = Pe - if LWPLClosed == 1 or LWPLClosed == 129: + if (LWPLClosed == 1 or LWPLClosed == 129) and len(self.geo) > 0: # print("sollten �bereinstimmen: %s, %s" %(Ps,Pe)) if next_bulge: self.geo.append(self.bulge2arc(Ps, self.geo[0].Ps, next_bulge))
-- debian-science-maintainers mailing list debian-science-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers