servalproject / serval-dna

The Serval Project's core daemon that implements Distributed Numbering Architecture (DNA), MDP, VoMP, Rhizome, MeshMS, etc.
http://servalproject.org
Other
171 stars 80 forks source link

find_subscr_buffer() called indefinitely on Samsung Galaxy Nexus #52

Closed rom1v closed 11 years ago

rom1v commented 11 years ago

While I don't have this problem on other phones, on Samsung Galaxy Nexus, find_subscr_buffer() is called very very often (~10 times per second). Do you have an idea of the source cause ?

Then, it causes a lot of "Dropped frames" due to expiry timeout in overlay_stuff_packet.

I/servald ( 4739): [ 4739] 11:21:35.032 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:35.033 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:35.034 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:35.136 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:35.163 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:35.443 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:35.443 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:35.648 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:35.648 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:35.852 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:36.057 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:36.058 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:36.060 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:36.160 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:36.171 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:36.467 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:36.467 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:36.671 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:36.672 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:36.876 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:37.082 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:37.082 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:37.083 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:37.287 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:37.287 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:37.492 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:37.492 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:37.492 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:37.702 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:37.703 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:37.900 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:37.906 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:37.982 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:38.148 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:38.176 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:38.515 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:38.516 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:38.516 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:38.721 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:38.721 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:38.924 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:38.925 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:38.989 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:39.152 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:39.180 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:39.540 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:39.540 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:39.541 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:39.744 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:39.745 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
I/servald ( 4739): [ 4739] 11:21:39.908 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 380F
I/servald ( 4739): [ 4739] 11:21:39.911 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BE9FC8
I/servald ( 4739): [ 4739] 11:21:39.996 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of BF1E50
I/servald ( 4739): [ 4739] 11:21:40.159 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of FA2B
I/servald ( 4739): [ 4739] 11:21:40.184 overlay_address.c:298:find_subscr_buffer()  Asking for explanation of 5E6A
lakeman commented 11 years ago

So this phone can hear the packets of other devices. But it needs to request a copy of their full SID, but the request is never arriving. Is the screen off on those other devices? This often installs a packet filter that drops all incoming broadcast packets. Have you tried turning your devices on in a different order? This can affect whether or not an adhoc network forms correctly.

On Mon, Feb 18, 2013 at 9:01 PM, ®om notifications@github.com wrote:

While I don't have this problem on other phones, on Samsung Galaxy Nexus, find_subscr_buffer() is called very very often (~10 times per second). Do you have an idea of the source cause ?

Then, it causes a lot of "Dropped frames" due to expiry timeout in overlay_stuff_packet.

I/servald ( 4739): [ 4739] 11:21:35.032 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:35.033 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:35.034 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:35.136 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:35.163 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:35.443 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:35.443 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:35.648 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:35.648 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:35.852 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:36.057 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:36.058 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:36.060 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:36.160 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:36.171 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:36.467 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:36.467 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:36.671 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:36.672 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:36.876 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:37.082 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:37.082 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:37.083 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:37.287 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:37.287 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:37.492 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:37.492 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:37.492 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:37.702 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:37.703 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:37.900 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:37.906 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:37.982 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:38.148 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:38.176 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:38.515 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:38.516 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:38.516 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:38.721 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:38.721 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:38.924 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:38.925 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:38.989 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:39.152 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:39.180 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:39.540 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:39.540 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:39.541 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:39.744 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:39.745 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A I/servald ( 4739): [ 4739] 11:21:39.908 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 380F I/servald ( 4739): [ 4739] 11:21:39.911 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BE9FC8 I/servald ( 4739): [ 4739] 11:21:39.996 overlay_address.c:298:find_subscr_buffer() Asking for explanation of BF1E50 I/servald ( 4739): [ 4739] 11:21:40.159 overlay_address.c:298:find_subscr_buffer() Asking for explanation of FA2B I/servald ( 4739): [ 4739] 11:21:40.184 overlay_address.c:298:find_subscr_buffer() Asking for explanation of 5E6A

— Reply to this email directly or view it on GitHubhttps://github.com/servalproject/serval-dna/issues/52.

rom1v commented 11 years ago

Is the screen off on those other devices?

No, all of them have their screen ON.

Have you tried turning your devices on in a different order? This can affect whether or not an adhoc network forms correctly.

Yes, but anyway, it happens even in WiFi client mode.

lakeman commented 11 years ago

Unfortunately, this isn't very surprising, nor is there much we can do about it except give up and start ignoring peers who can't hear us. You might have better luck getting these devices to talk to each other if this phone is turned into a hotspot that the others connect to.

rom1v commented 11 years ago

I also have problems with other phones. I have 2 Motorola Milestone and 3 HTC One S.

Motorola Milestone discover each other very quickly (1 or 2 seconds). HTC One S often fail to discover each other on ad-hoc mode. However, they do discover each other on client mode, very quickly.

Sometimes, one HTC discovers a Motorola Milestone on ad-hoc mode, but it takes time.

I have no find_subscr_buffer() in logs.

Do you think the problem is similar ? Can I do something about it ?

rom1v commented 11 years ago

After some investigations, I think it is a very low level issue.

Even a simple telnet between 2 HTC One does not work (No route to host), while it works with Motorola Milestone.

rom1v commented 11 years ago

I close this issue, since it works with modified Android IBSS (and now current Cyanogen).