-
Notifications
You must be signed in to change notification settings - Fork 588
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
regression in diversion sessions for function calls from gdb since 5.4.0, affecting Chromium #2829
Comments
While this is perhaps a regression in the most literal sense, I think our post #2748 behavior is obviously more correct, and the real problem here is that logging anything in chromium (with timestamps enabled) triggers an IPC roundtrip (to remote localtime(3)) |
This is a bit shocking, honestly. |
Maybe the chromium sandbox does not allow calls to localtime_r? |
I'm not surprised it blocks calls to |
Since gettimeofday() is allowed, I assume it forwards localtime just for the timezone conversion. That's unfortunate. But I wonder, since the actual IPC call surely didn't work even before that rr patch, how was this working before? |
Before #2748 the SIGTRAP DebugBreak() generates was ignored and execution just proceeded. |
So did the logging code here just use 0/some garbage number? |
@dbaron ^? |
The output prior to the patch was:
now that I look more closely. |
By the way, is the diversion session used to handle |
It does duplicate the entire process set, but other threads never run. |
Even if we did run them, IPC wouldn't work because the file descriptors are not set up during replay. |
Right, the biggest obstacle is that the IPC pipe doesn't actually exist during the replay. |
OK, sounds like we'll need to find a way around this on the Chromium side. |
@khuey just landed 4 patches (35d477f, 0bc6138, db2dcd1, e679d6a) to fix Chromium issue 1193532 (which I probably should have filed here rather than discussing by email, at some point after asking "is this an rr bug").
However, testing with rr trunk revealed that there's a distinct regression with the same steps to reproduce in that bug.
The new failure is this:
For what it's worth, the new problem is this:
git bisect
shows that this is a regression from #2748:[4f99ff0] Propagate SIGTRAP to client during diversion
The text was updated successfully, but these errors were encountered: