Программа получила сигнал SIGABRT (Фортран) - PullRequest
0 голосов
/ 18 марта 2012

У меня проблема с этим кодом, когда я запускаю сценарий инверсии. Я попытался отладить с помощью gdb:

Starting program: /home/milenko/fg77/f2/bin/inverse_2d
INVERSE: calculate slowness update using LSQR and regularization
open: No such file or directory
apparent state: unit 48 named stop.in
lately writing sequential formatted external IO

Program received signal SIGABRT, Aborted.
0x0012d422 in __kernel_vsyscall ()

1 Ответ

2 голосов
/ 18 марта 2012

Похоже, что ваша программа пыталась записать файл с именем stop.in на устройстве 48 и столкнулась с проблемой.Наиболее вероятная причина этого заключается в том, что этот файл не существует при выполнении оператора WRITE, что, в свою очередь, указывает на то, что инструкция OPEN для «прикрепления» этого файла к блоку 48 не удалась.

РЕДАКТИРОВАТЬ

Ваш фрагмент кода не показывает, что вы проверяете код ошибки, возвращаемый оператором

open (48, file = 'stop.in', status = 'old')

Я предлагаю вам ввести аргумент iostat и посмотреть, что он вам говорит.

ДОПОЛНИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ

Во втором предложении моего первоначального ответа заменить «не существует» словами «не существует в месте, которое ожидает программа».

...