New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[luci-app-bmx6] Incomplete BMX6 graph due to race condition in bmx6json.lua? #436
Comments
rogerpueyo
added a commit
to rogerpueyo/openwrt-routing-packages
that referenced
this issue
Dec 9, 2018
The network topology of a BMX6 mesh can be obtained by asking all the nodes about their links via the bmx6-info script. The wget() function in the bmx6json.lua file is part of the process, but it often returns nil, even if the remote data can actually be fetched, in what seems to be a race condition. By calling the sys.exec("") function empty, the race condition disappears. Dirty fix to openwrt#436. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
rogerpueyo
added a commit
to rogerpueyo/openwrt-routing-packages
that referenced
this issue
Dec 9, 2018
The network topology of a BMX6 mesh can be obtained by asking all the nodes about their links via the bmx6-info script. The wget() function in the bmx6json.lua file is part of the process, but it often returns nil, even if the remote data can actually be fetched, in what seems to be a race condition. By calling the sys.exec("") function empty, the race condition disappears. Dirty fix to openwrt#436. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Thanks for the analysis. |
Well, it's been fixed with a dirty patch, but if it was caused by some race condition, it still is there... |
I'd rater focus on bmx7 stuff :)
…On 11/1/19 15:50, rogerpueyo wrote:
Well, it's been fixed with a dirty patch, but if it was caused by some
race condition, it still is there...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#436 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABBo9vKw5VNdMaNNsD2YR3Vn5HoOZ2h5ks5vCKS1gaJpZM4ZKLz3>.
--
./p4u
|
rogerpueyo
added a commit
to QuickMeshProject/qmp
that referenced
this issue
Sep 14, 2019
Dirty fix for #446 while it is not fixed upstream (see openwrt/routing#436) Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
rogerpueyo
added a commit
to QuickMeshProject/qmp
that referenced
this issue
Sep 14, 2019
Dirty fix for #446 while it is not fixed upstream (see openwrt/routing#436) Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I have a network with 7 nodes running OpenWrt trunk and BMX6 that create a mesh with the following topology:
They are connected by cable, they all see and ping/SSH each other. When I ask for the network Graph via luci-app-bmx6's Graph page, I get incomplete topologies, like the following examples:
etc., but never the complete topology. Asking for the JSON topology via https://192.168.62.1/cgi-bin/luci/admin/network/BMX6/topology returns the JSON structure, but only the links from one or two (maybe three sometimes) of the nodes appear there. For example:
I have observed, however, that changing this block of the bmx6json.lua file https://github.com/openwrt-routing/packages/blob/a7c447903cc77fdf43193d1325b5517e6b97da05/luci-app-bmx6/bmx6/usr/lib/lua/luci/model/bmx6json.lua#L60-62 and adding an "empty" sys.exec() call like:
Just by adding this empty sys.exec("") call, I get the whole network topology and the graph is completely represented.
I guess there is some weird race condition in the bmx6json.lua's wget() function which returns the output of the actual "wget" command before it finishes, or something similar, but I have been unable so far to identify where the problem is.
The text was updated successfully, but these errors were encountered: