SoftFever / OrcaSlicer

G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
https://discord.gg/P4VE9UY9gJ
GNU Affero General Public License v3.0
6.66k stars 780 forks source link

Lowering "Maximum acceleration for extruding" leads to warning #6549

Open vvuk opened 3 weeks ago

vvuk commented 3 weeks ago

Is there an existing issue for this problem?

OrcaSlicer Version

2.1.1

Operating System (OS)

Linux

OS Version

Ubuntu 24.04

Additional system information

No response

Printer

Sovol SV08

How to reproduce

  1. Printer settings (start with default SV08)
  2. Motion ability
  3. Lower "Maximum acceleration for extruding" (initial value is 40000; any lower value)

Actual results

Results in a warning showing that the setting exceeds the printer's machine_max_acceleration_extruding:

image

Note that a higher value (e.g. 50000) doesn't show this warning.

Expected results

I'd expect no warning with a lower-than-default value; also I would expect a warning with a higher-than-initial/max.

Weirdly I get no warnings either way for max travel accel xyz -- I can set to 99000 or really low and get no warnings.

Project file & Debug log uploads

n/a

Checklist of files to include

Anything else?

No response

vvuk commented 3 weeks ago

Just tested with another system profile (Prusa XL 0.4) -- same behaviour.

Also, OrcaSlicer is often crashing when I go to the Motion tab as well, hmm. Can get that to trigger by just switching between printers/settings tabs a few times. I'll try to grab a stack trace.

vvuk commented 3 weeks ago

Here's the crash. I don't know enough about wxWindows, but a random guess... I'm not sure if the window where RemoveEventHandler is being called on is the same one that's in the process of being destroyed in #6, but if it is, is it valid to RemoveEventHandler on it during its destruction?

Thread 1 "orcaslicer_main" received signal SIGSEGV, Segmentation fault.
0x00005cf75c5fb235 in wxWindowBase::RemoveEventHandler(wxEvtHandler*) ()
(gdb) bt
#0  0x00005cf75c5fb235 in wxWindowBase::RemoveEventHandler(wxEvtHandler*) ()
#1  0x00005cf759776409 in StateHandler::~StateHandler() ()
#2  0x00005cf75977642d in StateHandler::~StateHandler() ()
#3  0x00005cf75a182bc4 in TextInput::~TextInput() ()
#4  0x00005cf75c5fa409 in wxWindowBase::Destroy() ()
#5  0x00005cf75c5fa441 in wxWindowBase::DestroyChildren() ()
#6  0x00005cf75c6d94a4 in wxWindow::~wxWindow() ()
#7  0x00005cf759cced74 in Slic3r::GUI::OG_CustomCtrl::~OG_CustomCtrl() ()
#8  0x00005cf75c5fa409 in wxWindowBase::Destroy() ()
#9  0x00005cf75c5bccfc in wxSizer::DeleteWindows() ()
#10 0x00005cf75c5bccc2 in wxSizer::DeleteWindows() ()
#11 0x00005cf75c5bd39d in wxSizer::Clear(bool) ()
#12 0x00005cf759bdcdbb in Slic3r::GUI::Tab::clear_pages() ()
#13 0x00005cf759bdce2d in Slic3r::GUI::TabPrinter::clear_pages() ()
#14 0x00005cf759c0ed1b in Slic3r::GUI::Tab::tree_sel_change_delayed(wxCommandEvent&) ()
#15 0x00005cf759c0f04b in wxEventFunctorFunctor<wxEventTypeTag<wxCommandEvent>, Slic3r::GUI::Tab::create_preset_tab()::{lambda(wxCommandEvent&)#11}>::operator()(wxEvtHandler*, wxEvent&) ()
#16 0x00005cf75c883a41 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
#17 0x00005cf75c883dbe in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
#18 0x00005cf75c883f24 in wxEvtHandler::TryHereOnly(wxEvent&) ()
#19 0x00005cf75c883c83 in wxEvtHandler::DoTryChain(wxEvent&) ()
#20 0x00005cf75c884079 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#21 0x00005cf75a192961 in TabCtrl::sendTabCtrlEvent(bool) ()
#22 0x00005cf75a192b33 in TabCtrl::SelectItem(int) ()
#23 0x00005cf75c883a41 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
#24 0x00005cf75c883dbe in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
#25 0x00005cf75c883f24 in wxEvtHandler::TryHereOnly(wxEvent&) ()
#26 0x00005cf75c883c83 in wxEvtHandler::DoTryChain(wxEvent&) ()
#27 0x00005cf75c884079 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#28 0x00005cf75c5fa2a5 in wxWindowBase::TryAfter(wxEvent&) ()
#29 0x00005cf75a1754d3 in Button::sendButtonEvent() ()
#30 0x00005cf75a175608 in Button::mouseReleased(wxMouseEvent&) ()
#31 0x00005cf75c883a41 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
#32 0x00005cf75c883ba3 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) ()
#33 0x00005cf75c883f4d in wxEvtHandler::TryHereOnly(wxEvent&) ()
#34 0x00005cf75c883c83 in wxEvtHandler::DoTryChain(wxEvent&) ()
#35 0x00005cf75c884079 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#36 0x00005cf75c8849fb in wxEvtHandler::SafelyProcessEvent(wxEvent&) ()
#37 0x00005cf75c6dd268 in gtk_window_button_release_callback ()
#38 0x00007d440b29d0a4 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0