Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
  • 0
Programmdude

Too long without yielding error on server restart

Question

It seems like my computers are getting a too long without yielding error whenever the server restarts, the region is chunk loaded so they never get unloaded. Computers without a screen don't respond, and attaching a screen shows just black. If I exit the running program, it will print the exiting message but not load the shell again.

Computers with a screen show the blue screen of death, with the too long without yielding error. All of these computers are running programs, all of them require a restart to start working again. The analyzer shows nothing relevant when I shift right-click the computer block.

Strangely, servers seem to be unaffected. Programs running on that seem to continue working after restarting.

I haven't tested this that thoughrily, a server restart takes about 5 minutes and is rather dull to sit through over and over.

All my always running programs have a pattern similar to while true do local evt = event.pull() end, so it should be yielding properly.

Is this a bug with opencomputers? Is this an issue with my programs?

Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0
  • Solution

The executor threads for computers have lowest priority, so it's quite possible they just starve during the CPU intensive startup. You could try to either increase the timeout [computer.timeout], or increase the startup delay [computer.startupDelay] (i.e. the pause before a loaded computer is actually 'updated' the first time).

Link to post
Share on other sites
  • 0

While that was probably the issue for my reactor monitor, my door controllers have had another problem. It's using the adapter block with immibis's peripherals rfid reader, and every time a scan is complete another scan starts. My guess is that with the restart the rfid reader forgets about the fact that it was scanning, so it never returns a completed scan, so the program never issues another one. I have changed to a timer to initiate scans, my doors now survive restarting.

No more crawling around in service tunnels for me. :D

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.