On version f1afdffd5e43ad4bb448db7bf5bc1e23464350f7, which is the required version for using namada-cq-2.a6ebeb093671093b21, anoma ledger tries to access ~/.masp-params, and there doesn’t appear to be a way to change this path.
When running as a system user, which is standard practice for daemons, the user may not have a home directory, and so the application crashes.
Relevant part of strace
statx(AT_FDCWD, "/nonexistent/.masp-params/masp-spend.params", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffc38b9b9d0) = -1 ENOENT (No such file or directory)
write(1, "MASP parameters not present, dow"..., 44MASP parameters not present, downloading...
) = 44
mkdir("/nonexistent/.masp-params", 0777) = -1 ENOENT (No such file or directory)
mkdir("/nonexistent", 0777) = -1 EACCES (Permission denied)
statx(AT_FDCWD, "/nonexistent", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffc38b9b770) = -1 ENOENT (No such file or directory)
The user's home directory is /nonexistent, which indeed does not exist.
Instead of storing things at a hard-coded location under ~/.masp-params, I think it would make sense to put this data in the base dir. If that is not desirable for some reason, the path should at least be configurable. I looked into the code and it’s a third-party crate that hard-codes the path, but it looks like it is part of Anoma and ultimately the issue surfaces in anoma, so I am opening an issue here.
Also for the default path, consider respecting the XDG Base Directory Specification instead of creating yet another entry directly in the user's home directory.
On version f1afdffd5e43ad4bb448db7bf5bc1e23464350f7, which is the required version for using
namada-cq-2.a6ebeb093671093b21,anoma ledgertries to access~/.masp-params, and there doesn’t appear to be a way to change this path.When running as a system user, which is standard practice for daemons, the user may not have a home directory, and so the application crashes.
Relevant part of
straceThe user's home directory is
/nonexistent, which indeed does not exist.Instead of storing things at a hard-coded location under
~/.masp-params, I think it would make sense to put this data in the base dir. If that is not desirable for some reason, the path should at least be configurable. I looked into the code and it’s a third-party crate that hard-codes the path, but it looks like it is part of Anoma and ultimately the issue surfaces inanoma, so I am opening an issue here.Also for the default path, consider respecting the XDG Base Directory Specification instead of creating yet another entry directly in the user's home directory.