Dear Bastian,
Thank you for the patch!
For an unknown reason, I didn't get an e-mail corresponding to your message
#10. I checked bugs.debian.org/1132940 out of curiosity manually today and saw
your message only now.
Today, I upgraded the package to 0.18.5.0+~0+20260428-1, and the error did not
occur today yet. The last four such errors happened before the upgrade and
quite rarely:
2026-04-26 08:59:10.073 [P2P0] ERROR net.p2p.tx
src/cryptonote_protocol/levin_notify.cpp:575 Unable to send transaction(s)
via Dandelion++ stem
2026-04-28 05:12:02.797 [P2P8] ERROR net.p2p.tx
src/cryptonote_protocol/levin_notify.cpp:575 Unable to send transaction(s)
via Dandelion++ stem
2026-06-15 11:44:15.028 [P2P6] ERROR net.p2p.tx
src/cryptonote_protocol/levin_notify.cpp:575 Unable to send transaction(s)
via Dandelion++ stem
2026-06-19 10:02:41.344 [P2P3] ERROR net.p2p.tx
src/cryptonote_protocol/levin_notify.cpp:575 Unable to send transaction(s)
via Dandelion++ stem
I checked out the code and applied your patch locally, but now I start running
into all kinds of issues during build.
For example, though I have cmake 3.31.6, `make` outputs pages of warnings, the
earliest of which is this:
CMake Deprecation Warning at external/randomx/CMakeLists.txt:29
(cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
My machine does not have a development environment suitable for proper code
development, and I don't have any insight into the warnings. So even if the
compilation ever succeeds (it takes long), and even if I succeed to start the
compiled monerod, I'm unsure how useful my feedback would be; my apologies.
Probably unrelated, but still better to mention this. Upon issuing `systemctl
--user restart monerod` or `systemctl --user stop monerod` (with monerod from
the Debian package 0.18.5.0+~0+20260428-1), I get this into the log:
2026-06-20 22:17:56.483 [SRV_MAIN] INFO global src/daemon/p2p.h:81
p2p net loop stopped
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:134 Exception: std::system_error
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:135 Unwound call stack:
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:173 [1] 0xab)
[0x555dede82aa6]:__cxa_throw+0xab) [0x555dede82aa6]
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:173 [2] /usr/bin/monerod(+0xbd701)
[0x555dede7d701]
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:173 [3] /usr/bin/monerod(+0x73bfa9)
[0x555dee4fbfa9]
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:173 [4] 0xbc97)
[0x7f54092ebc97]:_64-linux-gnu/libboost_thread.so.1.90.0(+0xbc97)
[0x7f54092ebc97]
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:173 [5] 0x92b7b)
[0x7f540869eb7b]:_64-linux-gnu/libc.so.6(+0x92b7b) [0x7f540869eb7b]
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:173 [6] 0x1107f8)
[0x7f540871c7f8]:_64-linux-gnu/libc.so.6(+0x1107f8) [0x7f540871c7f8]
2026-06-20 22:17:56.492 7f37852f96c0 INFO stacktrace
src/common/stack_trace.cpp:173
A stacktrace is probably not something we should expect during normal
operation, should we? As a rule of thumb, an exit should be graceful; upon
exit, a program should free its resources itself properly.
Gratefully,
Albert