foreach_connection() can race with connection destruction while the
protocol handler remains in the raw-pointer map. Use the non-throwing
weak_from_this().lock() in add_ref() and treat expired connections as
unavailable.
This is an interim mitigation pending the broader connection lifetime
fix in PR 7345.
The lifetime test waited only for the client-side socket count to
reach zero before reconnecting. Because server-side inbound connections
are tracked separately, they may still be tearing down asynchronously,
causing the next connection attempt to fail with ECONNRESET on macOS.
Wait for both client and server connection accounting to drain before
the next reconnect. Also use the error_code connect overload so failures
are reported by gtest instead of escaping as uncaught Boost exceptions.
Remove the mining pools donation line pointing to a Bitcointalk post.
Update the Monero Research Lab link to www.getmonero.org.
Normalize paragraph wrapping to one line per paragraph throughout and
remove a stray double blank line before the Research section.
Fix outdated information:
- Debian/Ubuntu packages renamed: libunwind-dev, libreadline-dev
- Arch package is python, not python3
- Fedora libusbx-devel is a legacy alias; use libusb1-devel
- Raspberry Pi: usb_max_current_enable=1 in /boot/firmware/config.txt
replaces the removed max_usb_current option and pre-Bookworm path
- Recommend git submodule update --init after switching branches:
master and release branches ship different submodule sets
- Clarify per-thread core and RAM sizing for parallel builds
- Lowercase TOC anchors to match generated heading IDs
- Demote Known Issues to a section heading like other sections and
shift its subsections accordingly
- Drop orphaned asterisk footnote under the upgrade table
- Add missing markdown line break after the donation base address label
The block 202612 PoW workaround previously applied to any block at
height 202612. Restrict it to the object hashes of the known historical
mainnet, testnet, and stagenet block hashing blobs so new chains do not
inherit the fixed PoW hash, which would prevent sync or mining past that
height if their difficulty is higher.
Reported-by: DataHoarder
Co-authored-by: jeffro256 <jeffro256@tutanota.com>
Opening a file with a zero sharing mode makes read-only access exclusive
on Windows. Allow read and write sharing so callers can inspect files
that are already open, such as active log files.
Preserve line endings for test fixtures so file hashes remain stable
across platforms.
Temporarily release the wallet keys lock while inspecting the keys file,
then reacquire it and verify the lock state. This lets the test read the
file on Windows, where the lock prevents a concurrent read open.
Avoid passing possibly negative char values to std::isprint(), which is
undefined behavior except for EOF.
48080 and 58080 are within common ephemeral port ranges, which can
make node_server tests intermittently fail to bind after recently
closed TCP connections used the same local source port.
Use fixed unit-test ports outside those ranges and keep the tests on
127.0.0.1 instead of relying on 127.0.0.2 being configured.
330062a Optimized handle_notify_new_transactions's duplicate tx check - Check sha256 digests instead of full blobs (much less memory used) - Replace `find->insert` sequence with a single `insert` - 2x fewer hashset accesses - Preallocate the required size for the hashset (no full-table rehashes) (SChernykh)
ACKs: selsta, j-berman