- 
                Notifications
    
You must be signed in to change notification settings  - Fork 5.2k
 
Use BOOL (vs. bool) in event pipe qcall signatures #74389
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 
           Thanks!!  | 
    
| 
           /backport to release/7.0  | 
    
| 
           Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/2917168012  | 
    
| 
           Is there any chance this fix will be backported to .NET 6?  | 
    
| 
           @nr-ahemsath We would need to do a bar check, but given the size of this change, I don't think it would get much pushback. Are you sure this is the same issue?  | 
    
| 
           @AaronRobinsonMSFT Thanks for responding so quickly! I'm not 100% sure the issue I'm seeing is the same as this, but it seems pretty likely, based on the following: 
 
 Do you have any suggestions for how I can positively confirm that this is the same issue?    | 
    
| 
           @nr-ahemsath The "nightly" builds can be found at https://github.com/dotnet/installer/#table, but it seems this fixed hasn't made it into that build yet. Probably next week? If you can confirm this fixes the problem, please let me know and I can start the process.  | 
    
| 
           Also, I'd recommend creating another issue and tagging this one if a port to .NET 6 is requested.  | 
    
| 
           @AaronRobinsonMSFT Okay, thanks. Yeah, I tested with the latest RC build and it still crashes, so thanks for confirming that the fix hasn't made it in yet. I will create another issue and tag this one if I can confirm that this PR fixes our issue.  | 
    
| 
           /backport to release/6.0  | 
    
| 
           Started backporting to release/6.0: https://github.com/dotnet/runtime/actions/runs/4009666237  | 
    
| 
           @VSadov backporting to release/6.0 failed, the patch most likely resulted in conflicts: $ git am --3way --ignore-whitespace --keep-non-patch changes.patch
Applying: Use BOOL (vs. bool) in event pipe qcall signatures
Using index info to reconstruct a base tree...
M	src/coreclr/vm/eventpipeinternal.cpp
M	src/coreclr/vm/eventpipeinternal.h
Falling back to patching base and 3-way merge...
Auto-merging src/coreclr/vm/eventpipeinternal.h
CONFLICT (content): Merge conflict in src/coreclr/vm/eventpipeinternal.h
Auto-merging src/coreclr/vm/eventpipeinternal.cpp
CONFLICT (content): Merge conflict in src/coreclr/vm/eventpipeinternal.cpp
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Use BOOL (vs. bool) in event pipe qcall signatures
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Error: The process '/usr/bin/git' failed with exit code 128Please backport manually!  | 
    
| 
           @VSadov an error occurred while backporting to release/6.0, please check the run log for details! Error: git am failed, most likely due to a merge conflict.  | 
    
BOOLis preferred in QCALL signatures since it has well defined size (int32) while c++boolis implementation specific and is typically 1 byte.It looks like we expect
int32(UnmanagedType.Bool) on the managed side as well.runtime/src/coreclr/System.Private.CoreLib/src/System/Diagnostics/Eventing/EventPipe.CoreCLR.cs
Line 57 in e67e4da
This fixes #62145 for me.
I am not sure why this is not causing failures in non-singlefile case. It should though.
Perhaps some differences in initialization or how calls are bound have a mitigating effect on non-singlefile.