ComputerCraft

ComputerCraft

21M Downloads

The Great AirWaves Crash Issue. (1.12 server crash)

hugeblank opened this issue ยท 5 comments

commented

This keeps happening at random intervals on AirWaves (1.12 CC and plugin server). Sometimes it will happen back to back, sometimes at 3-5 hour intervals. Here's the log for you to hopefully break down and resolve :P

crashlog.txt

commented

@hugeblank It might be worth rebuilding ComputerCraft with the logging code in ServerComputerRegistry un-commented out, and giving us the logs just before a crash.


The only places I can think of where computers may be accessed on a different thread are in the computer peripheral provider:

return new ComputerPeripheral( "computer", computerTile.createServerComputer() );

and ItemPocketComputer.createDataMount:

ServerComputer computer = createServerComputer( world, null, null, stack );

The latter one could be replaced by the code in ItemComputerBase's equivalent.

I'm not sure about ComputerPeripheral - it seems jolly hard to guarentee thread-safety given the functionality it exposes.

commented

I don't know what the resulting crash logs look like, but I've found that using the prepare / fill options in my mapArt script will cause AirWaves to reboot pretty much on demand.

(If testing this, go somewhere remote - said buttons basically fill an 8x8 chunk area using hundreds of commands).

AirWaves isn't often running Command Computer scripts, but there are a number of computers near spawn which constantly play music through Note (not my computers, I tend to leave those off these days) - and to my understanding, the new speaker peripheral operates in a similar manner to how the commands API functions.

There's also constant rednet traffic on the server as well, as members have set up some sort of "web" system, and the "DNS" servers apparently like to do a lot of pinging.

commented

if you get this working for minecraft 1.12 could you please put a link to the jar as I would be happy to test it out for you

commented

@Kobra299 I believe this is the version with all the logging statements added.

commented

A note re my mapArt crashes - SquidDev filled me in on those, the script triggers an SMP-specific shutdown due to its workload slowing the server to less than a tick-per-minute.

Another (somewhat less certain) method of killing the server is to simply log into it after it's been running for a while. For whatever reason, new joiners tend to knock it over - though immediately after a reboot it tends to be pretty resilient.