GOTO is nightmare to debug except in very small self contained blocks of code.
Too many GOSUBs and you are bound to trip over your main code variables, stick with safe local variables in subroutines. Specially when have over 2500 LOC! Routines can be tested independently and once debugged likely to stay debugged.
Besides that's not the issue with this code.
Billy has to narrow down what is causing problems. Crash without error messages does sound like memory leak or stack going past it's storage capacity because of repeated calls either recursively or unintentionally.
I like what Pete said, test like an electrician from start to point A and move point A down the line until error is isolated.
Too many GOSUBs and you are bound to trip over your main code variables, stick with safe local variables in subroutines. Specially when have over 2500 LOC! Routines can be tested independently and once debugged likely to stay debugged.
Besides that's not the issue with this code.
Billy has to narrow down what is causing problems. Crash without error messages does sound like memory leak or stack going past it's storage capacity because of repeated calls either recursively or unintentionally.
I like what Pete said, test like an electrician from start to point A and move point A down the line until error is isolated.
b = b + ...