Concordium / concordium-node

The main concordium node implementation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Node crashes on protocol update (Windows)

td202 opened this issue · comments

Bug Description

The node crashes when executing a protocol update. The exact circumstances that cause the crash are unclear, as it does not crash on every protocol update, and different node versions (6.2.1 and 6.2.2) seem to behave differently. However, it does seem to be specific to Windows.

Steps to Reproduce

The following crashes have been observed:

6.2.1: Starting from a (P6) database containing ~4m accounts constructed by node 6.1.7, execute a P6.Reboot protocol update.

6.2.2: Catch up from genesis with mainnet. The crash occurs at the P2->P3 protocol update.

Expected Result

The node should successfully execute the protocol update and continue as usual.

Actual Result

The node crashes with an access violation (exit code 0xc0000005). This can be observed in the Windows event viewer.

Versions

  • Software Version: 6.2.1, 6.2.2
  • OS: Windows

This crash is caused by the account map database being opened a second time after the protocol update, and seems to be contingent on the database being resized beforehand. As there is no real reason to have more than one instance of the account map database opened, the logical fix is to ensure that a single instance is shared.