Ticket #409 (closed defect: worksforme)
Abyss goes into an infinite loop
|Reported by:||dkogan||Owned by:||mickey|
I'm running abyss-0.3.3, and I see abyss use all my CPU under some conditions.
I set up a GPRS connection in my GTA02, and an http proxy to use that GPRS connection from my laptop over usb0. If I try to load a website (latimes.com) through that proxy, the website never finishes loading, but stalls out instead. This would happen ofter with the old muxer as well, however cycling the GPRS connection would bring it back. With the new muxer, one of several failure scenarios happen:
- Abyss begins to use all available CPU immediately.
- org.freesmartphone.GSM.PDP.DeactivateContext? fails to deactivate the ppp connection with pppd still running, but ppp0 down. Abyss starts to hog the cpu here. In this state, pppd sometimes responds to SIGTERM and sometimes not.
One of these failure cases happen every time. If pppd is running and abyss uses all the cpu, _transport_actionCallback() is called continuously, with condition=IN. If pppd is no longer running (because of a SIGKILL), Abyss still uses all the cpu, but _transport_actionCallback() is no longer called.