Download raw body.
prusaslicer-2.9.4p2 segfault
On Mon, Sep 07, 2026, at 04:59 a.m. +0200, louigi 600 wrote:
>>Description:
> before last path I was actually using pruca slicer nearly normall. itr just required hacking the config from linux because it
> refused to create a default config. After I ran uptades starting rusa-slicer now gives me segfault complaining about
> [0x000008b14b4f3628] [error] UserAccount: Failed to read token - no
> datafile found.
Thank you for the report. Here is an inline diff that:
- fixes segfault in ImFont::CalcTextSizeA
- updates patches with churn
- bumps REVISION
Steps to reproduce:
1) pkg_add prusaslicer
2) pkg_add debug-prusaslicer
3) raise limits in login.conf as suggested in README
4) egdb prusa-slicer
5) repeatedly start program; sometimes it crashes on startup but
sometimes it works
backtrace:
https://messagemode2.com/paste/paste309264400.txt
This is a segfault in ImFont::CalcTextSizeA. From what I researched it
seems like imgui font was not initialized properly?
see:
https://github.com/prusa3d/PrusaSlicer/issues/9774
https://github.com/ocornut/imgui/issues/4769
Also the comment in GUI_App.cpp pointed me there:
+ // Since issue #9774 Where same problem occured on MacOS Ventura, we
decided to have this check on MacOS as well.
`make update-patches' warning seems fine because it is caused by the
original file:
*** Patch for src/CLI/Setup.cpp misses newline at end of file
$ od -c Setup.cpp.orig.port
...
0033600 \n }
0033602
I tried this fix and it seems to work without any crashes on startup. I
was able to download a printables model for a seimitsu ls-56 joystick
throw reducer mod.
https://messagemode2.com/public/ls56.jpg
I do not have a 3D printer though. Feedback and tests are welcome. OK?
Index: Makefile
===================================================================
RCS file: /cvs/ports/cad/prusaslicer/Makefile,v
diff -u -p -u -p -r1.33 Makefile
--- Makefile 25 Aug 2026 18:06:24 -0000 1.33
+++ Makefile 8 Sep 2026 08:03:19 -0000
@@ -4,6 +4,7 @@ DPB_PROPERTIES = parallel
V = 2.9.6
PKGNAME = prusaslicer-${V}
+REVISION = 0
GH_ACCOUNT = prusa3d
GH_PROJECT = PrusaSlicer
Index: patches/patch-bundled_deps_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/cad/prusaslicer/patches/patch-bundled_deps_CMakeLists_txt,v
diff -u -p -u -p -r1.2 patch-bundled_deps_CMakeLists_txt
--- patches/patch-bundled_deps_CMakeLists_txt 13 Mar 2025 10:29:08 -0000 1.2
+++ patches/patch-bundled_deps_CMakeLists_txt 8 Sep 2026 08:03:19 -0000
@@ -1,7 +1,7 @@
Index: bundled_deps/CMakeLists.txt
--- bundled_deps/CMakeLists.txt.orig
+++ bundled_deps/CMakeLists.txt
-@@ -48,5 +48,4 @@ target_include_directories(tcbspan INTERFACE tcbspan)
+@@ -50,5 +50,4 @@ add_subdirectory(prusa_fdm_mixer)
if (SLIC3R_GUI)
add_subdirectory(imgui)
Index: patches/patch-src_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/cad/prusaslicer/patches/patch-src_CMakeLists_txt,v
diff -u -p -u -p -r1.7 patch-src_CMakeLists_txt
--- patches/patch-src_CMakeLists_txt 13 Mar 2025 10:29:08 -0000 1.7
+++ patches/patch-src_CMakeLists_txt 8 Sep 2026 08:03:19 -0000
@@ -1,7 +1,7 @@
Index: src/CMakeLists.txt
--- src/CMakeLists.txt.orig
+++ src/CMakeLists.txt
-@@ -167,6 +167,8 @@ if (SLIC3R_GUI)
+@@ -168,6 +168,8 @@ if (SLIC3R_GUI)
target_link_libraries(PrusaSlicer PRIVATE ws2_32 uxtheme setupapi)
elseif (APPLE)
target_link_libraries(PrusaSlicer PRIVATE "-framework OpenGL")
Index: patches/patch-src_libslic3r_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/cad/prusaslicer/patches/patch-src_libslic3r_CMakeLists_txt,v
diff -u -p -u -p -r1.8 patch-src_libslic3r_CMakeLists_txt
--- patches/patch-src_libslic3r_CMakeLists_txt 15 Feb 2026 00:20:27 -0000 1.8
+++ patches/patch-src_libslic3r_CMakeLists_txt 8 Sep 2026 08:03:19 -0000
@@ -1,7 +1,7 @@
Index: src/libslic3r/CMakeLists.txt
--- src/libslic3r/CMakeLists.txt.orig
+++ src/libslic3r/CMakeLists.txt
-@@ -606,6 +606,7 @@ endif ()
+@@ -616,6 +616,7 @@ endif ()
encoding_check(libslic3r)
Index: patches/patch-src_slic3r_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/cad/prusaslicer/patches/patch-src_slic3r_CMakeLists_txt,v
diff -u -p -u -p -r1.9 patch-src_slic3r_CMakeLists_txt
--- patches/patch-src_slic3r_CMakeLists_txt 22 Jun 2025 12:36:59 -0000 1.9
+++ patches/patch-src_slic3r_CMakeLists_txt 8 Sep 2026 08:03:19 -0000
@@ -1,7 +1,7 @@
Index: src/slic3r/CMakeLists.txt
--- src/slic3r/CMakeLists.txt.orig
+++ src/slic3r/CMakeLists.txt
-@@ -397,7 +397,7 @@ set(SLIC3R_GUI_SOURCES
+@@ -409,7 +409,7 @@ set(SLIC3R_GUI_SOURCES
)
find_package(NanoSVG REQUIRED)
@@ -10,7 +10,7 @@ Index: src/slic3r/CMakeLists.txt
find_package(OpenSSL REQUIRED)
endif()
-@@ -438,6 +438,9 @@ endforeach()
+@@ -450,6 +450,9 @@ endforeach()
encoding_check(libslic3r_gui)
@@ -20,7 +20,7 @@ Index: src/slic3r/CMakeLists.txt
target_link_libraries(
libslic3r_gui
PUBLIC
-@@ -461,7 +464,7 @@ target_link_libraries(
+@@ -473,7 +476,7 @@ target_link_libraries(
if (MSVC)
target_link_libraries(libslic3r_gui PUBLIC Setupapi.lib)
@@ -29,7 +29,7 @@ Index: src/slic3r/CMakeLists.txt
target_link_libraries(libslic3r_gui PUBLIC
${DBus1_LIBRARIES}
OpenSSL::SSL
-@@ -488,7 +491,7 @@ if (UNIX AND NOT APPLE)
+@@ -500,7 +503,7 @@ if (UNIX AND NOT APPLE)
find_package(GTK${SLIC3R_GTK} REQUIRED)
find_package(PkgConfig REQUIRED)
Index: patches/patch-src_slic3r_GUI_GUI_App_cpp
===================================================================
RCS file: patches/patch-src_slic3r_GUI_GUI_App_cpp
diff -N patches/patch-src_slic3r_GUI_GUI_App_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_slic3r_GUI_GUI_App_cpp 8 Sep 2026 08:03:19 -0000
@@ -0,0 +1,17 @@
+segfault in ImFont::CalcTextSizeA
+
+see:
+https://github.com/prusa3d/PrusaSlicer/issues/9774
+
+Index: src/slic3r/GUI/GUI_App.cpp
+--- src/slic3r/GUI/GUI_App.cpp.orig
++++ src/slic3r/GUI/GUI_App.cpp
+@@ -1660,7 +1660,7 @@ bool GUI_App::on_init_inner()
+ // and wxEVT_SET_FOCUS before GUI_App::post_init is called) wasn't called before GUI_App::post_init and OpenGL wasn't initialized.
+ // Since issue #9774 Where same problem occured on MacOS Ventura, we decided to have this check on MacOS as well.
+
+-#if defined(__linux__) || defined(__APPLE__)
++#if defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__)
+ if (!m_post_initialized && m_opengl_initialized) {
+ #else
+ if (!m_post_initialized) {
Index: patches/patch-src_slic3r_GUI_GUI_Factories_cpp
===================================================================
RCS file: /cvs/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Factories_cpp,v
diff -u -p -u -p -r1.5 patch-src_slic3r_GUI_GUI_Factories_cpp
--- patches/patch-src_slic3r_GUI_GUI_Factories_cpp 13 Mar 2025 10:29:08 -0000 1.5
+++ patches/patch-src_slic3r_GUI_GUI_Factories_cpp 8 Sep 2026 08:03:19 -0000
@@ -1,7 +1,7 @@
Index: src/slic3r/GUI/GUI_Factories.cpp
--- src/slic3r/GUI/GUI_Factories.cpp.orig
+++ src/slic3r/GUI/GUI_Factories.cpp
-@@ -1500,7 +1500,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar
+@@ -1519,7 +1519,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar
for (size_t id = 0; id < menubar->GetMenuCount(); id++) {
wxMenu* menu = menubar->GetMenu(id);
sys_color_changed_menu(menu);
Index: patches/patch-src_slic3r_GUI_UserAccountCommunication_cpp
===================================================================
RCS file: /cvs/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_UserAccountCommunication_cpp,v
diff -u -p -u -p -r1.4 patch-src_slic3r_GUI_UserAccountCommunication_cpp
--- patches/patch-src_slic3r_GUI_UserAccountCommunication_cpp 13 Mar 2025 10:29:08 -0000 1.4
+++ patches/patch-src_slic3r_GUI_UserAccountCommunication_cpp 8 Sep 2026 08:03:19 -0000
@@ -28,7 +28,7 @@ Index: src/slic3r/GUI/UserAccountCommuni
// If we can't store the tokens in secret store, store them in file with chmod 600
boost::filesystem::path target(boost::filesystem::path(Slic3r::data_dir()) / "UserAccount.dat") ;
std::string data = "||||";
-@@ -640,7 +640,7 @@ void UserAccountCommunication::read_stored_data(UserAc
+@@ -663,7 +663,7 @@ void UserAccountCommunication::read_stored_data(UserAc
}
result.shared_session_key = key0;
} else {
prusaslicer-2.9.4p2 segfault