Error opening consensus database: MapViewOfFile: The parameter is incorrect



  • Configuration:

    • Windows 7 SP1 (32-bit)

    • Sia v0.6.0 beta

    • a 32 GB USB 3.0 SanDisk USB Flash Drive formatted as exFAT

    Steps to Reproduce Problem:

    1. Extract the contents of Sia-v0.6.0-beta-windows-386.zip onto the flash drive.

    2. Open an Administrator command prompt and navigate to the Sia-v0.6.0-beta-windows-386 directory on the flash drive.

    3. Run siad.exe --modules gctwrh.

    4. Let it run for a few hours while it downloads the blockchain.

    5. When it reaches a block height of around 35,000, siad.exe will crash, with the following stack trace.

    6. Run siad.exe --modules gctwrh again and let it continue for a while.

    7. When it reaches a block height of around 40,000, siad.exe will crash again, with the following stack trace.

    8. Attempt to run siad.exe --modules gctwrh again and you will simply get the following message:

    Loading...
    (1/6) Loading gateway...
    (2/6) Loading consensus...
    error opening consensus database: MapViewOfFile: The parameter is incorrect.

  • admins

    There is no support for 32bit systems, the database library we are using can't support large databases (only up to 2.1 GB). For the near future, we don't plan on adding support unfortunately.

    I'm pretty sure all that's happening here is that the bolt nmap is trying to allocate more than 2.1GB, which uses more than 32bits, causing the panic.



  • @Taek Ah, yeah, that would make a lot of sense, considering that when siad.exe fails to open the consensus database, consensus.db has a filesize of 2,147,483,647 bytes.

    If there’s currently no support for 32-bit operating systems, then it’s a bit confusing for there to be both 32-bit and 64-bit compiles of the executables siad.exe and siac.exe (in Sia-v0.6.0-beta-windows-386.zip and Sia-v0.6.0-beta-windows-amd64.zip, respectively) though.


  • admins

    Dropping 32bit support was recent, apologies for the confusing. v1.0 will be shipping without 32bit executables.