Sun, 02/16/2020 - 08:21
This line causes Foldit.exe to crash:
current.GetSegmentEnergyScore(0)
I'm assuming it's because Lua arrays start at 1, not 0.
Regardless, the console should throw an error rather than the whole program crashing.
Tue, 02/18/2020 - 17:02
#2
shouldn't cause a crash....
Good find, Pikamander2, no Foldit Lua function should crash the client. The Lua functions xpcall and pcall don't help in this case. They catch errors generated through the Lua error function, but not outright bugs. (I'm guessing that something went wrong in the parameter checking code, just before the error function or the equivalent would be called.)
For example:
good, errmsg = pcall ( current.GetSegmentEnergyScore, 0 )
still crashes the client.
I opened a feedback: https://fold.it/portal/node/2008878
See also: using pcall to trap Lua errors for more on pcall.
It is more likely that the crash is due to the parameter 0 being out of range: amino acids in a protein are by convention numbered consecutively starting at 1. In any case you can handle most errors within a script quite gracefully by using Lua's xpcall mechanism (see for example https://foldit.fandom.com/wiki/Model_Recipes). And Feedback rather than Forum is probably a better place to report problems of this kind.