OASIS-learn-study / minecraft-storeys-maker

Minecraft extension to make your own stories in, with and for Minecraft - it's like being a movie director!
https://www.learn.study
GNU Affero General Public License v3.0
14 stars 10 forks source link

Improved timeout handling #410

Closed edewit closed 1 year ago

edewit commented 1 year ago

makes the mineflayer tests more robust

vorburger commented 1 year ago

@edewit did you notice that this fails (at least on GCB, but probably also locally?), due to:

18:28:29 WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 7662ms behind, skipping 153 tick(s)
  console.log
    Error: write EPIPE
        at afterWriteDispatched (node:internal/stream_base_commons:160:15)
        at writeGeneric (node:internal/stream_base_commons:151:3)
        at Socket._writeGeneric (node:net:874:11)
        at Socket._write (node:net:886:8)
        at writeOrBuffer (node:internal/streams/writable:392:12)
        at _write (node:internal/streams/writable:333:10)
        at Socket.Writable.write (node:internal/streams/writable:337:10)
        at Framer.ondata (/project/node_modules/readable-stream/lib/_stream_readable.js:681:20)
        at Framer.emit (node:events:513:28)
        at addChunk (/project/node_modules/readable-stream/lib/_stream_readable.js:298:12) {
      errno: -32,
      code: 'EPIPE',
      syscall: 'write'
    }

      at EventEmitter.<anonymous> (node_modules/mineflayer/lib/loader.js:76:17)

[18:28:29 INFO] [ch.vorburger.minecraft.storeys.japi.impl.actions.CommandAction]: processed command "/say There may be a fishing rod hidden somewhere… look for it, and then catch a fish!" from source EntityPlayerMP['Player'/264, l='world', x=223.50, y=64.00, z=226.50] with result {}

ReferenceError: You are trying to `import` a file after the Jest environment has been torn down. From storeys.test.js.

      at new PlayerState (node_modules/prismarine-physics/index.js:671:20)
      at Timeout.doPhysics [as _onTimeout] (node_modules/mineflayer/lib/plugins/physics.js:62:32)
/project/node_modules/prismarine-physics/index.js:671
    const mcData = require('minecraft-data')(bot.version)
                                            ^

TypeError: require(...) is not a function
    at new PlayerState (/project/node_modules/prismarine-physics/index.js:671:45)
    at Timeout.doPhysics [as _onTimeout] (/project/node_modules/mineflayer/lib/plugins/physics.js:62:32)
    at listOnTimeout (node:internal/timers:564:17)
    at processTimers (node:internal/timers:507:7)

Node.js v18.7.0
[18:28:32 INFO]: Player lost connection: Disconnected
[18:28:32 INFO]: Player left the game
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 1
vorburger commented 1 year ago

@edewit did you notice that this fails (at least on GCB, but probably also locally?)

Or is that just some one-time fluke? You could try to rebase it, if you suspect that.

I have (for the first time, after enabling that option in this repo's Settings) Enabled auto-merge (squash) for this PR (only); see also #412.