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 {

Reply via email to