-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IntelliJ IDEA + EmmyLua + mobdebug = very unstable handshake #74
Comments
Investigated, discovered with Wireshark that "DELB * 0\n" command is sent by server-side into the app.
Search in source code shows that If I comment that line out, handshake always passes OK. I assume that
|
Thanks for supercool module, we're using it a lot and are very happy! |
Correct, but it should add the read byte back to the line inside handle_breakpoint or in the debugger_loop. Also, stealing one character shouldn't affect It looks like it's not working for you in some of the cases, but it's not quite clear what is different about those cases. I can't reproduce this issue, but would be curious to explore it further to see what may be influencing it. Can you try capturing the exact protocol (request/response messages) when it works and when it doesn't work? Since the sequence of calls (including |
Thanks, Paul, for your curiosity!
Was sent by debugger. In normal cases (rare) we get
Reply. In bad cases we see no reply, and app hangs. I've tried wrapping call to My current understanding is that it can't
So at some point we have
And then control comes to
Currently if I just comment out that line, handshake ALWAYS works for me. I'm open for any additional investigation if need be, Pavel |
Version: 0.8
When initiating debug most of times (but not 100%, maybe in 1% it works fine), it looks like this:
And then nothing happens. Execution point is not showed in source code. As if handshake is not passed.
Investigated, discovered with Wireshark that "DELB * 0\n" command is sent by server-side into the app.
But call to
server:receive()
indebugger_loop
never returns.netstat
showed that app read everything from network.lldb
to lua client process shows that somebody callsreceive(1)
beforedebugger_loop
does that and steals bytes from incoming request.Search in source code shows that
:receive(1)
only here:https://github.com/pkulchenko/MobDebug/blob/0.80/src/mobdebug.lua#L489
If I comment that line out, handshake always passes OK.
I assume that
is_pending
mechanismПользуясь случаем, огромное спасибо за замечательную работу, пользуемся каждый день много лет!
The text was updated successfully, but these errors were encountered: