gfortran в WSL производит ошибку сегментации - PullRequest
0 голосов
/ 02 мая 2020

Я студент с небольшим знанием о Linux. В настоящее время я использую программу FORTRAN в Ubuntu 18.04, которую я установил через подсистему Windows для Linux (WSL). Мне удалось скомпилировать программу успешно, но когда я попытался запустить ее с использованием входного файла, я получил следующую ошибку сегментации:

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7fa2e483b2ed in ???
#1  0x7fa2e483a503 in ???
#2  0x7fa2e3b0ef1f in ???
#3  0x7fa2e3b6798d in ???
#4  0x7fa2e52195e2 in ???
#5  0x7fa2e52732d1 in ???
#6  0x7fa2e5276324 in ???
#7  0x7fa2e523f4b4 in ???
#8  0x7fa2e520365e in ???
#9  0x7fa2e3af1b96 in ???
#10  0x7fa2e5203699 in ???
#11  0xffffffffffffffff in ???
Segmentation fault (core dumped)

Программа работала, как и ожидалось, на моем компьютере университета, который использует Linux дистрибутив: openSUSE. Однако, когда я пытался запустить ту же программу на своем ноутбуке (Ubuntu 18.04), я получаю вышеуказанную ошибку. Я заметил странную вещь: код работает иногда безупречно, а иногда я получаю ошибку сегментации . Я сделал inte rnet поиск и обнаружил, что ошибка может быть вызвана старыми версиями компилятора. Итак, я установил новый компилятор gfortran (gfortran 7), но ошибка все еще существует.

Я думаю, что проблема с WSL, потому что он не обеспечивает достаточно памяти для выделения, но я не уверен.

Может ли кто-нибудь помочь мне понять, почему возникает эта проблема, и предложить мне возможные пути ее преодоления?

Заранее спасибо, Сурья

...