libelektra: out of memory with many KDB handles
While running my benchmarks I somehow broke elektra.
When I run a kdb command like kdb ls /
I get the following message (also when calling the elektra library directly)
Sorry, I crashed by the signal SIGSEGV
This should not have happened!
Please report the issue at https://issues.libelektra.org/
fish: 'kdb ls /' terminated by signal SIGABRT (Abort)
I’ve already run kdb reset and kdb reset-elektra and re-compiled and uninstalled + installed kdb.
Any ideas how I could fix / debug this?
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 25 (25 by maintainers)
Commits related to this issue
- mmapstorage: enforce footer to be written last for consistency, maybe prevents #3140 — committed to mpranj/libelektra by mpranj 5 years ago
- mmapstorage: enforce footer to be written last for consistency, maybe prevents #3140 — committed to mpranj/libelektra by mpranj 5 years ago
- mmapstorage: enforce footer to be written last for consistency, maybe prevents #3140 — committed to mpranj/libelektra by mpranj 5 years ago
I will close this issue since a fix has been added. If this happens again please feel free to reopen it.
The commits referencing this issue are a shot in the dark. The assumption was that the OS reordered some writes from mmap and
mmapstoragedid not correctly detect incompletely written data, which was possible before those commits.Even having the cache files would probably not help as there is no way to know whether some data was not completely written.
I ran my elektrad benchmarks, after clearing the cache and re-running it didn’t break again. If this occurs again I will mention it in this issue.