-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Running dotnet in Linux chroot with FreeBSD host fails #33051
Comments
dotnet exec /path/csc.dll...
, during the build). Tested with 3.1.2, without the [workaround](https://github.com/dotnet/runtime/issues/13475#issuecomment-559854433). Here is the truss output: https://api.cirrus-ci.com/v1/task/6667788790005760/logs/emulate%20dotnet.log. With the sched_getcpu
workaround, it continues to work.
@am11 would you be able to check if this issue still occurs? It seems that it should be fixed now. |
@janvorli, sorry the above links are dead. I have tested with latest SDK and the build is failing with socket issue: https://cirrus-ci.com/task/6736777027256320. Underlying issue is: #39279. I will keep an eye on it and close if it works after the socket issue isresolved. |
@am11 any updates on this? If not might make sense to close this out and reopen if the issue repros. Thx. |
The issue with |
Can you please clarify what version are you still seeing the issue on (the original comment mentions 3.1.2)? Are there more details on the failure details? Thx |
The issue is from March, at that time it was tested on 3.1. Last link I shared (#33051 (comment)) is using preview 8. At this point I cannot test whether it works without |
@adamsitnik, thanks for the reminder. Waiting for dotnet/sdk#12935 to pick up that change. |
@am11 did you get a chance to check whether it's fixed? |
I am sorry that I forgot to follow-up here. With .NET 5.0 RTM, we can publish a simple .NET application for Linux, and run it in Linuxulator (FreeBSD Linux simulator), without the Green CI showing a working HelloWorld app: https://cirrus-ci.com/task/4833901384302592 (the logs are not permanent and will be deleted by CI service once their retention period will elapse). However, for more complex applications (such as, csc.dll, the C# compiler or On the other hand, applications such as Firefox, go-lang's It might require a few tweaks around syscalls (maybe |
@am11 thank you for the details. What would be the tweaks around mprotect and mlock that you have mentioned? |
@janvorli, I was guessing from this part of of the trace that the unimplemented
Unfortunately, collecting callstack is tricky and it would probably require recompilation of gdb on FreeBSD with Linux coredump handler, as described in these notes: https://papers.freebsd.org/2018/bsdcan/tuffli-Running_Linux_applications_on_FreeBSD.files/tuffli-Running_Linux_applications_on_FreeBSD-notes.txt. The problems I was running into are: Debugging
CoreDump analysis
SOS plugin
(I haven't yet tried installing lldb in linuxulator) |
The missing membarrier should not be a problem, the mprotect / mlock is a fallback that we use if the membarrier doesn't work. Only arm64 would have problems because the mprotect / mlock thing doesn't work on it. |
Opened microsoft/clrmd#875 for |
This issue has been automatically marked Please refer to our contribution guidelines for tips on what information might be required. |
This issue will now be closed since it had been marked |
The helloworld app in Linux chroot of FreeBSD still failed when invoking the compiler (at
dotnet exec /path/csc.dll...
, during the build). Tested with 3.1.2, without the workaround. Here is the truss output: https://api.cirrus-ci.com/v1/task/6667788790005760/logs/emulate%20dotnet.log. With thesched_getcpu
workaround, it continues to work.Originally posted by @am11 in #13475 (comment)
The text was updated successfully, but these errors were encountered: