Compiling Failed, internal error: Program terminated with exit(-33)

Hi friends! I’ve got my students working on some coding challenges using Robot Mesh Studio while we are all physically isolated. Some of them are running into some weird issues.

Here’s one:
https://www.robotmesh.com/studio/5e964c30f1ab5d5f397009bc

It simply doesn’t compile! I can’t see anything wrong with their blockly code. I tried making a copy of the project and fiddling around with the blocks to no avail (the only thing that I could get to change in the error was to switch it from exit(-33) to an undefined error.

Not entirely sure what is going on here. The wait until block is causing the program to not compile. Without it the program will compile. However there are still problems with the sonar reporter block. If you run the program more than once between page refreshes, the value that the sonar sensor block reports is 0, even though the sensor appears to update in the device monitor area.

1 Like

Confirmed, there are two bugs here:

  1. The lambda in the (generated Python) code for the wait until block doesn’t compile because it contains a closure (reference to the parameter, Distance).
  2. The mimic ultrasonic sensor isn’t reading the distance correctly.

#1 can be worked around for now by replacing the wait until block with a repeat until which contains no do blocks.

#2 is a bug we’re investigating now.

I’ll provide updates here. Regards, Anthony

2 Likes

Thanks Anthony! Good to know for future reference that the wait until block isn’t quite working yet.

Also, for more context, here’s the coding challenge I designed that my students are working to solve:

2 Likes

Cool stuff! @techguru The moving walls are an interesting twist.

RobotMesh has this “Classroom” feature that you might want to try. If students submit their work through the Classroom you will be able to see it without them changing the project settings. You will also be able to see who has started and will be able to help them along if they get stuck.

3 Likes

We’ve just released a fix to bug #2 above, the EDR ultrasonic sensor should now work correctly.

Therefore, if you modify your program to replace with wait until block with an empty repeat until then it will compile and run correctly. Note that the gold/brown motor blocks a the end of the Drive function are not blocking, so the wheels don’t rotate much (if at all) before being told to hold (perhaps make the second block blocking = red, or configure and use the drivetrain).

No update on #1 as yet.

Great challenge, let us know if you need anything else.

4 Likes

Thanks a bunch guys! I’ll let my students know.