buddingprogrammer
buddingprogrammer

Reputation: 151

Chapel container segfaults only when running on Windows

I was always under the impression that the beauty of docker is it eliminates the "it runs on my machine" result during deployments. I wrote a Dockerfile, based off the latest Arch Linux container, and successfully built it on a Linux machine. I can run the container with no problems on that Linux machine, but when I download it from my hub onto a Windows machine, I get a segmentation fault.

The specific problem is using the Chapel programming language. All I have is a hello world script that I'm compiling and then executing. I get no errors on the Windows machine during compilation, just during execution.

Script: writeln("Hello, world!");

Compilation and execution: chpl hello.chpl -o hello && ./hello

Error: line 30: 441 Segmentation fault ./hello

I know there's an official Docker container for Chapel, but I chose to install Chapel manually because of some other tools I want to use with it. Either way, it would be good to understand where I'm not understanding what Docker does and why this break is occurring. Is there a way to see the Dockerfile that the official image used to figure out why my build is breaking?

My original hello world was something like:

var num_tasks = 10;
coforall taskID in 1..#num_tasks
{
  writeln("Hello from task# ", taskID);
}

so I thought maybe it was just the advanced parallelism features that weren't able to translate well in the container, so I removed that portion from the script and it still failed. These were my environment variables when makeing Chapel from source in the Dockerfile:

CHPL_HWLOC=none
CHPL_TARGET_CPU=none
CHPL_TARGET_PLATFORM=linux64

Upvotes: 0

Views: 80

Answers (0)

Related Questions