Open michielbdejong opened 7 years ago
Ran into this again today:
[michiel@mbp ~/gh/interledger/tutorials/streaming-payments (mj-update-first-four)]$ node streaming-client1.js
/Users/michiel/gh/interledger/tutorials/node_modules/ilp-plugin-xrp-escrow/src/translate.js:57
const memos = parseMemos(cached.Memos)
^
TypeError: Cannot read property 'Memos' of undefined
at escrowToTransfer (/Users/michiel/gh/interledger/tutorials/node_modules/ilp-plugin-xrp-escrow/src/translate.js:57:34)
at Object.escrowFinishToTransfer (/Users/michiel/gh/interledger/tutorials/node_modules/ilp-plugin-xrp-escrow/src/translate.js:84:10)
at PluginXrpEscrow._handleTransaction (/Users/michiel/gh/interledger/tutorials/node_modules/ilp-plugin-xrp-escrow/src/plugin.js:369:34)
at RestrictedConnection._api.connection.on (/Users/michiel/gh/interledger/tutorials/node_modules/ilp-plugin-xrp-escrow/src/plugin.js:83:12)
at emitOne (events.js:96:13)
at RestrictedConnection.emit (events.js:191:7)
at RestrictedConnection._onMessage (/Users/michiel/gh/interledger/tutorials/node_modules/ripple-lib/dist/npm/common/connection.js:129:17)
at emitTwo (events.js:106:13)
at WebSocket.emit (events.js:194:7)
at Receiver.ontext (/Users/michiel/gh/interledger/tutorials/node_modules/ripple-lib/node_modules/ws/lib/WebSocket.js:841:10)
I think I've seen this happen once or twice when an account was notified of a payment made by a non-plugin source. Or it may be because you're receiving notifications for another account (i.e. two plugins are listening on the same account and one got a fulfill for a transfer they didn't hear about). I think the fix is just to add a check to see if we have the details cached and then ignore it if we don't
Saw this in my logs; tried to reproduce it but it seems to be intermittent: