After recompiling mountall and libnih (which was quite painful, since most tests were not passing), I got this very small backtrace:
#0 0x00007ffff6c5d003 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff7bcd814 in nih_main_loop () at main.c:581
#2 0x0000555555565acd in main (argc=2, argv=0x7fffffffe678) at mountall.c:4098
The nih code is:
/* Now we hang around until either a signal comes in (and
* calls nih_main_loop_interrupt), a file descriptor we're
* watching changes in some way or it's time to run a timer.
*/
ret = select (nfds, &readfds, &writefds, &exceptfds, (next_timer ? &timeout : NULL));
I don't know if this is too useful, but at least we know where it's hanging.
What I find interesting is that this portion of the code in mountall did not change from 2.36 to 2.36.3, the changes are earlier in the file, however they are causing the call to nih_main_loop to hang.
After recompiling mountall and libnih (which was quite painful, since most tests were not passing), I got this very small backtrace:
#0 0x00007ffff6c5d003 in select () from /lib/x86_ 64-linux- gnu/libc. so.6 e678) at mountall.c:4098
#1 0x00007ffff7bcd814 in nih_main_loop () at main.c:581
#2 0x0000555555565acd in main (argc=2, argv=0x7fffffff
The nih code is:
/* Now we hang around until either a signal comes in (and loop_interrupt) , a file descriptor we're
(next_ timer ? &timeout : NULL));
* calls nih_main_
* watching changes in some way or it's time to run a timer.
*/
ret = select (nfds, &readfds, &writefds, &exceptfds,
I don't know if this is too useful, but at least we know where it's hanging.
What I find interesting is that this portion of the code in mountall did not change from 2.36 to 2.36.3, the changes are earlier in the file, however they are causing the call to nih_main_loop to hang.