Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
BANDIT crash on Windows (MSYS+CMake build)
#1
I think it's a good idea to sum up all the information regarding the whole BANDIT/CMake/Windows situationin a thread over here.

Here's a quick run-down of what happened:

  1. In the interest of getting a consistent, faster build process (without Code::Blocks) and supporting Linux, I updated Cean's CMakeLists.txt file, enabling users to compile MYSTRAN (using gfortran) under both Linux and Windows (using MSYS).
  2. The resulting binaries worked fine on Linux, but caused runtime errors on Windows. Those crashes originated in WRITE calls in BANDIT.
  3. We were unable to find an explanation for the uncovered OS-dependent behavior. It's a really weird glitch in how the runtime is treating opened files.
  4. In the interest of getting this improved build process out there, I also commented out all offending WRITE calls. After that change, the Windows binary seems to work.
That's the current state of my fork: CMake cross-platform improved build spec and silenced BANDIT.

Some extra points that came up during discussion and are very much worth mentioning:
  • BANDIT is comprised of legacy F77 code. This may be related to the "quirky" behavior across OSes.
  • Even though the test cases run on Windows after silencing BANDIT, it still reports BANDIT failed (code 4). That doesn't happen on Linux. Maybe the glitch causing this inconsistent behavior runs deeper than we previously thought.
  • That may explain why others were unable to reproduce this behavior in simple test programs.
  • Since integrating a better solver (PaStiX) is in the works and it doesn't need BANDIT, "fixing" BANDIT doesn't seem worth the effort. PaStiX should be the priority.
  • Still, until that's done, it's good to have an alternative build process working.
Reply


Messages In This Thread
BANDIT crash on Windows (MSYS+CMake build) - by borges - 08-28-2020, 04:51 PM

Forum Jump:


Users browsing this thread: 2 Guest(s)