View Issue Details

IDProjectCategoryView StatusLast Update
0002906GNUnetcadet servicepublic2013-12-24 20:54
ReporterFlorian Dold Assigned ToBart Polot  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.10.0Fixed in Version0.10.0 
Summary0002906: mesh: ERROR Assertion failed at server_nc.c:420.
DescriptionHappens in gnunet-service-mesh-new.

Directly results in an assertion error in GNUNET_PEER_resolve in the mesh2 client.

#0 GNUNET_PEER_resolve (id=0, pid=pid@entry=0x7fffffffdb78) at peer.c:226
#1 0x00007ffff796dfc0 in do_reconnect (h=0x60ba30) at mesh2_api.c:751
#2 reconnect_cbk (cls=0x60ba30, tc=<optimized out>) at mesh2_api.c:774
#3 0x00007ffff7bb65d9 in run_ready (ws=0x60b290, rs=0x61e810)
    at scheduler.c:597
#4 GNUNET_SCHEDULER_run (task=task@entry=0x7ffff7bbe360 <service_task>,
    task_cls=task_cls@entry=0x7fffffffdd90) at scheduler.c:786
#5 0x00007ffff7bc11b6 in GNUNET_SERVICE_run (argc=<optimized out>,
    argv=<optimized out>, service_name=service_name@entry=0x40752c "set",
    options=options@entry=GNUNET_SERVICE_OPTION_NONE,
    task=task@entry=0x401900 <run>, task_cls=task_cls@entry=0x0)
    at service.c:1816
#6 0x00000000004017a6 in main (argc=<optimized out>, argv=<optimized out>)
    at gnunet-service-set.c:820
Additional Informationgnunet-service-mesh-new is running:
dold@dold-x1c:~/repos/gnunet/src/set$ gnunet-arm -I
Running services:
fs (gnunet-service-fs)
ats (gnunet-service-ats)
transport (gnunet-service-transport)
peerinfo (gnunet-service-peerinfo)
nse (gnunet-service-nse)
hostlist (gnunet-daemon-hostlist)
topology (gnunet-daemon-topology)
mesh (gnunet-service-mesh-new)
statistics (gnunet-service-statistics)
dht (gnunet-service-dht)
core (gnunet-service-core)
datastore (gnunet-service-datastore)
TagsNo tags attached.

Activities

Bart Polot

2013-06-25 17:09

reporter   ~0007174

Is this svn HEAD? I fixed a similar looking bug ~an hour ago...

Florian Dold

2013-06-25 17:15

developer   ~0007175

This definitely happens in svn HEAD:
dold@dold-x1c:~/repos/gnunet$ svn up
Updating '.':
At revision 27593.

I also made sure to run 'make install'.

I've just commited a way to reproduce the problem:
- make sure the local peer is running
- run gnunet-service-set
- run gnunet-set-profiler

Bart Polot

2013-06-25 17:17

reporter   ~0007176

What is at your peer.c:226? I don't see an assertion there

Bart Polot

2013-06-25 17:18

reporter   ~0007177

Ok, I see the problem. I fixed the bug an hour ago - just didn't commit it.

D'oh.

Bart Polot

2013-06-25 17:19

reporter   ~0007178

I hope it'll be fixed with r27594.

Florian Dold

2013-06-25 18:24

developer   ~0007179

I still get the assertion, this time only the service fails directly, but messages don't seem to be delivered to the client. However, the incoming tunnel callback is called.

Florian Dold

2013-06-25 18:29

developer   ~0007180

In r27595 the assertion is gone, but I neither get the incoming tunnel cb, nor the actual message.

Bart Polot

2013-06-25 18:29

reporter   ~0007181

So... what is at your peer.c:226?

Florian Dold

2013-06-25 18:32

developer   ~0007182

It's just the start of GNUNET_PEER_resolve, which gdb reported as I set a breakpoint there (I don't know how to let GDB break at GNUNET_break as it's a macro not a function).

In the current revision, the client does not fail in GNUNET_PEER_resolved, it's just that the incoming tunnel callback isn't called anymore, likewise for the message handler.

Florian Dold

2013-06-25 18:53

developer   ~0007183

For better reproducibility: test_mesh2_local does not work on my system.

dold@dold-x1c:~/repos/gnunet/src/mesh$ ./test_mesh2_local
Jun 25 18:53:11-908729 test-mesh-local-1-29987 ERROR Assertion failed at test_mesh2_local.c:199.
Jun 25 18:53:11-909165 test-mesh-local-1-29987 WARNING test: received closing tunnel on peer != 2
Jun 25 18:53:11-909245 test-mesh-local-1-29987 ERROR Assertion failed at peer.c:203.
Aborted

Bart Polot

2013-06-26 01:42

reporter   ~0007185

This last assertion error is a different bug (fixed in r27599), by which tunnel_destoy called change_rc twice.

The remaining bug seems to be unrelated to the GNUNET_peer assertions, but I will keep this bug open until it's solved.

Bart Polot

2013-06-26 17:17

reporter   ~0007191

Should be fixed in r27630.

Issue History

Date Modified Username Field Change
2013-06-25 17:08 Florian Dold New Issue
2013-06-25 17:08 Florian Dold Status new => assigned
2013-06-25 17:08 Florian Dold Assigned To => Bart Polot
2013-06-25 17:09 Bart Polot Note Added: 0007174
2013-06-25 17:15 Florian Dold Note Added: 0007175
2013-06-25 17:17 Bart Polot Note Added: 0007176
2013-06-25 17:18 Bart Polot Note Added: 0007177
2013-06-25 17:19 Bart Polot Note Added: 0007178
2013-06-25 17:19 Bart Polot Status assigned => resolved
2013-06-25 17:19 Bart Polot Fixed in Version => Git master
2013-06-25 17:19 Bart Polot Resolution open => fixed
2013-06-25 18:24 Florian Dold Note Added: 0007179
2013-06-25 18:24 Florian Dold Status resolved => feedback
2013-06-25 18:24 Florian Dold Resolution fixed => reopened
2013-06-25 18:29 Florian Dold Note Added: 0007180
2013-06-25 18:29 Florian Dold Status feedback => assigned
2013-06-25 18:29 Bart Polot Note Added: 0007181
2013-06-25 18:32 Florian Dold Note Added: 0007182
2013-06-25 18:53 Florian Dold Note Added: 0007183
2013-06-26 01:42 Bart Polot Note Added: 0007185
2013-06-26 17:17 Bart Polot Note Added: 0007191
2013-06-26 17:17 Bart Polot Status assigned => resolved
2013-06-26 17:17 Bart Polot Resolution reopened => fixed
2013-07-05 19:00 Christian Grothoff Fixed in Version Git master => 0.10.0
2013-07-05 19:00 Christian Grothoff Target Version => 0.10.0
2013-12-24 20:54 Christian Grothoff Status resolved => closed
2014-05-09 18:34 Christian Grothoff Category mesh service => cadet service