Slic3r 1.2.8 GUI crashes while loading a broken STL (Dremelfuge_V4.stl) #2914

hyperair opened this Issue Jun 15, 2015 · 1 comment


None yet

2 participants


Problematic thing:
Problematic STL:

Steps to reproduce:

  1. Launch Slic3r
  2. Click add
  3. Select this stl.
  4. Crash.

Command line output:

% slic3r >= 1.96 is required, please update
Something is syntactically very wrong with this ASCII STL!: Resource temporarily unavailable
Illegal division by zero at /usr/share/perl5/Slic3r/GUI/ line 281.
@hyperair hyperair changed the title from Slic3r 1.2.8 GUI crashes while loading a broken STL to Slic3r 1.2.8 GUI crashes while loading a broken STL (Dremelfuge_V4.stl) Jun 15, 2015
@alexrj alexrj added this to the 1.2.9 milestone Jun 15, 2015
@alexrj alexrj added a commit that referenced this issue Jun 15, 2015
@alexrj Fixed regression casusing some rare STL files not to parsed correctly…
… because of lack of the solid name. #2914
alexrj commented Jun 15, 2015

Thank you! Turned out the STL file is almost valid, and the recent changes I did for making our STL parser stronger made it more strict on this thing. Now fixed.

@alexrj alexrj closed this Jun 15, 2015
@alexrj alexrj added the Fixed label Jun 15, 2015
@lordofhyphens lordofhyphens added a commit to lordofhyphens/Slic3r that referenced this issue Jun 6, 2016
@lordofhyphens lordofhyphens Adaptive slicing (#4)
* Releasing 1.2.8

* More fixes for Unicode path handling (thanks @josefprusa for Czech test VM)

* Bump version number

* Limit bridge over sparse infill to areas that can absorb such extrudate. #2899

* Minor adjustment of infill_overlap math

* Raise the thickness threshold used for generating thin walls. TODO: don't enforce this at the segment level but consider the average thickness of an entire polyline and compare it to the total length. #2910

* Typo

* Fixed regression casusing some rare STL files not to parsed correctly because of lack of the solid name. #2914

* Fix minor rendering glitch in 2D toolpaths preview

* Releasing 1.2.9

* Bugfix: binary ASCII files were not written with the correct fopen() mode. #2928

* Disable testing of modules that have known broken tests

* Add perl 5.22 to Travis CI

* Revert "Add perl 5.22 to Travis CI"

This reverts commit 3b7cb67.

* Ported PlaceholderParser::apply_env_variables() to XS

* Ported Config::setenv() to XS

* Finished porting PlaceholderParser to XS

* Ported Slic3r::GCode::AvoidCrossingPerimeters to XS

* Removed setenv() test as we can't test environment variables in Perl since they are now set in XS

* Ported Slic3r::GCode::Wipe storage to XS

* Ported Slic3r::GCode::OozePrevention storage to XS

* Updated test

* Ported Slic3r::GCode storage to XS

* Ported more Slic3r::GCode methods to XS

* Ported Slic3r::GCode::needs_retraction() to XS

* Make tests happy

* Macro for readability

* Use macro in PrintConfig.hpp

* Ported GCode::set_extruder() and OozePrevention

* Ported GCode::travel_to() to XS

* Ported GCode::extrude_path() to XS (speed boost!)

* Use GCodeWriter for path segments (refactoring)

* Ported GCode::set_extruders() and GCode::change_layer() to XS

* Finished porting Slic3r::GCode to XS (speed boost!)

* Initial work for porting PerimeterGenerator to XS

* Bugfix: bridge anchors were shortened under rare circumstances

* Bugfix: changing range-based layer heigths didn't trigger background processing. #2958

* Bugfix: zooming in empty layers preview (because of disabled background processing) crashed

* More work for porting PerimeterGenerator to XS

* Fix compilation on Windows due to lack of setenvt(). #2973

* Finished porting PerimeterGenerator to C++

* Ported make_perimeters() to C++

* Fixed potential hang in PerimeterGenerator.cpp

* Update GCode.cpp

Bugfix #3038

* Fix for #3069

* Finished porting LayerRegion to C++

* Bump version number

* Added a new grid infill pattern

* Several improvements to the print job queue

* Test button for serial connection

* Fixed memory leak

* Fixed memory leak

* More memory leaks fixed

* Removed debugging statement

* More memory leaks fixed



* Keep print job order

* Manual control

* Implemented connection timeout in C++

* Fixed manual control buttons

* Smarter logic for displaying printer panels

* Try to fix broken wx scrolling

* Display a warning when no USB/serial printers were configured

* Bugfix: wrong error handling in GCodeSender

* Fix incorrect comments to temperature-setting gcode

* Fix G-code checksum

* Bugfix: wrong default in extruder_offset tooltip. #3051

* Fixed regression causing empty prints to hang. #3107

* When background processing fails because of an error, display it in an explicit dialog

* Fixed one more memory leak

* Include the option category for first_layer_extrusion_width. #3061

* Prompt user when setting wipe + use_firmware_retraction. #3056

* Bugfix: error when setting per-region percent perimeter_extrusion_width. #2983



* Refactoring: prefix inc/dec operators for iterators

* Style fix: const for some functions

* Fix: Initializer list, right initialisation order

* std::list::empty faster than std::list::size (for C++03)

* Fix: memory leak in ExPolygon::triangulate_p2t

* Function arguments passed by reference

* Function arguments passed by reference

* Config: pass value as a reference

* Fix for -Wmaybe-uninitialized warninig

* Removed unused variables

* Addtional check for TPPLPoly::operator=

* Fix signed-unsigned compare

* Fixed compilation warnings and a potential bug in MotionPlanner, as reported in #3054

* Replace the flip word with mirror. #3060

* Added more search paths for Boost on Win32

* Fix compilation on Windows

* Improve Boost path detection

* Remove Boost from distribution and fix some more things for Windows compilation

* More compilation changes for Win32

* Fix serial port detection on Windows

* More fixes for serial port detection on Windows

* Prevent double connection check

* Two fixes for --debug

* Two fixes for --debug

* Smoother manual control movements

* Fix rendering on Windows

* Some fixes and improvements to controller

* Projector for DLP

* Re-enable serial connection for DLP projector

* More customizable options for DLP projector

* Slice objects even if background processing is disabled

* Don't crash when no serial ports are available on Windows

* Several fixes to GCodeSender, including compilation on older OS X and DTR reset

* Changed default settings for DLP projector and changed time options from integer to decimal

* Added libboost-* packages for Travis CI build

* Further improvements for compilation (Ubuntu)

* Further improvements for compilation (Ubuntu)



* One more fix for Travis CI

* More small fixes for compilation on Linux

* One more fix for Travis CI

* More small fixes for compilation on Linux

* Add manual control to DLP projector too

* Added manual projection control

* Let user configure travel speed in manual control dialog

* Prevent absolute movement if user hasn't homed both X and Y

* Limit slider to number of layers

* Fix projection of slices with holes because wxDC is not honoring the fill rule

* Project grid

* New option for inverting the Y axis in projection

* Removed debugging comment

* Bugfix: an error in porting caused bad perimeter ordering. Includes regression test and more unit tests for PerimeterGenerator

* Bugfix: prevent crash when setting a Choice field to a non-indexed value

* Change order in DLP projection

* Ported _arrange() and arrange_object() to XS

* Ported mode Model methods to XS

* Ported a couple more methods to XS

* Ported Layer::maker_perimeters() to XS

* Make test happy

* Try to fix compilation on older Perls

* Improvements to DLP projector: disable all options while printing; apply config changes to the printer preset so that user can save them; show total and remaining print time

* Disable screensaver while projecting (untested on Windows)

* Fix a compilation error on Win32

* Upgrade Travis CI conf

* Fixed Travis CI conf

* Add color icons to menu items about axes. #3121

* New "Scale to size" command(s). #2711

* Fix a minor glitch with scrollbars in OverrideSettingsPanel

* Preserve the current layer when refreshing the 3D preview

* Fix compilation on Windows

* Fix comment stripping in sender

* Bump version number

* Separate libslic3r code from slic3r application code

* Import config bundle automatically if found in application directory

* Large refactoring of the Config classes

* Remove any Perl related code from libslic3r

* Fix typo #3152

* Fix compilation

* One more fix for compilation

* Updates to GUI projector: fix buttons not updating when print finished; ring a bell at that time; disable screensaver not just when printing but until the DLP projector window gets closed

* Move the position_screen method to the Screen class

* Bugfix: missing include assert.h #3155

* Live preview in the cut dialog

* Fix one regression in arrange

* Prevent flickering

* Refactored the Config XS bindings

* More refactoring on Config XS bindings

* More efficient syntax for the PrintConfigDef constructor

* Removed debugging statements

* Don't show any dialog if 0 configs were imported

* Some changes to DLP projector

* Fix compilation with GCC

* Typo

* New --retract-lift-above and --retract-lift-below options. #763 #3057

* Implement resizable left column in preset editor. #3151

* One more fix for compilation with older compilers

* Fix regression in lift, includes regression test

* Use bridge flow and speed for solid_infill_every_layers

* Fixed error in porting causing wrong moves with avoid_crossing_perimeters

* Fix false positive in lift unit test

* Fixed ported code of PerimeterGenerator

* Very minor code improvements

* Bugfix: external details were simplified too much when using default settings at low layer height, because the internal flow was erroneously taken into account. #2807

* Fix Slic3r crash when opening About dialog

* Minor code cleanup here and there

* Editable text control for specifying the cut Z in cut dialog

* Ignore cut result if user didn't click the cut button

* Refactor cutting logic, don't slice in 3DScene

* Fixes and improvements to MotionPlanner, much smarter now

* Force the 'nearest' strategy for starting skirt loops

* Revert "Implement resizable left column in preset editor. #3151"

This reverts commit 4b30d67.

* Dump serial messages to file in order to debug communication issues

* @farhaven: There's one more wxCLOSE in lib/Slic3r/GUI/, that one should probably be changed as well.

* Implement serial port baudrate selection for OpenBSD

Signed-off-by: Gregor Best <>

* Don't toggle support_material_enforce_layers field

support_material_enforce_layers works independently of the support_material ||
raft options, so we should not disable the field when support material
generation is disabled.

Fixes: #3046

* New icon for Infill (credits: Carlo Mariella)

* Fixed regression in the C++ port of PerimeterGenerator causing gaps to be filled twice

* Refactoring: new Layer::make_fill() method

* Don't use equality comparisons for floats

This fixes an issue where F0 moves arise from 0-width (or 0 layer
height?) support material segments when using autospeed.

Fixes: #3261

* fix a segment fault by admesh

* Fixed float comparison in combine_infill

* Fixed return value for deserialize() implementations. #3250

* Make GCodeSender more robust (keep more than one sent line) and fix a memory access problem in the asio write buffer

* Bugfix: memory corruption in BridgeDetector (thanks @JakeQZ for the patch). #3267

* Support incompatible change in Boost 1.60. #3117

* Raise allowed temperatures to 500°C. #3114

* Fix issue with undefined BOOST_VERSION

if BOOST_VERSION < 106000 always succeeds because BOOST_VERSION is
undefined.  In order to avoid the code for new boost, we need

* Bugfix: crash when input to bed shape options was '-'. #3254

* Fixed regression in bridging caused by error in porting. Includes regression test. #3175

* Variable-width gap fill. Yay! #2960

* Variable-width thin walls. Yay!

* When loading an AMF file having multiple objects that look like multiple parts of a single object, prompt user and ask how to consider it. #2970



* Fixed dragging in 3D plater having some glitches with multipart objects

* Missing #include

* Update

* Rewritten the medial axis algorithm, now more robust (don't just prune MAT from endpoints, but validate all single edges)

* Moved to .github/

* Fixed type error

* Actually add, not included in f5a5eb3

* Filter gap fill using length relative to the actual width. #2781

* Tune gap fill and thin walls to less extreme values

* Refactored calls to Wx::Bitmap->new

* One more year

* Fix layer time slowdown

The recent GCode writer changes which put the speed changes on a line of
their own have caused the layer time slowdown to be ignored by the regex

Fixes: #3134

* Update tests for new GCode style and markers

* Fixed compilation on OS X

* Support static linking of the Boost libs

* Account for travel moves in elapsed_time

* Use float for elapsed_time

When accumulating elapsed_time from many moves that take less than 1
second, elapsed_time does not get incremented because (unsigned int)0.9
= 0.

* Fix cooling not working if !gcode_comments

The cooling markers were being passed into GCodeWriter::set_speed() as a
comment which were being ignored if gcode_comments was false.

Fixes: #3325

* The "controller" tab and the settings of the USB/serial connection was
made configurable. Now one may hide the "controller" tab and the USB/serial
connection configuration from the preferences. This is useful for someone,
who never connects his printer to the computer by a cable.

* More refactoring to medial axis and gap fill, more robust

* Added a short OpenSCAD description to aid in the creation of simple modifier meshes that describe a change every N layers

* Bugfix: homing was not correctly saved

* Add XYZ homing button to printer manual control

* Update solid_layers.scad

Oops, left a hardcoded 0.3 in. Fixed.

* Feature: try to match horizontal surfaces with adaptive slicing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment