Я студент с небольшим знанием о 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, потому что он не обеспечивает достаточно памяти для выделения, но я не уверен.
Может ли кто-нибудь помочь мне понять, почему возникает эта проблема, и предложить мне возможные пути ее преодоления?
Заранее спасибо, Сурья