No real idea either. I think procd/init gets stuck waiting for something to happen (i.e. blocked io) between:
I think it must be somewhere in service_update() just before the call to rc() in
Because otherwise we would see this message to appear on the MBL DUO:
[ 6.210242] procd: running /etc/init.d/ubus running
As for the urandom messages:
[ 6.225896] random: ubusd: uninitialized urandom read (4 bytes read)
These are generated by the kernel's random.c:
And I think the reason why they show up in the bootlog is because ubusd uses /dev/urandom for random id generation in ubus_alloc_id().
I don't think the problem is in ubusd, since otherwise we would simply see a timeout after 50 seconds. Something must be blocking in procd and because of this the procd daemon does no longer ping the watchdog.... And hence the MBL DUO reboots.