Posted 12 January 2016 - 02:54 AM
I've been having this problem since I added CC to the MinecraftUnabridged mod pack, which is also the first instance of using 1.75.
I made a mining turtle, set its label, and gave it 20k in fuel. I then wrote a simple script to dig down to bed rock and return, nothing more. At first it seemed to be working, but then once the turtle did not return. I went into creative and found it, it was frozen on the return trip.
Nothing I could think of would fix it so I broke it and brought it back to the surface. After reviewing the code and finding no error, I repeated the process. It worked the next 40 or so times, then failed to return.
This time it froze six blocks into the digging down process. I tried breaking the next block in the path to see if that would have an effect, nothing. I accidentally clicked with a bucket of water, and it suddenly woke up and mined to bedrock and returned.
It worked for another day, then froze twice in an hour. I riddled my program with breadcrumbs which revealed it was not getting stuck in a loop somewhere but rather the function calls themselves were not returning. while turtle.up() do for instance would never get to the code in the while loop nor the code after, if turtle.detect() then same thing.
By chance, I opened the turtle and bumped a key. It immediately woke up. Now I knew something was very wrong.
I had AromaBackup installed and it had recently finished a backup cycle before a couple of the incidents. Someone told me it could cause this issue, so I discontinued using it and it seemed the problem resolved.
Three days later (tonight) I'm in the nether, my turtle is making a path of cobble across a lava lake when it freezes on the return trip. I ran out to it, opened its term and hit a key and again it woke up and finished.
The initial program that showed the problem, simply digs to bedrock and returns.
This has pretty much made turtles useless since I need to hand-hold them the entire time, never sure were or when they will break. I would be thankful for some suggestions or advice, or if this could be looked at internally to see if there is any clue in the source code for this occurring.
Thanks for reading, and for any input.
I made a mining turtle, set its label, and gave it 20k in fuel. I then wrote a simple script to dig down to bed rock and return, nothing more. At first it seemed to be working, but then once the turtle did not return. I went into creative and found it, it was frozen on the return trip.
Nothing I could think of would fix it so I broke it and brought it back to the surface. After reviewing the code and finding no error, I repeated the process. It worked the next 40 or so times, then failed to return.
This time it froze six blocks into the digging down process. I tried breaking the next block in the path to see if that would have an effect, nothing. I accidentally clicked with a bucket of water, and it suddenly woke up and mined to bedrock and returned.
It worked for another day, then froze twice in an hour. I riddled my program with breadcrumbs which revealed it was not getting stuck in a loop somewhere but rather the function calls themselves were not returning. while turtle.up() do for instance would never get to the code in the while loop nor the code after, if turtle.detect() then same thing.
By chance, I opened the turtle and bumped a key. It immediately woke up. Now I knew something was very wrong.
I had AromaBackup installed and it had recently finished a backup cycle before a couple of the incidents. Someone told me it could cause this issue, so I discontinued using it and it seemed the problem resolved.
Three days later (tonight) I'm in the nether, my turtle is making a path of cobble across a lava lake when it freezes on the return trip. I ran out to it, opened its term and hit a key and again it woke up and finished.
local depth = 0
while (turtle.detectDown()) do <-- froze here
turtle.digDown()
end
while (turtle.down()) do <-- froze here
depth = depth + 1
turtle.digDown() <-- froze here
end
while (depth > 0) do
if (turtle.up()) then <-- froze here
depth = depth - 1
end
end
The initial program that showed the problem, simply digs to bedrock and returns.
This has pretty much made turtles useless since I need to hand-hold them the entire time, never sure were or when they will break. I would be thankful for some suggestions or advice, or if this could be looked at internally to see if there is any clue in the source code for this occurring.
Thanks for reading, and for any input.