Temp directory for .3mf export not unique/safe/deleted #1549

Open
opened 2026-04-05 18:20:27 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @tbart on 11/22/2025

Is there an existing issue for this problem?

  • I have searched the existing issues

OrcaSlicer Version

2.3.2-dev

Operating System (OS)

Linux

OS Version

Gentoo (rolling)

Additional system information

No response

Printer

BambuLab P1S

How to reproduce

Launch Orcaslicer as user A.
Save a project (maybe not even necessary)
Launch Orcaslicer as user B.
Save project.
Get

Please check whether the folder exists online or if other programs have the project file open.

The actual error in the debug log:

[error] 2025-11-22 13:45:55.302507[Thread 0x00007fcee297e380]:Unable to add file /tmp/orcaslicer_model/Sat_Nov_22/13_45_02#16686#56/_temp_1.config to archive
32 [error] 2025-11-22 13:46:46.995751[Thread 0x00007fcee297e380]:Failed to create backup path"/tmp/orcaslicer_model/Sat_Nov_22/13_45_02#16686#56": boost::filesystem::create_directories: Permission denied [system:13]: "/tmp/orcaslicer_model/Sat_Nov_22/13_45_02#16686#56/3D/Objects", "/tmp/orcaslicer_model/Sat_Nov_22/13_45_02#16686#56"

The error stems from the fact that the temp dir is

  1. not unique/random as it is common for most Linux tools (mktemp and friends)
  2. not safe - the predictable nature of the dir name could be exploited by placing payloads for another user
  3. left where it is, even when Orcaslicer gets closed cleanly

Actual results

Orcaslicer fails to save the project.
A more verbose info about why the action failed (e.g. excerpt from debug.log under an "additional info" section or something similar in the error dialog) would have shortened investigation time a lot

Expected results

Orcaslicer should create its own, unique temp dir and delete it right after usage.
Error message should be improved.

Project file & Debug log uploads

Irrelevant of actual project, as it can't be saved. Relevant log output: see above.

Checklist of files to include

  • Log file
  • Project file

Anything else?

No response

*Originally created by @tbart on 11/22/2025* ### Is there an existing issue for this problem? - [x] I have searched the existing issues ### OrcaSlicer Version 2.3.2-dev ### Operating System (OS) Linux ### OS Version Gentoo (rolling) ### Additional system information _No response_ ### Printer BambuLab P1S ### How to reproduce Launch Orcaslicer as user A. Save a project (maybe not even necessary) Launch Orcaslicer as user B. Save project. Get ```Failed to save the project. Please check whether the folder exists online or if other programs have the project file open. ``` The actual error in the debug log: ``` [error] 2025-11-22 13:45:55.302507[Thread 0x00007fcee297e380]:Unable to add file /tmp/orcaslicer_model/Sat_Nov_22/13_45_02#16686#56/_temp_1.config to archive 32 [error] 2025-11-22 13:46:46.995751[Thread 0x00007fcee297e380]:Failed to create backup path"/tmp/orcaslicer_model/Sat_Nov_22/13_45_02#16686#56": boost::filesystem::create_directories: Permission denied [system:13]: "/tmp/orcaslicer_model/Sat_Nov_22/13_45_02#16686#56/3D/Objects", "/tmp/orcaslicer_model/Sat_Nov_22/13_45_02#16686#56" ``` The error stems from the fact that the temp dir is 1. not unique/random as it is common for most Linux tools (`mktemp` and friends) 2. not safe - the predictable nature of the dir name could be exploited by placing payloads for another user 3. left where it is, even when Orcaslicer gets closed cleanly ### Actual results Orcaslicer fails to save the project. A more verbose info about why the action failed (e.g. excerpt from `debug.log` under an "additional info" section or something similar in the error dialog) would have shortened investigation time a lot ### Expected results Orcaslicer should create its own, unique temp dir and delete it right after usage. Error message should be improved. ### Project file & Debug log uploads Irrelevant of actual project, as it can't be saved. Relevant log output: see above. ### Checklist of files to include - [x] Log file - [x] Project file ### Anything else? _No response_
MrUnknownDE added the bugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbugbug labels 2026-04-05 18:21:06 +02:00
Sign in to join this conversation.
No Label bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#1549