First of all, that looks like completely expected behaviour and I'm going to tell you why:
Based on the log, that is because you set the bed heat using M190
, which is a blocking heatup, meaning the printer won't return control to the host until the heatup is completed:
2018-05-30 12:34:09,217 - Changing monitoring state from "Operational" to "Printing"
2018-05-30 12:34:09,233 - Send: N0 M110 N0*125
2018-05-30 12:34:09,239 - Recv: ok
2018-05-30 12:34:09,241 - Send: N1 M190 S50*92
2018-05-30 12:34:09,248 - Recv: T:80.51 /0.00 B:23.50 /50.00 @:0 B@:0 W:?
2018-05-30 12:34:10,249 - Recv: T:80.27 /0.00 B:23.50 /50.00 @:0 B@:0 W:?
2018-05-30 12:34:10,793 - Recv: T:80.26 /0.00 B:23.50 /50.00 @:0 B@:0
2018-05-30 12:34:11,248 - Recv: T:80.13 /0.00 B:23.50 /50.00 @:0 B@:0 W:?
[...]
2018-05-30 12:34:25,248 - Recv: T:77.33 /0.00 B:26.28 /50.00 @:0 B@:127 W:?
2018-05-30 12:34:26,147 - Changing monitoring state from "Printing" to "Cancelling"
2018-05-30 12:34:26,248 - Recv: T:77.18 /0.00 B:26.50 /50.00 @:0 B@:127 W:?
[...]
2018-05-30 12:34:55,248 - Recv: T:72.11 /0.00 B:34.83 /50.00 @:0 B@:127 W:?
2018-05-30 12:34:56,248 - Recv: T:71.97 /0.00 B:34.91 /50.00 @:0 B@:127 W:?
2018-05-30 12:34:56,792 - Recv: T:71.94 /0.00 B:35.17 /50.00 @:0 B@:127
2018-05-30 12:34:57,247 - Recv: T:71.83 /0.00 B:35.17 /50.00 @:0 B@:127 W:?
Note how your bed had only reached 35Β°C when you aborted.
So OctoPrint will not send any commands following that blocking heatup command until your printer signals that it is done (since doing so could cause issues with the printer ignoring the commands or even locking up). No green light from the printer, no commands sent to the printer.
You then cancelled during the blocking heatup. Same issue. Control is only returned to OctoPrint once the blocking heatup is done, so it can't run the cancel script and hence not finish the cancel routine until your bed is at temperature. See also
To fix this you probably want to adjust your start GCODE in your slicer. Instead of setting and awaiting the bed temperature with M190
and then the hotend temperature with M109
like this:
M190 S60
M109 S210
set the bed temperature with M140
, then set and wait for the hotend with M109
, then finally wait for the bed with M190
like this:
M140 S60
M109 S210
M190 S60
That way both heaters can heat up simultanously and you reduce the wait times significantly (and hence also the "can't cancel because waiting" time frame).
As a side note, when your printer is in some blocking routine and you are in a hurry, simple disconnecting and reconnecting will usually suffice (since a serial connect causes most printer controllers to reset, effectively cancelling any blocking commands), you don't need to restart the OctoPrint server.