Hmmm, so the way I see this happening is if it takes >5ms for the original request-handling thread to go from line 117 to line 124 in LiftServlet (because we first tryfetching the response 5ms after 117 runs) and the 5ms-delayed scheduled itemin runFunction is scheduled ahead of the next line in LiftServlet after those 5mshave concluded. While I can see this being viable, I find it somewhat unlikely…Did you insert tracing and observe that this is definitely what was happening?
Please keep in mind that it is normal for comet requests to do nothing for 2 minutesand then re-issue if there is nothing to push to the client. That is the long-pollnature of Lift's comet interactions. I realize you may already know that, but wantto make sure to cover all possibilities :)
If, however, this is indeed what you're seeing, and this is the root of the NPEs we'vebeen seeing for some time… Let's just say I'm going to be pretty excited, as fixing thosefor good would be ideal.
Hmmm, so the way I see this happening is if it takes >5ms for the original request-handling thread to go from line 117 to line 124 in LiftServlet (because we first tryfetching the response 5ms after 117 runs) and the 5ms-delayed scheduled itemin runFunction is scheduled ahead of the next line in LiftServlet after those 5mshave concluded. While I can see this being viable, I find it somewhat unlikely…Did you insert tracing and observe that this is definitely what was happening?Please keep in mind that it is normal for comet requests to do nothing for 2 minutesand then re-issue if there is nothing to push to the client. That is the long-pollnature of Lift's comet interactions. I realize you may already know that, but wantto make sure to cover all possibilities :)If, however, this is indeed what you're seeing, and this is the root of the NPEs we'vebeen seeing for some time… Let's just say I'm going to be pretty excited, as fixing thosefor good would be ideal.Andreas may also be able to chime in, since he's been seeing those NPEs recently ifI remember correctly.Thanks,Antonio
Awesome, thanks for the breakdown and additional details David! If you get a chance,please file an issue in Github; otherwise, I'll try and do that when I can. I'll also try to seeif I can get this sorted by the time 3.1.0 goes out the door… Maybe I'll even get a chanceto sneak it into the next milestone build.Thanks,Antonio