Modify

Opened 2 years ago

Last modified 2 years ago

#21675 new defect

ubus miss session and dhcp objects after crash

Reported by: anonymous Owned by: developers
Priority: normal Milestone:
Component: base system Version: Trunk
Keywords: ubusd luci Cc:

Description

If for some reason ubusd crashes or get killed, "session" and "dhcp" object disapear from "ubus list" output.
Because of that luci interface cannot keep sysauth cookie and require login again after each click.

Before crash :

dhcp
hostapd.wlan0
hostapd.wlan0-1
hostapd.wlan1
hostapd.wlan1-1
log
network
network.device
network.interface
network.interface.6to4
network.interface.he
network.interface.lan
network.interface.loopback
network.interface.wan
network.interface.wan6
network.wireless
service
session
system
uci

Crash :

[ 1061.447167] 
[ 1061.447167] do_page_fault(): sending SIGSEGV to ubusd for invalid read access from 00000004
[ 1061.455698] epc = 00402e5f in ubusd[400000+4000]
[ 1061.460671] ra  = 00402e55 in ubusd[400000+4000]
[ 1061.465482] 

after crash luci behave bad :

hostapd.wlan0
hostapd.wlan0-1
hostapd.wlan1
hostapd.wlan1-1
log
network
network.device
network.interface
network.interface.6to4
network.interface.he
network.interface.lan
network.interface.loopback
network.interface.wan
network.wireless
service
system

Attachments (0)

Change History (8)

comment:1 Changed 2 years ago by anonymous

It appears that rpcd creates the "session" object. If restarted it recreates the object.
Rpcd should detect ubusd failure and take appropriate action to reregister itself with ubusd.

comment:2 Changed 2 years ago by bittorf@…

which OpenWrt/LuCI-version?

comment:3 Changed 2 years ago by anonymous

DESIGNATED DRIVER (Bleeding Edge, r48151)
luci - git-16.004.80366-03a8393-1

comment:4 Changed 2 years ago by anonymous

As a quick fix I croned '* * * * *' this :

k@bn:/etc/my$ cat fix_ubusd_crash 
#!/bin/sh

ubus list session || {
 logger -t ubusd_fix "no session object, restarting rpcd"
 /etc/init.d/rpcd restart
}}}}

comment:5 Changed 2 years ago by bolvan

I found condition when ubusd 100% crashes.
Its reliable and easy reproducable.

Issue "ubus list" under non-root user and ubusd crashes.

comment:6 Changed 2 years ago by bolvan

Problem exists in ubusd - 2015-12-09-766d49876f8f877f4846c16864e7f73b5a3917f7
ubusd - 2016-01-26-619f3a160de4f417226b69039538882787b3811c - seem to be fixed, no crash

comment:7 Changed 2 years ago by jow

Your issue has been likely fixed with http://git.openwrt.org/?p=project/ubus.git;a=commitdiff;h=1d2b3bbdbefa4901e34506f86f4b4c4412dbb555 already. Did youupdate LuCI without updating the system by any chance?

comment:8 Changed 2 years ago by bolvan

I did not update luci, only installed ubusd.ipk from snapshot build

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.