Skip to content

Standalone mode config broken Version: develop #6299

@legleux

Description

@legleux

Issue Description

Changes in #6098 changed the behavior of standalone such that it no longer can create the [database_path] directory if it doesn't already exist.

Steps to Reproduce

Start rippled in standalone mode without the db path having been created (clean environment.)

Expected Result

xrpld should start up and put it's db in the directories it creates.

# ./works_0b87a2/xrpld --silent --standalone --conf xrpld.cfg
2026-Jan-29 23:42:35.329870274 UTC JobQueue:NFO Using 1  threads
2026-Jan-29 23:42:35.401917811 UTC NodeStore:NFO Using custom NuDB block size: 4096 bytes
2026-Jan-29 23:42:35.436442725 UTC NodeStore:NFO Using custom NuDB block size: 4096 bytes
2026-Jan-29 23:42:35.515918744 UTC LedgerConsensus:NFO Consensus engine started (cookie: 1190482003803664416)
2026-Jan-29 23:42:35.516687578 UTC Application:NFO Process starting: rippled-3.2.0-b0, Instance Cookie: 8098863981703170347

Actual Result

Having the db path absent results in xrpld crashing.

# ./broken_3d1b3a/xrpld --silent --standalone --conf xrpld.cfg
2026-Jan-29 23:42:17.811373780 UTC JobQueue:NFO Using 1  threads
terminate called after throwing an instance of 'soci::sqlite3_soci_error'
  what():  Cannot establish connection to the database. unable to open database file
Aborted (core dumped)

It is possible to workaround by creating the (full) db path manually. Something else must be going on though because creating the [database_path] is not sufficient.

# mkdir -p /var/lib/xrpld/ && ./broken_3d1b3a/xrpld --silent -a --conf xrpld.cfg &       
[1] 4827

# 2026-Jan-29 23:57:37.572580508 UTC JobQueue:NFO Using 1  threads
terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
  what():  boost::filesystem::create_directories: File exists [system:17]: "/var/lib/xrpld/db/nudb", "/var/lib/xrpld/db"
bash: line 117:  4829 Aborted                 (core dumped) ./broken_3d1b3a/xrpld --silent -a --conf xrpld.cfg

[1]+  Exit 134                mkdir -p /var/lib/xrpld/ && ./broken_3d1b3a/xrpld --silent -a --conf xrpld.cfg

# rm -rf /var/lib/xrpld/

## create the _exact_ path to the database
# mkdir -p /var/lib/xrpld/db && ./broken_3d1b3a/xrpld --silent -a --conf xrpld.cfg &
[1] 4839

# 2026-Jan-29 23:57:52.107294488 UTC JobQueue:NFO Using 1  threads
2026-Jan-29 23:57:52.195670267 UTC NodeStore:NFO Using custom NuDB block size: 4096 bytes
2026-Jan-29 23:57:52.236302722 UTC NodeStore:NFO Using custom NuDB block size: 4096 bytes
2026-Jan-29 23:57:52.295264827 UTC LedgerConsensus:NFO Consensus engine started (cookie: 10820449637958533277)
2026-Jan-29 23:57:52.295862837 UTC Application:NFO Process starting: rippled-3.2.0-b0, Instance Cookie: 4539512320115639036

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions