Permissionless-Software-Foundation / ipfs-p2wdb-service

Pay-to-write Database Service using REST API over HTTP and JSON RPC over IPFS
MIT License
3 stars 4 forks source link

OrbitDB error #124

Open christroutner opened 10 months ago

christroutner commented 10 months ago

This unhandled exception caused the app to crash. This is the helia branch.

Error: stream ended before 1 bytes became available
    at file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/it-reader/dist/src/index.js:54:33
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async abortable (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/abortable-iterator/dist/src/index.js:75:26)
    at async file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/it-length-prefixed/dist/src/decode.js:74:30
    at async file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/it-first/dist/src/index.js:7:30
    at async read (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/multistream-select/dist/src/multistream.js:60:17)
    at async Module.readString (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/multistream-select/dist/src/multistream.js:71:17)
    at async Module.select (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/multistream-select/dist/src/select.js:23:20)
    at async ConnectionImpl.newStream [as _newStream] (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/libp2p/dist/src/upgrader.js:319:50)
    at async ConnectionImpl.newStream (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/libp2p/dist/src/connection/index.js:93:24)
    at async task (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@chris.troutner/orbitdb-helia/src/sync.js:197:26)
    at async file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/p-queue/dist/index.js:118:36 {
  code: 'ERR_UNDER_READ',
  buffer: Uint8ArrayList { bufs: [], length: 0 }
}
node:internal/process/promises:279
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: stream ended before 1 bytes became available
    at file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/it-reader/dist/src/index.js:54:33
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async abortable (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/abortable-iterator/dist/src/index.js:75:26)
    at async file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/it-length-prefixed/dist/src/decode.js:74:30
    at async file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/it-first/dist/src/index.js:7:30
    at async read (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/multistream-select/dist/src/multistream.js:60:17)
    at async Module.readString (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/multistream-select/dist/src/multistream.js:71:17)
    at async Module.select (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/multistream-select/dist/src/select.js:23:20)
    at async ConnectionImpl.newStream [as _newStream] (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/libp2p/dist/src/upgrader.js:319:50)
    at async ConnectionImpl.newStream (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/libp2p/dist/src/connection/index.js:93:24)
    at async task (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@chris.troutner/orbitdb-helia/src/sync.js:197:26)
    at async file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/p-queue/dist/index.js:118:36
Emitted 'error' event at:
    at task (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@chris.troutner/orbitdb-helia/src/sync.js:205:20)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/p-queue/dist/index.js:118:36 {
  code: 'ERR_UNDER_READ',
  buffer: Uint8ArrayList { bufs: [], length: 0 }
}
christroutner commented 10 months ago

A similar error that popped up:

CodeError: Cannot open protocol stream on transient connection
    at ConnectionImpl.newStream (file:///home/safeuser/ipfs-p2wdb-service/node_modules/libp2p/dist/src/connection/index.js:91:19)
    at EventTarget.dialProtocol (file:///home/safeuser/ipfs-p2wdb-service/node_modules/libp2p/dist/src/libp2p.js:235:27)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async task (file:///home/safeuser/ipfs-p2wdb-service/node_modules/@chris.troutner/orbitdb-helia/src/sync.js:197:26)
    at async file:///home/safeuser/ipfs-p2wdb-service/node_modules/p-queue/dist/index.js:118:36 {
  code: 'ERR_TRANSIENT_CONNECTION',
  props: {}
}
node:internal/process/promises:279
            triggerUncaughtException(err, true /* fromPromise */);
            ^

CodeError: Cannot open protocol stream on transient connection
    at ConnectionImpl.newStream (file:///home/safeuser/ipfs-p2wdb-service/node_modules/libp2p/dist/src/connection/index.js:91:19)
    at EventTarget.dialProtocol (file:///home/safeuser/ipfs-p2wdb-service/node_modules/libp2p/dist/src/libp2p.js:235:27)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async task (file:///home/safeuser/ipfs-p2wdb-service/node_modules/@chris.troutner/orbitdb-helia/src/sync.js:197:26)
    at async file:///home/safeuser/ipfs-p2wdb-service/node_modules/p-queue/dist/index.js:118:36
Emitted 'error' event at:
    at task (file:///home/safeuser/ipfs-p2wdb-service/node_modules/@chris.troutner/orbitdb-helia/src/sync.js:205:20)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async file:///home/safeuser/ipfs-p2wdb-service/node_modules/p-queue/dist/index.js:118:36 {
  code: 'ERR_TRANSIENT_CONNECTION',
  props: {}
}
christroutner commented 10 months ago

Both errors above seem to happen shortly after startup, when the new node is trying to reach out to other P2WDB (OrbitDB) instances.

haydenyoung commented 10 months ago

https://github.com/libp2p/js-libp2p/discussions/2179

christroutner commented 10 months ago

Getting this error after updating to libp2p v0.46.19:

file:///home/trout/work/ipfs-p2wdb-service/node_modules/@libp2p/webrtc/dist/src/private-to-private/signaling-stream-handler.js:17
            connectedPromise.reject(new CodeError('Timed out while trying to connect', 'ERR_TIMEOUT'));
                                    ^

CodeError: Timed out while trying to connect
    at AbortSignal.signal.onabort (file:///home/trout/work/ipfs-p2wdb-service/node_modules/@libp2p/webrtc/dist/src/private-to-private/signaling-stream-handler.js:17:37)
    at AbortSignal.eventHandler (node:internal/event_target:1021:12)
    at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:736:20)
    at AbortSignal.dispatchEvent (node:internal/event_target:678:26)
    at abortSignal (node:internal/abort_controller:292:10)
    at Timeout._onTimeout (node:internal/abort_controller:112:7)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7) {
  code: 'ERR_TIMEOUT',
  props: {}
}
christroutner commented 9 months ago
file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/webrtc/dist/src/private-to-private/signaling-stream-handler.js:17
            connectedPromise.reject(new CodeError('Timed out while trying to connect', 'ERR_TIMEOUT'));
                                    ^

CodeError: Timed out while trying to connect
    at AbortSignal.signal.onabort (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/webrtc/dist/src/private-to-private/signaling-stream-handler.js:17:37)
    at AbortSignal.eventHandler (node:internal/event_target:1021:12)
    at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:736:20)
    at AbortSignal.dispatchEvent (node:internal/event_target:678:26)
    at abortSignal (node:internal/abort_controller:292:10)
    at Timeout._onTimeout (node:internal/abort_controller:112:7)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7) {
  code: 'ERR_TIMEOUT',
  props: {}
}
christroutner commented 9 months ago
file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/webrtc/dist/src/private-to-private/initiate-connection.js:44
            connectedPromise.reject(new CodeError('SDP handshake aborted', 'ERR_SDP_HANDSHAKE_ABORTED'));
                                    ^

CodeError: SDP handshake aborted
    at AbortSignal.sdpAbortedListener (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/@libp2p/webrtc/dist/src/private-to-private/initiate-connection.js:44:37)
    at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:736:20)
    at AbortSignal.dispatchEvent (node:internal/event_target:678:26)
    at abortSignal (node:internal/abort_controller:292:10)
    at AbortController.abort (node:internal/abort_controller:323:5)
    at AbortSignal.onAbort (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/any-signal/dist/src/index.js:8:20)
    at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:736:20)
    at AbortSignal.dispatchEvent (node:internal/event_target:678:26)
    at abortSignal (node:internal/abort_controller:292:10)
    at AbortController.abort (node:internal/abort_controller:323:5)
    at AbortSignal.onAbort (file:///home/trout/work/psf/code/ipfs-p2wdb-service/node_modules/any-signal/dist/src/index.js:8:20)
    at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:736:20)
    at AbortSignal.dispatchEvent (node:internal/event_target:678:26)
    at abortSignal (node:internal/abort_controller:292:10)
    at Timeout._onTimeout (node:internal/abort_controller:112:7)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7) {
  code: 'ERR_SDP_HANDSHAKE_ABORTED',
  props: {}
}
christroutner commented 8 months ago

Today I upgraded the sync-manager branch to libp2p v1.0.10. I got this error while trying to update one of the helia dev servers:

status: Trying a direct connecto to peer 12D3KooWEKu47t2EuXoDbfQbVFBpSXLAaDR9GH8yCTPss32Q3bZV with this multiaddr: /ip4/172.56.168.228/tcp/4001/p2p/12D3KooWEKu47t2EuXoDbfQbVFBpSXLAaDR9GH8yCTPss32Q3bZV.
file:///home/safeuser/ipfs-p2wdb-service/node_modules/it-byte-stream/dist/src/index.js:45
        for await (const buf of source) {
                                ^

TypeError: source is not async iterable
    at duplex.sink (file:///home/safeuser/ipfs-p2wdb-service/node_modules/it-byte-stream/dist/src/index.js:45:33)
    at rawPipe (file:///home/safeuser/ipfs-p2wdb-service/node_modules/it-pipe/dist/src/index.js:37:26)
    at pipe (file:///home/safeuser/ipfs-p2wdb-service/node_modules/it-pipe/dist/src/index.js:32:12)
    at handleReceiveHeads (file:///home/safeuser/ipfs-p2wdb-service/node_modules/@chris.troutner/orbitdb-helia/src/sync.js:174:13)
    at DefaultUpgrader._onStream (file:///home/safeuser/ipfs-p2wdb-service/node_modules/libp2p/dist/src/upgrader.js:468:9)
    at file:///home/safeuser/ipfs-p2wdb-service/node_modules/libp2p/dist/src/upgrader.js:302:30
Emitted 'error' event at:
    at handleReceiveHeads (file:///home/safeuser/ipfs-p2wdb-service/node_modules/@chris.troutner/orbitdb-helia/src/sync.js:177:14)