On Tue, Sep 08 2026, Nam Nguyen wrote:

> 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 {

Diff looks good to me. Thanks for looking into it.

Reply via email to