monero-lws v1.0-alpha (commit fe3f409)
Raspberry Pi 5, Debian 12 (Bookworm), ARM64
Docker via monero-suite, bind-mounted LMDB
Single account, ~300+ transactions, --max-subaddresses=100000
Steps to reproduce:
-
Let scanner reach chain tip, confirm it's processing blocks normally
-
Register webhooks via admin REST:
POST /webhook_add {"params":{"url":"...","type":"tx-confirmation","address":"...","confirmations":1}}
POST /webhook_add {"params":{"url":"...","type":"tx-spend","address":"..."}}
Both return 200 OK with valid event_id
-
Scanner processes a few more blocks, then crashes:
lmdb error (storage.cpp:3122): MDB_NOTFOUND: No matching key/data pair found
Scanner shutdown with error Failed to update accounts on disk
(thrown at scanner.cpp:1540): MDB_NOTFOUND: No matching key/data pair found
-
Container crash-loops at the same block height on every restart
Reproduced 3 times in one session:
- Crash at 3,630,424 (~30 blocks after registration)
- Restored pre-webhook LMDB backup, scanner passed same block fine
- Re-registered webhooks, crash at 3,630,440 (~5 blocks after)
- Restored, passed again
- Re-registered, crash at 3,630,440 again
Webhooks do fire correctly before the crash (valid payloads received).
Without webhooks, scanner runs indefinitely.
Flags: --admin-rest-server=http://0.0.0.0:8444 --disable-admin-auth
--auto-accept-creation --exchange-rate-interval=15
--confirm-external-bind --log-level=4
Debug logs (--log-level=4) from the third reproduction:
Webhook registration:
2026-03-15 02:35:17.528 D New connection to 172.18.0.1:52650 / 0x555592fe3b00
2026-03-15 02:35:17.528 D Reading new REST request from 0x555592fe3b00
2026-03-15 02:35:17.528 D Received HTTP request from 0x555592fe3b00 to target /webhook_add
2026-03-15 02:35:17.528 D Running REST handler /webhook_add on 0x555592fe3b00
2026-03-15 02:35:17.528 I [PARSE URI] regex not matched for uri: ^(([^:]?)://)?([(.)](:(\d+))?)(.)?
2026-03-15 02:35:17.530 D Sending HTTP 200 OK (157 bytes) to 0x555592fe3b00
2026-03-15 02:35:23.102 D New connection to 172.18.0.1:52658 / 0x7ffe6c0262d0
2026-03-15 02:35:23.102 D Received HTTP request from 0x7ffe6c0262d0 to target /webhook_add
2026-03-15 02:35:23.102 D Running REST handler /webhook_add on 0x7ffe6c0262d0
2026-03-15 02:35:23.103 I [PARSE URI] regex not matched for uri: ^(([^:]?)://)?([(.)](:(\d+))?)(.)?
2026-03-15 02:35:23.105 D Sending HTTP 200 OK (157 bytes) to 0x7ffe6c0262d0
Crash ~5 blocks later:
2026-03-15 03:19:22.005 I Thread 3 processed 3 blocks(s) @ height 3630440 against 1 account(s)
2026-03-15 03:19:22.005 E lmdb error (storage.cpp:3122): MDB_NOTFOUND: No matching key/data pair found
2026-03-15 03:19:22.005 E Scanner shutdown with error Failed to update accounts on disk (thrown at scanner.cpp:1540): MDB_NOTFOUND: No matching key/data pair found
2026-03-15 03:19:22.006 D Stopping rpc::scanner::server async operations
2026-03-15 03:19:22.010 D Destroying connection 0x7ffe6c022000
2026-03-15 03:19:22.010 D Destroying connection 0x7ffe6c0262d0
Note: the [PARSE URI] regex warning fires on every webhook URL
and also on server bind addresses during startup. URLs are stored
correctly in LMDB per webhook_list output. Unclear if related.
Webhook list confirmed correct before crash:
POST /webhook_list returned both tx-confirmation and tx-spend
with correct URLs and event_ids.
Related: #225 (same MDB_NOTFOUND error but different trigger -
large rescan with 5K accounts vs single account with webhook registration)
monero-lws v1.0-alpha (commit fe3f409)
Raspberry Pi 5, Debian 12 (Bookworm), ARM64
Docker via monero-suite, bind-mounted LMDB
Single account, ~300+ transactions, --max-subaddresses=100000
Steps to reproduce:
Let scanner reach chain tip, confirm it's processing blocks normally
Register webhooks via admin REST:
POST /webhook_add {"params":{"url":"...","type":"tx-confirmation","address":"...","confirmations":1}}
POST /webhook_add {"params":{"url":"...","type":"tx-spend","address":"..."}}
Both return 200 OK with valid event_id
Scanner processes a few more blocks, then crashes:
lmdb error (storage.cpp:3122): MDB_NOTFOUND: No matching key/data pair found
Scanner shutdown with error Failed to update accounts on disk
(thrown at scanner.cpp:1540): MDB_NOTFOUND: No matching key/data pair found
Container crash-loops at the same block height on every restart
Reproduced 3 times in one session:
Webhooks do fire correctly before the crash (valid payloads received).
Without webhooks, scanner runs indefinitely.
Flags: --admin-rest-server=http://0.0.0.0:8444 --disable-admin-auth
--auto-accept-creation --exchange-rate-interval=15
--confirm-external-bind --log-level=4
Debug logs (--log-level=4) from the third reproduction:
Webhook registration:
2026-03-15 02:35:17.528 D New connection to 172.18.0.1:52650 / 0x555592fe3b00
2026-03-15 02:35:17.528 D Reading new REST request from 0x555592fe3b00
2026-03-15 02:35:17.528 D Received HTTP request from 0x555592fe3b00 to target /webhook_add
2026-03-15 02:35:17.528 D Running REST handler /webhook_add on 0x555592fe3b00
2026-03-15 02:35:17.528 I [PARSE URI] regex not matched for uri: ^(([^:]?)://)?([(.)](:(\d+))?)(.)?
2026-03-15 02:35:17.530 D Sending HTTP 200 OK (157 bytes) to 0x555592fe3b00
2026-03-15 02:35:23.102 D New connection to 172.18.0.1:52658 / 0x7ffe6c0262d0
2026-03-15 02:35:23.102 D Received HTTP request from 0x7ffe6c0262d0 to target /webhook_add
2026-03-15 02:35:23.102 D Running REST handler /webhook_add on 0x7ffe6c0262d0
2026-03-15 02:35:23.103 I [PARSE URI] regex not matched for uri: ^(([^:]?)://)?([(.)](:(\d+))?)(.)?
2026-03-15 02:35:23.105 D Sending HTTP 200 OK (157 bytes) to 0x7ffe6c0262d0
Crash ~5 blocks later:
2026-03-15 03:19:22.005 I Thread 3 processed 3 blocks(s) @ height 3630440 against 1 account(s)
2026-03-15 03:19:22.005 E lmdb error (storage.cpp:3122): MDB_NOTFOUND: No matching key/data pair found
2026-03-15 03:19:22.005 E Scanner shutdown with error Failed to update accounts on disk (thrown at scanner.cpp:1540): MDB_NOTFOUND: No matching key/data pair found
2026-03-15 03:19:22.006 D Stopping rpc::scanner::server async operations
2026-03-15 03:19:22.010 D Destroying connection 0x7ffe6c022000
2026-03-15 03:19:22.010 D Destroying connection 0x7ffe6c0262d0
Note: the [PARSE URI] regex warning fires on every webhook URL
and also on server bind addresses during startup. URLs are stored
correctly in LMDB per webhook_list output. Unclear if related.
Webhook list confirmed correct before crash:
POST /webhook_list returned both tx-confirmation and tx-spend
with correct URLs and event_ids.
Related: #225 (same MDB_NOTFOUND error but different trigger -
large rescan with 5K accounts vs single account with webhook registration)