PRINT_DONE not being triggered. Hangs at 99% complete

What is the problem?
Nothing... I'm a moron. M2, not M0 is what I messed up...

As far as EOF triggering Octoprint to end the print, it does not.

And what slicer do you use?
How does the end code look like?

I think neither M0 nor M1 should be in the endcode ...

Quote from the Marlin-Docs:
The M0 and M1 commands pause after the last movement and wait for the user to continue.

So Marlin waits for the user to continue and Octoprint waits for Marlin to finish the Job ?!?

1 Like

It's the end of File - that simple.

As @BerndJM mentioned, you self hung up your printer with the M0 command.
Things with 3D Printing are different than with CNC.
Here are the GCodes that are use with 3D printing. You may see the differences.

No idea where your information "M0 has been EOF command in CNC since the very beginning" came from.
All resources I've seen so far say "pause temporarily" e.g:
http://linuxcnc.org/docs/html/gcode/m-code.html#mcode:m0-m1
https://smithy.com/cnc-reference-info/chapter-5/program-stopping%26ending/page/0