hyperboria / bugs

Peer-to-peer IPv6 networking, secure and near-zero-conf.
154 stars 17 forks source link

Assertion failure in Node #32

Open clehner opened 9 years ago

clehner commented 9 years ago
Assertion failure [Node.c:57] [(!Node_isAncestorOf(node, bestParent->parent))]

I will try running cjdroute in gdb to get a backtrace if this happens again.

ghost commented 9 years ago

Yeah please get a backtrace, and the git commit you're running on

clehner commented 9 years ago

rev 78e13484b6639adacefc62eb7cf93ef7db4a936f (master)

clehner commented 9 years ago

Ok, I got the assertion failure again and caught it in gdb:

Assertion failure [Node.c:57] [(!Node_isAncestorOf(node, bestParent->parent))]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff7fee700 (LWP 16431)]
0x00007ffff7643107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff7643107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff76444e8 in __GI_abort () at abort.c:89
#2  0x000055555555a85b in Assert_failure (format=format@entry=0x5555555cbfc0 "Assertion failure [%s:%d] [%s]\n") at util/Assert.c:32
#3  0x00005555555756eb in Node_setParentReachAndPath (node=node@entry=0x555555bb36c8, bestParent=bestParent@entry=0x5555558cc458, 
    reach=reach@entry=12367855, path=path@entry=111043785059) at dht/dhtcore/Node.c:57
#4  0x0000555555578028 in setParentReachAndPath (store=<optimized out>, store=<optimized out>, path=111043785059, reach=12367855, 
    parent=0x5555558cc458, node=0x555555bb36c8) at dht/dhtcore/NodeStore.c:339
#5  updateBestParentCycle (cycle=0, store=<optimized out>, nextReach=12367855, limit=0, newBestLink=0x5555558cc458)
    at dht/dhtcore/NodeStore.c:491
#6  updateBestParent (newBestParent=0x5555558cc458, nextReach=12367855, store=0x5555557ee9f8) at dht/dhtcore/NodeStore.c:513
#7  0x0000555555578725 in handleGoodNews (node=node@entry=0x555555c3b2e8, newReach=newReach@entry=18155053, 
    store=store@entry=0x5555557ee9f8) at dht/dhtcore/NodeStore.c:546
#8  0x000055555557a0e9 in handleNews (node=0x555555c3b2e8, newReach=18155053, store=0x5555557ee9f8) at dht/dhtcore/NodeStore.c:655
#9  0x000055555557c2cd in NodeStore_discoverNode (nodeStore=0x5555557ee9f8, addr=0x402f, scheme=0x7fffffffda48, 
    inverseLinkEncodingFormNumber=-1, milliseconds=93824995215432) at dht/dhtcore/NodeStore.c:1572
#10 0x0000555555581d57 in onResponseOrTimeout (data=0x402f, milliseconds=206, vping=0x555555c3dba8) at dht/dhtcore/RouterModule.c:514
#11 0x0000555555581b3b in callback (ping=0x55555587dc78, data=0x55555584ac48) at util/Pinger.c:55
#12 Pinger_pongReceived (data=data@entry=0x55555584ac48, pinger=<optimized out>) at util/Pinger.c:167
#13 0x0000555555581fc1 in handleIncoming (message=0x7fffffffdd30, vcontext=0x5555557ec378) at dht/dhtcore/RouterModule.c:459
#14 0x0000555555573d52 in DHTModuleRegistry_handleIncoming (message=0x7fffffffdd30, registry=<optimized out>) at dht/DHTModuleRegistry.c:63
#15 0x000055555558b17d in incomingMsg (pf=<optimized out>, msg=<optimized out>) at dht/Pathfinder.c:385
#16 incomingFromEventIf (msg=0x5555558ab548, eventIf=0x5555558099d8) at dht/Pathfinder.c:415
#17 0x000055555559e614 in Iface_send (msg=0x5555558ab548, iface=0x555555809d08) at ./interface/Iface.h:69
#18 timeoutTrigger (vASynchronizer=0x555555809d08) at interface/ASynchronizer.c:69
#19 0x00005555555c8681 in uv__run_timers (loop=loop@entry=0x5555557eb2b0) at ../src/unix/timer.c:146
#20 0x00005555555bedd2 in uv_run (loop=0x5555557eb2b0, mode=mode@entry=UV_RUN_DEFAULT) at ../src/unix/core.c:275
#21 0x000055555555fad5 in EventBase_beginLoop (eventBase=eventBase@entry=0x5555557eb268) at util/events/libuv/EventBase.c:83
#22 0x00005555555ab9d8 in Core_main (argc=<optimized out>, argv=<optimized out>) at admin/angel/Core.c:326
#23 0x0000555555559493 in main (argc=3, argv=0x7fffffffe658) at client/cjdroute2.c:462
ansuz commented 8 years ago

I think this has been fixed.