numworks / epsilon

Modern graphing calculator operating system.
https://www.numworks.com/resources/engineering/software/
1.75k stars 463 forks source link

python file names 32 characters or longer result in RuntimeError #1654

Open davemichael opened 4 years ago

davemichael commented 4 years ago

Describe the bug

If a python script has a name 32 characters long or longer, the program (even if valid) will fail to run, and the only error is a very unhelpful "RuntimeError".

Example program: https://workshop.numworks.com/python/dave-a-michael/name5678901234567890123456789 if you remove one character from the name, it succeeds.

To Reproduce

  1. Go to https://workshop.numworks.com/python/dave-a-michael/name5678901234567890123456789
  2. Click "Play" (or load it on a calculator and run it there)
  3. Observe "RuntimeError"

Expected behavior

File names 32-bytes or longer should work fine. If there's a system limitation forcing this, then a better error message would be helpful.

Environment

RedGl0w commented 4 years ago

I don't know why, but numworks choosed this limit (https://github.com/numworks/epsilon/blob/0a493d1f3433815122abc56efb163ab97fd02fc4/python/port/mpconfigport.h#L22). Records can, indeed, have unlimited name length (just a limit on the record complete size).