View Issue Details

IDProjectCategoryView StatusLast Update
0003456GNUnetcadet servicepublic2014-07-02 21:34
ReporterBart Polot Assigned ToBart Polot  
PriorityurgentSeveritymajorReproducibilityrandom
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.11.0pre66Fixed in Version0.11.0pre66 
Summary0003456: Cadet's flow control fails in the presence of data loss
Description
Jun 24 03:56:03-420969 CADET XXX 6DEV WARNING External protocol violation detected at gnunet-service-cadet_channel.c:1978.
Jun 24 03:56:03-420994 CADET chn 6DEV WARNING MID 480 not expected (416 - 479), dropping!

and accumulates up to...
Jun 24 03:56:04-828795 CADET XXX 6DEV WARNING External protocol violation detected at gnunet-service-cadet_channel.c:1978.
Jun 24 03:56:04-828801 CADET chn 6DEV WARNING MID 902 not expected (825 - 888), dropping!

Finally it locks and dies:
Jun 24 03:56:04-818887 test_cadet_small-6311 DEBUG Data task
Jun 24 03:56:04-821269 test_cadet_small-6311 DEBUG tmt_rdy called, filling buffer
Jun 24 03:56:04-821278 test_cadet_small-6311 DEBUG Sent message 902 size 909
Jun 24 03:56:04-821290 test_cadet_small-6311 DEBUG Scheduling message 903
Jun 24 03:56:04-821352 test_cadet_small-6311 DEBUG Data task
Jun 24 03:56:04-822803 test_cadet_small-6311 DEBUG tmt_rdy called, filling buffer
Jun 24 03:56:04-822811 test_cadet_small-6311 DEBUG Sent message 903 size 910
Jun 24 03:56:04-822816 test_cadet_small-6311 DEBUG Scheduling message 904
Jun 24 03:56:04-822863 test_cadet_small-6311 DEBUG Data task
Jun 24 03:57:04-802459 test_cadet_small-6311 DEBUG disconnecting cadet service of peers, called from line 442
Jun 24 03:57:04-802522 test_cadet_small-6311 INFO Incoming channel disconnected at peer 0
Jun 24 03:57:04-802528 test_cadet_small-6311 INFO ok: 827
Jun 24 03:57:04-802567 test_cadet_small-6311 DEBUG tmt_rdy called, filling buffer
Jun 24 03:57:04-802573 test_cadet_small-6311 DEBUG size 0, buf (nil), data_sent 903, data_received 825
Jun 24 03:57:04-802578 test_cadet_small-6311 DEBUG ok 827, ok goal 1004
Jun 24 03:57:04-802585 test_cadet_small-6311 ERROR Assertion failed at test_cadet.c:383.
Jun 24 03:57:04-802600 test_cadet_small-6311 INFO Incoming channel disconnected at peer 1
Jun 24 03:57:04-802604 test_cadet_small-6311 INFO ok: 828
Jun 24 03:57:04-802958 test_cadet_small-6311 DEBUG Ending test.
Jun 24 03:57:04-813181 test_cadet_small-6311 ERROR FAILED! (828/1004)
TagsNo tags attached.

Relationships

related to 0003463 closedBart Polot Tweak "futures" bitfiled for channel ACKs 

Activities

Bart Polot

2014-07-01 13:12

manager   ~0008492

rel->mid_recv is only updated when buffered data is sent to client, but DATA_ACK is sent upon receipt of missing DATA.

Example:
- Last ACK: 369, Futures: 0xFFFFFFFFFFFFFFFE (371-433 are ok)
- Receive DATA for 370
- Send ACK for 433 (authorizing 434-498)
- Race condition: if traffic comes in faster than queue is sent to client (like in a local setting), data is dropped.

Bart Polot

2014-07-02 21:34

manager   ~0008499

Fixed in r33905+.

Issue History

Date Modified Username Field Change
2014-06-25 02:56 Bart Polot New Issue
2014-06-25 02:56 Bart Polot Status new => assigned
2014-06-25 02:56 Bart Polot Assigned To => Bart Polot
2014-07-01 13:12 Bart Polot Note Added: 0008492
2014-07-01 13:26 Bart Polot Relationship added related to 0003463
2014-07-02 21:34 Bart Polot Note Added: 0008499
2014-07-02 21:34 Bart Polot Status assigned => closed
2014-07-02 21:34 Bart Polot Resolution open => fixed
2014-07-02 21:34 Bart Polot Fixed in Version => 0.11.0pre66