pipeHandler() is for signaling of dispatching input events or other events. If you can break on nsAppShell::NotifyNativeEvent() and paste the backtrace here. It may be helpful.
pancake <[email protected]> writes: > On 05/24/13 14:59, Justin Lebar wrote: >> This should be very easy to debug. >> >> Just attach gdb to the relevant process (./run-gdb.sh attach PID -- >> you can find the pid by running adb shell b2g-ps), then break on >> |read|, then you should quite quickly find out who's calling read in a >> loop. >> >> The real question will be why we get an infinite loop of EAGAIN's... > > b2g has 36 threads running.. after setting a breakpoint on "read" i > got the thread. > > this is the backtrace: > > (gdb) bt > #0 read () at bionic/libc/arch-arm/syscalls/read.S:8 > #1 0x41379de6 in pipeHandler (fd=35, data=<value optimized out>) > at /home/pancake/prg/B2G/gecko/widget/gonk/nsAppShell.cpp:101 > #2 0x41379cbe in FdHandler::run (this=0x4391bca0, mayWait=<value > optimized out>) > at /home/pancake/prg/B2G/gecko/widget/gonk/nsAppShell.h:50 ......... skip ............... -- Sinker -- 天教懶漫帶疏狂 _______________________________________________ dev-b2g mailing list [email protected] https://lists.mozilla.org/listinfo/dev-b2g
