-
Notifications
You must be signed in to change notification settings - Fork 823
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
CCP4 segfaults for lack of vsyscall page #1466
Comments
Shows in the straces of |
That may be correct. When these program work they start with printing the time of the day to stdout. Running the programs through gdb seems to support this:
All of these programs are compiled as static binaries with the intel compiler. If compiling them using dynamic library loading they run fine. Also compiling them with gfortran they run fine. I'm a little confused as to why this is so. I guess different compilers have different ways of achieving the same functionality. |
closed by mistake, sorry! So what are the suggestions on the best course of actions for program developers or is there any chance that real time support will be available in WSL? |
It probably isn't the compiler per se, but rather how some dependent static library is doing stuff. For now your options are (1) find and work around the failing system call dependency in the source, (2) wait for the WSL guys to implement the feature. Features do get attention if they show up enough here on github (it has) and/or in their telemetry. There's plenty of unimplemented surface to choose from and everyone has their favorite. And as always you can open a feature request on User Voice. YRMV. |
rt_sigaction is implemented, so that doesn't seem to be the issue. How does the strace look like on Ubuntu? Also since it uses OpenMP, could you provide both straces with '-f' option to follow forks, so we could see complete picture? |
Right. So stdout on a native Ubuntu 14 machine with the program is as below:
and with the strace it is:
If I'm not mistaken it looks like WSL fails after the syscall |
@Oeffner Thanks for the strace from Ubuntu. The '-ff' switch outputs strace from different processes into different files, '-f' would be more useful in our scenario, as that outputs all logs into one file. It is possible that the futex call is crashing, but the fastest way for us to fix it would be to have a repro. Could you write a sample app and compile it in a similar fashion? The crash happens very early on, so I believe that should repro it. |
OK here is the strace of the program running on native Ubuntu with the -f flag:
and here it is on my WSL PC:
I'll see if I can make a small repro within the next few days with the intel compiler before its trial license expires. |
That |
Thanks for the info. If you have any suggestions on what functions to call in a small repro that exercises |
Normally you'd be screwed without the source, but perhaps not here. That Edit -- tried the one-liner and |
Duping into #1462 because it has more details on |
Please use the following bug reporting template to help produce actionable and reproducible issues. Please try to ensure that the reproduction is minimal so that the team can go through more bugs!
A brief description
I am working with scientific programs from CCP4 that all run fine on native Linux but crash on WSL. They are text mode and do scientific number crunching. They have all been compiled with Intel fortran using MKL and OpenMP. Due to copyright restrictions I am not able to submit neither a binary nor the source code of any of the programs. Nor have I so far been able to reproduce the crash with my own small example code using intels compiler.
Expected results
When run without arguments these programs should print about 40 lines help text to stdout.
Actual results (with terminal output if applicable)
Instant termination with no output to stdout.
I think that strace suggest that the problem is with the futex system call.
Your Windows build number
10.0.14971
Steps / All commands required to reproduce the error from a brand new installation
After installing CCP4 run any of the commands, shelxe, shelxc, shelxd, shelxl, shelxs, shelxt from a bash shell.
Strace of the failing command
Install the scientific software suite CCP4 + SHELX from http://www.ccp4.ac.uk/download/index.php#os=linux on WSL, about 750Gb. Uncompress the package ccp4-7.0-shelx-linux-x86_64.tar.bz2 and run the setup script.
See our contributing instructions for assistance.
The text was updated successfully, but these errors were encountered: