PrusaSlicer 2.8.1_3 (installed from a package) core dumps when doing "upload and print". Details: root@kg-core1:~ # freebsd-version -ku 13.4-RELEASE-p3 13.4-RELEASE-p3 root@kg-core1:~ # pkg info Prusa\* PrusaSlicer-2.8.1_3 gdb session tingo@kg-core1:~ $ gdb /usr/local/bin/prusa-slicer prusa-slicer.core GNU gdb (GDB) 15.1 [GDB v15.1 for FreeBSD] Copyright (C) 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-portbld-freebsd13.4". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/local/bin/prusa-slicer... (No debugging symbols found in /usr/local/bin/prusa-slicer) [New LWP 104190] [New LWP 104340] [New LWP 104341] [New LWP 104342] [New LWP 104343] [New LWP 104345] [New LWP 104346] [New LWP 104349] [New LWP 104350] [New LWP 104351] [New LWP 104352] [New LWP 104353] [New LWP 104354] [New LWP 104355] [New LWP 104371] [New LWP 104372] [New LWP 104373] [New LWP 104516] [New LWP 104525] [New LWP 104526] --Type <RET> for more, q to quit, c to continue without paging-- [New LWP 104527] [New LWP 104528] [New LWP 104531] warning: Could not load shared library symbols for [vdso]. Do you need "set solib-search-path" or "set sysroot"? Core was generated by `prusa-slicer'. Program terminated with signal SIGILL, Illegal instruction. Privileged opcode. #0 0x0000000001732b3b in _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8se180100ILi0EEEPKw () [Current thread is 1 (LWP 104190)] gdb backtrace (gdb) bt #0 0x0000000001732b3b in _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8se180100ILi0EEEPKw () #1 0x0000000001cb3ee8 in Slic3r::GUI::PrintHostQueueDialog::on_progress(Slic3r::GUI::PrintHostQueueDialog::Event&) () #2 0x000000083de717bc in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () at /usr/local/lib/libwx_baseu-3.2.so.0 #3 0x000000083de714ea in wxEvtHandler::ProcessEventLocally(wxEvent&) () at /usr/local/lib/libwx_baseu-3.2.so.0 #4 0x000000083de71358 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/local/lib/libwx_baseu-3.2.so.0 #5 0x000000083de70f9e in wxEvtHandler::ProcessPendingEvents() () at /usr/local/lib/libwx_baseu-3.2.so.0 #6 0x000000083dd43b2a in wxAppConsoleBase::ProcessPendingEvents() () at /usr/local/lib/libwx_baseu-3.2.so.0 #7 0x000000083ec1c4e7 in wxApp::DoIdle() () at /usr/local/lib/libwx_gtk3u_core-3.2.so.0 #8 0x000000083ec1dc73 in ??? () at /usr/local/lib/libwx_gtk3u_core-3.2.so.0 #9 0x000000084baa050b in ??? () at /usr/local/lib/libglib-2.0.so.0 #10 0x000000084baa08cd in ??? () at /usr/local/lib/libglib-2.0.so.0 #11 0x000000084baa0be9 in g_main_loop_run () at /usr/local/lib/libglib-2.0.so.0 #12 0x000000084798b49a in gtk_main () at /usr/local/lib/libgtk-3.so.0 #13 0x000000083ec33135 in wxGUIEventLoop::DoRun() () at /usr/local/lib/libwx_gtk3u_core-3.2.so.0 #14 0x000000083dd7bff8 in wxEventLoopBase::Run() () at /usr/local/lib/libwx_baseu-3.2.so.0 #15 0x000000083dd43126 in wxAppConsoleBase::MainLoop() () at /usr/local/lib/libwx_baseu-3.2.so.0 #16 0x000000083ddbdb76 in wxEntry(int&, wchar_t**) () at /usr/local/lib/libwx_baseu-3.2.so.0 #17 0x0000000001732033 in Slic3r::GUI::GUI_Run(Slic3r::GUI::GUI_InitParams&) () #18 0x0000000000d1ed96 in Slic3r::CLI::run(int, char**) () #19 0x0000000000d23520 in main () (gdb)
It seems that upstream already has a fix commited: https://github.com/prusa3d/PrusaSlicer/commit/4cf30d6c8154a3686859e6fa35d59b7c41397380
I am trying to update to 2.9.0
Created attachment 257545 [details] update to 2.9.0 and boost 1.87 my io_service -> io_context changes forced by boost 1.87 are not runtime tested. So this is a call for testers,the patch should apply to ports main head. Thanks.
Simple regression testing: PrusaSlicer-2.8.1_5 also dumps core, both on "upload" and "upload and print". Details: root@kg-v7:~ # freebsd-version -ku 13.4-RELEASE-p3 13.4-RELEASE-p3 root@kg-v7:~ # uname -a FreeBSD kg-v7.kg4.no 13.4-RELEASE-p3 FreeBSD 13.4-RELEASE-p3 GENERIC amd64 root@kg-v7:~ # pkg info \*prusa\* PrusaSlicer-2.8.1_5
Quick feedback on the patch: the patch works, PrusaSlicer builds, and it does not crash when I "upload" a file - it gets uploaded to the printer (a Sovol SV07 Plus, running Klipper). Haven't tested printing yet - more to come.
Hi, I just tried but the patch doesn't apply cleanly: ... |diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp |index 2a9da38ad..70e589f71 100644 |--- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp |+++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp -------------------------- Patching file files/patch-src_slic3r_GUI_GLCanvas3D.cpp using Plan A... Hunk #1 failed at 1. 1 out of 1 hunks failed while patching files/patch-src_slic3r_GUI_GLCanvas3D.cpp ... -------------------------- |diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp |index a7a651f30..65b5e2bff 100644 |--- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp |+++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp -------------------------- Patching file files/patch-src_slic3r_GUI_Preferences.cpp using Plan A... Hunk #1 succeeded at 1 with fuzz 1. Hunk #2 failed at 18. Hunk #3 failed at 27. 2 out of 3 hunks failed while patching files/patch-src_slic3r_GUI_Preferences.cpp ...
Created attachment 257665 [details] update to 2.9.0 and boost 1.87 This one should apply.
Hi, sorry, not fully: ... |diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp |index 2a9da38ad..70e589f71 100644 |--- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp |+++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp -------------------------- Patching file files/patch-src_slic3r_GUI_GLCanvas3D.cpp using Plan A... Hunk #1 failed at 1. 1 out of 1 hunks failed while patching files/patch-src_slic3r_GUI_GLCanvas3D.cpp ... |diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp |index a7a651f30..65b5e2bff 100644 |--- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp |+++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp -------------------------- Patching file files/patch-src_slic3r_GUI_Preferences.cpp using Plan A... Hunk #1 succeeded at 1 with fuzz 1. Hunk #2 failed at 18. Hunk #3 failed at 27. 2 out of 3 hunks failed while patching files/patch-src_slic3r_GUI_Preferences.cpp ...
Created attachment 257699 [details] update to 2.9.0 and boost 1.87 Hopefully I got it right this time.
it applies with git apply..
Hi, I've no clue whats going wrong but still no luck: ... # git status . Auf Branch main Ihr Branch ist auf demselben Stand wie 'freebsd/main'. ... # git apply --check y Fehler: Anwendung des Patches fehlgeschlagen: cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp:1 Fehler: cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp: Patch konnte nicht angewendet werden Fehler: Anwendung des Patches fehlgeschlagen: cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp:1 Fehler: cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp: Patch konnte nicht angewendet werden BTW: The attachements are the same... Initially I used patch -C -p3 whith the same result.
Hi, after inspecting the rejects I did the following changes after applying the patch: # content of file files/patch-src_slic3r_GUI_GLCanvas3D.cpp is now: --- src/slic3r/GUI/GLCanvas3D.cpp.orig 2025-02-20 18:44:48 UTC +++ src/slic3r/GUI/GLCanvas3D.cpp @@ -13,7 +13,7 @@ #include <igl/unproject.h> // IWYU pragma: keep #include <LocalesUtils.hpp> -#include <nanosvgrast.h> +#include <libnanosvg/nanosvgrast.h> #include "libslic3r/BuildVolume.hpp" #include "libslic3r/ClipperUtils.hpp" # content of file files/patch-src_slic3r_GUI_Preferences.cpp is now: --- src/slic3r/GUI/Preferences.cpp.orig 2025-02-20 20:11:25 UTC +++ src/slic3r/GUI/Preferences.cpp @@ -29,7 +29,7 @@ #ifdef WIN32 #include <wx/msw/registry.h> #endif // WIN32 -#if defined(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION) +#if (defined(__linux__) || defined(__FreeBSD__)) && defined(SLIC3R_DESKTOP_INTEGRATION) #include "DesktopIntegrationDialog.hpp" #endif //(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION) @@ -270,7 +270,7 @@ void PreferencesDialog::build() tabs = new Notebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_TOP | wxTAB_TRAVERSAL | wxNB_NOPAGETHEME | wxNB_DEFAULT); #else tabs = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_TOP | wxTAB_TRAVERSAL |wxNB_NOPAGETHEME | wxNB_DEFAULT ); -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) tabs->Bind(wxEVT_NOTEBOOK_PAGE_CHANGED, [this](wxBookCtrlEvent& e) { e.Skip(); CallAfter([this]() { tabs->GetCurrentPage()->Layout(); }); @@ -750,7 +750,7 @@ void PreferencesDialog::accept(wxEvent&) downloader->allow(it->second == "1"); if (!downloader->on_finish()) return; -#if defined(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION) +#if (defined(__linux__) || defined(__FreeBSD__)) && defined(SLIC3R_DESKTOP_INTEGRATION) if(DownloaderUtils::Worker::perform_registration_linux) DesktopIntegrationDialog::perform_downloader_desktop_integration(); #endif //(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION) @@ -1108,7 +1108,7 @@ void PreferencesDialog::create_settings_font_widget() font_example->SetFont(font); m_values[opt_key] = format("%1%", val); stb_sizer->Layout(); -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) CallAfter([this]() { refresh_og(m_optgroup_other); }); #else refresh_og(m_optgroup_other); # btw: I need a different pkg-plist too. # btw2: Has anyone in the past tried to upstram some/all of the patches?
(In reply to Torfinn Ingolfsen from comment #5) Follow-up: yes, "print and upload" also works, the printer is happily printing now.
Hi, shall we commit now? For me its working better than the previous version.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=ae9787cdfba90b199808d591586d5acb77e95730 commit ae9787cdfba90b199808d591586d5acb77e95730 Author: Michael Reifenberger <mr@FreeBSD.org> AuthorDate: 2025-03-09 14:37:10 +0000 Commit: Michael Reifenberger <mr@FreeBSD.org> CommitDate: 2025-03-09 14:37:10 +0000 cad/PrusaSlicer: update to 2.9.0 Adapted patch provided from Jesper Schmitz Mouridsen PR: 284821 Reported by: Torfinn Ingolfsen Approved by: teodorsigaev@ cad/PrusaSlicer/Makefile | 12 +- cad/PrusaSlicer/distinfo | 6 +- cad/PrusaSlicer/files/hid.c (new) | 1514 +++++++++++++++++++ cad/PrusaSlicer/files/patch-CMakeLists.txt | 57 +- .../patch-bundled__deps_avrdude_avrdude_arduino.c | 2 +- ...atch-bundled__deps_avrdude_avrdude_libavrdude.h | 2 +- .../patch-bundled__deps_avrdude_avrdude_main.c | 2 +- .../patch-bundled__deps_hidapi_CMakeLists.txt | 2 +- .../patch-bundled__deps_hidapi_libusb_hid.c (gone) | 1517 -------------------- .../files/patch-bundled__deps_hints_HintsToPot.cpp | 2 +- .../files/patch-cmake_modules_FindOpenVDB.cmake | 12 +- cad/PrusaSlicer/files/patch-src_CMakeLists.txt | 15 +- .../files/patch-src_hidapi_libusb_hid.c (gone) | 1517 -------------------- ...bslic3r_Arrange_Core_DataStoreTraits.hpp (gone) | 11 - ...3r_Arrange_Core_NFP_NFPConcave__CGAL.cpp (gone) | 12 - .../files/patch-src_libslic3r_CMakeLists.txt | 4 +- .../files/patch-src_libslic3r_CutSurface.cpp | 2 +- .../files/patch-src_libslic3r_Format_STEP.cpp | 2 +- .../files/patch-src_libslic3r_GCodeSender.cpp | 2 +- ...tch-src_libslic3r_Geometry_VoronoiUtilsCgal.cpp | 2 +- .../files/patch-src_libslic3r_MeshBoolean.cpp | 2 +- .../files/patch-src_libslic3r_Platform.cpp | 2 +- .../files/patch-src_libslic3r_Platform.hpp | 2 +- .../patch-src_libslic3r_SupportSpotsGenerator.cpp | 2 +- .../files/patch-src_libslic3r_Triangulation.cpp | 2 +- .../patch-src_libslic3r_Utils_DirectoriesUtils.cpp | 2 +- .../files/patch-src_occt__wrapper_CMakeLists.txt | 2 +- .../files/patch-src_slic3r_CMakeLists.txt | 67 +- .../files/patch-src_slic3r_Config_Snapshot.cpp | 2 +- .../patch-src_slic3r_Config_Version.cpp (gone) | 10 - .../files/patch-src_slic3r_GUI_ConfigWizard.cpp | 14 +- .../files/patch-src_slic3r_GUI_ConfigWizard.hpp | 4 +- ...tch-src_slic3r_GUI_DesktopIntegrationDialog.cpp | 2 +- ...tch-src_slic3r_GUI_DesktopIntegrationDialog.hpp | 4 +- .../files/patch-src_slic3r_GUI_EditGCodeDialog.cpp | 2 +- .../files/patch-src_slic3r_GUI_ExtraRenderers.cpp | 2 +- .../files/patch-src_slic3r_GUI_Field.cpp | 2 +- .../patch-src_slic3r_GUI_FirmwareDialog.cpp (new) | 20 + .../files/patch-src_slic3r_GUI_GLCanvas3D.cpp | 16 +- cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.cpp | 2 +- cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.hpp | 2 +- .../files/patch-src_slic3r_GUI_GUI__App.cpp | 30 +- .../files/patch-src_slic3r_GUI_GUI__Factories.cpp | 2 +- .../patch-src_slic3r_GUI_GUI__ObjectLayers.cpp | 2 +- .../files/patch-src_slic3r_GUI_GUI__Utils.cpp | 2 +- .../patch-src_slic3r_GUI_HintNotification.cpp | 2 +- .../files/patch-src_slic3r_GUI_InstanceCheck.cpp | 2 +- .../files/patch-src_slic3r_GUI_InstanceCheck.hpp | 4 +- .../patch-src_slic3r_GUI_KBShortcutsDialog.cpp | 2 +- .../patch-src_slic3r_GUI_Mouse3DController.cpp | 2 +- .../files/patch-src_slic3r_GUI_OpenGLManager.cpp | 2 +- .../files/patch-src_slic3r_GUI_OptionsGroup.cpp | 6 +- .../patch-src_slic3r_GUI_PhysicalPrinterDialog.cpp | 2 +- .../files/patch-src_slic3r_GUI_Plater.cpp | 27 +- .../files/patch-src_slic3r_GUI_Preferences.cpp | 8 +- .../patch-src_slic3r_GUI_PresetComboBoxes.cpp | 4 +- .../patch-src_slic3r_GUI_PresetComboBoxes.hpp | 2 +- .../patch-src_slic3r_GUI_PrintHostDialogs.cpp | 2 +- .../patch-src_slic3r_GUI_RemovableDriveManager.cpp | 2 +- .../files/patch-src_slic3r_GUI_Search.cpp | 11 +- cad/PrusaSlicer/files/patch-src_slic3r_GUI_Tab.cpp | 10 +- .../files/patch-src_slic3r_GUI_TopBar.cpp | 2 +- .../patch-src_slic3r_GUI_UnsavedChangesDialog.cpp | 2 +- .../patch-src_slic3r_GUI_UnsavedChangesDialog.hpp | 2 +- .../files/patch-src_slic3r_GUI_UpdateDialogs.cpp | 2 +- ...tch-src_slic3r_GUI_UserAccountCommunication.cpp | 4 +- .../files/patch-src_slic3r_GUI_WipeTowerDialog.cpp | 2 +- .../files/patch-src_slic3r_GUI_wxExtensions.cpp | 2 +- .../files/patch-src_slic3r_GUI_wxExtensions.hpp | 2 +- .../files/patch-src_slic3r_Utils_AppUpdater.cpp | 4 +- .../files/patch-src_slic3r_Utils_Bonjour.cpp (new) | 47 + .../files/patch-src_slic3r_Utils_Bonjour.hpp (new) | 61 + .../patch-src_slic3r_Utils_FontConfigHelp.hpp | 2 +- .../files/patch-src_slic3r_Utils_Serial.cpp | 30 +- .../files/patch-src_slic3r_Utils_Serial.hpp (new) | 13 + .../patch-src_slic3r_Utils_TCPConsole.cpp (new) | 11 + .../files/patch-src_slic3r_Utils_WifiScanner.cpp | 2 +- .../files/patch-src_slic3r_Utils_WxFontUtils.cpp | 2 +- .../files/patch-tests_fff__print_test__data.cpp | 6 +- .../files/patch-tests_libslic3r_test__emboss.cpp | 4 +- cad/PrusaSlicer/pkg-plist | 1088 +++++++++++++- 81 files changed, 2965 insertions(+), 3305 deletions(-)
Done. Thanks all.