intelligent-agent / redeem

Firmware for Replicape
http://wiki.thing-printer.com/index.php?title=Redeem
GNU General Public License v3.0
36 stars 44 forks source link

Redeem crashes when long descriptopn requested in G-codes #104

Open Szeker opened 6 years ago

Szeker commented 6 years ago

Redeem 2.1.2 crashes in case of asking the long description of a G-cpmmand by the "?" mark. (e.g.: G30?)

Issue seems independent of the actual G-command. (E.g. G1, G30, G32, G92 are tested and all lead to crash.)

Restart of Redeem is necessary to recover from frozen state.

See log after executing "G30?":

Apr 29 23:11:05 kamikaze redeem[1517]: Exception in thread Pipe: Apr 29 23:11:05 kamikaze redeem[1517]: Traceback (most recent call last): Apr 29 23:11:05 kamikaze redeem[1517]: File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner Apr 29 23:11:05 kamikaze redeem[1517]: self.run() Apr 29 23:11:06 kamikaze redeem[1517]: File "/usr/lib/python2.7/threading.py", line 754, in run Apr 29 23:11:06 kamikaze redeem[1517]: self.target(*self.args, **self.__kwargs) Apr 29 23:11:06 kamikaze redeem[1517]: File "/usr/local/lib/python2.7/dist-packages/Redeem-2.1.2-py2.7-linux-armv7l.egg/redeem/Pipe.py", line 89, in get_message Apr 29 23:11:06 kamikaze redeem[1517]: self.printer.processor.enqueue(g) Apr 29 23:11:06 kamikaze redeem[1517]: File "/usr/local/lib/python2.7/dist-packages/Redeem-2.1.2-py2.7-linux-armv7l.egg/redeem/GCodeProcessor.py", line 129, in enqueue Apr 29 23:11:06 kamikaze redeem[1517]: self.resolve(gcode) Apr 29 23:11:06 kamikaze redeem[1517]: File "/usr/local/lib/python2.7/dist-packages/Redeem-2.1.2-py2.7-linux-armv7l.egg/redeem/GCodeProcessor.py", line 94, in resolve Apr 29 23:11:06 kamikaze redeem[1517]: gcode.command = self.gcodes[gcode.code()] Apr 29 23:11:06 kamikaze redeem[1517]: KeyError: 'G30?'

Wackerbarth commented 6 years ago

This was previously reported and fixed at 986d2c9 for the 2.2 branch. However, it has not been tested sufficiently to back-port to 2.1