peer discovery does not seem to be working correctly. this is probably a configuration error, but finding it with the documentation alone failed
after spending way too long on this, so hopefully someone can help with
this.
[follows a dump of all trivial information which could be relevant]

all of the default services are started and none have failed.

version:

$ gnunet-core -v
    gnunet-core v0.26.2

HOSTLIST is running, and is downloading HELLOs from some default server:
$ gnunet-statistics -s hostlist
    hostlist           # bytes downloaded from hostlist servers:           
846639
    hostlist    # valid HELLOs downloaded from hostlist servers:             
1278
    hostlist                                  bytes in hostlist:             
1040
    hostlist                         # advertised hostlist URIs:                0
    hostlist                     # hostlist downloads initiated:                
9
    hostlist          # milliseconds between hostlist downloads:           
512000
    hostlist                     # hostlist URIs read from file:                0

'bytes in hostlist' does not grow as the other statistics do, so
it seems that all of the deleted HELLOs are being discarded.

the entire configuration file is:
   [path]
   GNUNET_HOME = /var/lib/gnunet
   GNUNET_DATA_HOME = /var/lib/gnunet/data/
   GNUNET_RUNTIME_DIR = /var/run/gnunet/

   [arm]
   START_SYSTEM_SERVICES = YES
   START_USER_SERVICES = YES
   OPTIONS = -l /var/log/gnunet.log

   [hostlist]
# SERVERS = EXTERNAL_DNS_NAME = domain.domain
   BINDTOIPV4 = 1.2.3.4
   BINDTOIPV6 = 2a03::1234
   HTTPPORT = 12981
   OPTIONS = -b -e -p -a

   [communicator-tcp]
   BINDTO  = 1.2.3.4:2086        # to avoid 50 local addresses in HELLO
BINDTO6 = [2a03::1234]:2086
   [communicator-udp]
   BINDTO  = 1.2.3.4:2086        # ditto
   BINDTO6 = [20a3::1234]:2086

   [nat]
   BEHIND_NAT       = NO
   ALLOW_NAT        = NO
   ENABLE_UPNP      = NO
   ENABLE_IPSCAN    = YES     # HELLO is empty without this
   EXTERNAL_ADDRESS = 1.2.3.4 # probably useless

HOSTLIST's server is reachable and produces a hostlist containing only the 
local peer.

none of the HELLOs HOSTLIST discovered result in any peers being known to the rest of the system (as expected from them not being in the hostlist)

$ gnunet-core -s # produces no output


$ gnunet-cadet -P # only the local peer
   N8HP... tunnel: N, paths: 0

$ gnunet-hello -D # only the local peer
   2026-01-20T22:17:06.625275+0100 pils-api-3914317 DEBUG Connection to service 
successful!.
   `N8HP' (expires: Thu Jan 22 22:13:02 2026):
   |- udp://[2a03::1234]:2086
   |- udp://1.2.3.4:2086
   |- tcp://1.3.4.4:2086
(IPv6 TCP being absent is a separate question)

the log does contain this at the very start:
   peerstore-3916477 ERROR Assertion failed at ../src/lib/hello/hello-uri.c:422.
   peerstore-3916477 ERROR Unable to parse HELLO message

there is also:
   nse-3916502 ERROR Assertion failed at 
../src/service/nse/gnunet-service-nse.c:1369. Aborting.
   arm-3916466 WARNING Service `nse' terminated with status signal/6, will 
restart in 1 ms

NSE does not fail again when restarted, and this seems irrelevant
anyways.

the only other error is this (but this seems to just be abuse of a log level):
   pils-3916478 ERROR Successfully generated a new peer id EPK3MN - inform 
clients
   transport-3916488 WARNING Stored our new hello with peerstore

it seems noteworthy that peer EPK3MN does not actually exist anywhere
besides this message.

the only warnings in the log are (unique, exluding other log level abuse):
   core-3913576 WARNING No matching service entry `example' was found in 
services info.

removing configuration which is not strictly necessary has no effect.

purging all of gnunet's data has no effect.

firewall logs do not record any interference.

absolutely everything else seems to be working, but it is not saving the HELLOs.

[end of information dump]

this is too confusing to try to solve alone

Attachment: signature.asc
Description: PGP signature

Reply via email to