Skip to content

Fix CLI assemble-list crash during plate loading - #560

Open
Ohmicaudio wants to merge 1 commit into
Snapmaker:mainfrom
Ohmicaudio:fix/cli-assemble-list-plate-loading
Open

Fix CLI assemble-list crash during plate loading#560
Ohmicaudio wants to merge 1 commit into
Snapmaker:mainfrom
Ohmicaudio:fix/cli-assemble-list-plate-loading

Conversation

@Ohmicaudio

Copy link
Copy Markdown

Summary

This fixes a Snapmaker Orca CLI crash when using --load-assemble-list.

The crash reproduced locally in Snapmaker Orca V2.3.4 even with a single-object assemble-list control. Upstream OrcaSlicer V2.4.1 can slice the same same-plate assemble-list workflow successfully, so this appears to be a Snapmaker fork CLI assemble-list issue rather than an AMP/profile issue.

Changes

  • Hardened CLI assemble-list plate loading so it does not initialize GUI-only plate/render/raycaster/name-texture state when there is no GUI plater.
  • Fixed STL object name trimming in the assemble-list path.
  • No slicing behavior changes are intended outside the CLI assemble-list loading path.

Changed files

  • src/Snapmaker_Orca.cpp
  • src/slic3r/GUI/PartPlate.cpp
  • src/slic3r/GUI/PartPlate.hpp

Validation

Built successfully locally.

CLI tests after the fix:

  • Single-object assemble-list control: exit code 0, G-code exported.
  • Two-object same-plate assemble-list: exit code 0, G-code exported.

Generated G-code paths from local validation:

  • B:\ohmic\Snapmaker-OrcaSlicer-cli-fix\outputs\amp_cli_patch_probe\single_control_cli_safe_final\plate_1.gcode
  • B:\ohmic\Snapmaker-OrcaSlicer-cli-fix\outputs\amp_cli_patch_probe\same_plate_cli_safe_final\plate_1.gcode

Scope

This branch contains only the CLI assemble-list fix.

It does not include AMP planner code, benchmark docs, generated outputs, submission docs, profile changes, or generated files.

No production profiles were changed.
No G-code generation logic was changed.
No Snapmaker validation or safety logic was changed.

Motivation

This makes CLI-driven slicing and benchmark automation possible for workflows that currently require manual GUI slicing. It also avoids a hard crash when CLI assemble-list loading is used without the GUI plater state available.

@adenta

adenta commented Aug 31, 2026

Copy link
Copy Markdown

Independent integration check on current upstream f34a62d: I built an arm64 Release CLI with the exact #560 commit (6fbafd5), plus the complementary existing fixes from #562 and #761 and the vendor resolver in #803. A Snapmaker U1 / 0.20 Standard / 20 mm cube CLI slice completed with exit 0 in 2.07 s; the representative BBL regression slice also completed with exit 0 in 2.07 s.

This is evidence for the combined headless path and compatibility with #803, not a claim that the timing or complete result is attributable to #560 alone.

aceRage added a commit to aceRage/EdgeSlicer that referenced this pull request Sep 4, 2026
…xtruders-c932

fix(cli): surgical port of assemble-list crash + CLI extruder expand (Snapmaker#560/Snapmaker#562)
aceRage added a commit to aceRage/EdgeSlicer that referenced this pull request Sep 5, 2026
…aster is no longer registered for picking (crash on reopening a project with a named plate, regression from the Snapmaker#560 port); Stage 2 badge guard

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants