LPRUN crashing with “Process is terminated due to StackOverflowException”

I have LPRUN (5.10) suddenly crashing on a Windows 2008 server with “Process is terminated due to StackOverflowException” even if I try to run the simplest of scripts, like one containing just the expression DateTime.Now. If I run LPRUN without any command-line argument, the help does print. The error occurs with other accounts on the same box so it's not a question of corrupted profiles. Running the LINQPad GUI works just fine. Has anyone come across this one before? I wish I had more information to share but the stack overflow error is a fatal error and the only message printed to the console is “Process is terminated due to StackOverflowException”.

Comments

  • It's possible that the LPRun executable itself has become corrupted. Maybe try reinstalling the same version or upgrading to the newer version?
  • @Filter I compared all LINQPad binaries with another version working on another machine and they were identical byte-by-byte.

    I have managed to resolve the issue meanwhile. It seems like an upgrade was triggered by the GUI from 5.10 to 5.22. However, LPRUN was stuck in some sort of loop trying to upgrade (I'm guessing) and would eventually crash with a stack overflow. Deleting all files under C:\ProgramData\LINQPad, from where the new version was running, did the trick.

    I looked under the preferences but I couldn't find an option to disable automatic upgrades. Does one exist? If not, I hope Joe will add one. We use LPRUN extensively to run some 60 scripts continuously in production and that number is going to triple if not quadruple by the end. It's discomforting to know that an upgrade can be triggered by the GUI and fail all subsequent LPRUN scripts. For production environments, it would be good to be able to control and decide when an upgrade takes place, hopefully after a new version has been tested thoroughly for potential bugs.
  • LPRun doesn't trigger automatic updates, although if you run the GUI and it updates itself, the update will apply to LPRun as well (because it's just a wrapper around LINQPad.exe).

    You can disable automatic updates in Edit | Preferences, Web Proxy and Updates. Set the days to 9999.
  • You can disable automatic updates in Edit | Preferences, Web Proxy and Updates. Set the days to 9999.
    Thanks, Joe. I was sure there was a way but I guess I was just not seeing it.
    the update will apply to LPRun as well
    Yes, except it was failing. As I said earlier, deleting C:\ProgramData\LINQPad solved the problem. Perhaps that hint can help you find the bug that causes a stack overflow.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!