Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29376 Discussions

forrtl: severe (174): SIGSEGV, segmentation fault occurred

pze593
Débutant
4 853 Visites
Hi guys!

I need your help again, I'm having the following error:

forrtl: severe (174): SIGSEGV, segmentation fault occurred

this error is in the following line:

dx_step_man_neg = (ABS(acc_limit_neg) - ABS(usage_transformed%exceedance_man_values%acceleration_neg(1)))&
/n_step_man

if I remove the ABS operator the error disappears, but I need the ABS operator, do you have any suggestion or idea why is this happening?

Thanks again!

Juan
0 Compliments
20 Réponses
Steven_L_Intel1
Employé
4 768 Visites
Does raising the stacksize limit help?

0 Compliments
pze593
Débutant
4 768 Visites
Does raising the stacksize limit help?



Can you be more specific?
0 Compliments
Ron_Green
Modérateur
4 768 Visites
0 Compliments
pze593
Débutant
4 768 Visites


Thanks, but it is unclear for me where do I need to type thesecommands:

For Bash/sh/ksh use:ulimit -s unlimited

For Csh use:limit stacksize unlimited

Thanks

Juan

0 Compliments
Steven_L_Intel1
Employé
4 768 Visites
You type them at your Linux (or Mac OS) shell prompt. The command varies depending on which command shell you are using. Try one and if that is unrecognized, try the other.
0 Compliments
pze593
Débutant
4 768 Visites
You type them at your Linux (or Mac OS) shell prompt. The command varies depending on which command shell you are using. Try one and if that is unrecognized, try the other.

Thanks Steve for all your help,

Is this message normal?

macbook:Fixing_after_st_louis_mde juanocampo$ ulimit -s unlimited
-bash: ulimit: stack size: cannot modify limit: Operation not permitted

Thanks

Juan
0 Compliments
TimP
Contributeur émérite III
4 768 Visites
macbook:Fixing_after_st_louis_mde juanocampo$ ulimit -s unlimited
-bash: ulimit: stack size: cannot modify limit: Operation not permitted
I don't know MacOS, but I've seen platforms where you must set unlimited as root before you will be permitted to set it as a user.
0 Compliments
Ron_Green
Modérateur
4 768 Visites
Quoting - tim18
I don't know MacOS, but I've seen platforms where you must set unlimited as root before you will be permitted to set it as a user.

Macs come with a default 8K stack, pretty puny.

AND they limit the stacksize to 64K MAX. It's built into the kernel.

Try

ulimit -s 60000

that will kick it up to about the maximum.

AND compile with this option:

-heap-arrays

ron
0 Compliments
pze593
Débutant
4 768 Visites

Macs come with a default 8K stack, pretty puny.

AND they limit the stacksize to 64K MAX. It's built into the kernel.

Try

ulimit -s 60000

that will kick it up to about the maximum.

AND compile with this option:

-heap-arrays

ron

It was a good try, but it didn't work.

Thanks Ron, any other help guys?
0 Compliments
roddur
Débutant
4 768 Visites
first check your stack:
ulimit -s
if you think it is small, increase it (it is safer to increase it to unlimited).

but i have 2 question! what causes the necessary stack to shoot up when we use opnmp? is it private variables?
is there any way in fortran to check the stack size required and adjust it in runtime?
0 Compliments
Steven_L_Intel1
Employé
4 768 Visites
When you enable OpenMP, you change the default allocation of arrays (and other non-scalars) from static to automatic. This means they go on the stack by default, and if you have large arrays that will increase stack size.

You can try -heap-arrays to see if that helps.
0 Compliments
pze593
Débutant
4 768 Visites
When you enable OpenMP, you change the default allocation of arrays (and other non-scalars) from static to automatic. This means they go on the stack by default, and if you have large arrays that will increase stack size.

You can try -heap-arrays to see if that helps.

This is sofrustrating, that didn't work.. any other suggestion, that only occurs when I'm using optimization O1, O2....
0 Compliments
Ron_Green
Modérateur
4 768 Visites
Next things to try

-fp-stack-check -check all -g -traceback -O2

then

-gen-interfaces -warn interfaces

If that doesn't show anything it's probably time to get a reproducer. Is it possible to tar up the application, input files, makefiles, etc. needed to build and run this?

Then post that tarball either here or at http://premier.intel.com.

ron


0 Compliments
pze593
Débutant
4 768 Visites
Next things to try

-fp-stack-check -check all -g -traceback -O2

then

-gen-interfaces -warn interfaces

If that doesn't show anything it's probably time to get a reproducer. Is it possible to tar up the application, input files, makefiles, etc. needed to build and run this?

Then post that tarball either here or at http://premier.intel.com.

ron



/where i can find one?

I think that I need to get that step!
0 Compliments
Ron_Green
Modérateur
4 768 Visites

/where i can find one?

I think that I need to get that step!

I do not understand what you are asking. First, try the compiler options I suggested. Do these show errors? If so, investigate on your own.

If these compiler options do not show errors, then create a tar file. Do you know how to do that?

Once that tar file is created, open an issue with your account at http://premier.intel.com. Include information on how to compile and run your program.


0 Compliments
pze593
Débutant
4 768 Visites

I do not understand what you are asking. First, try the compiler options I suggested. Do these show errors? If so, investigate on your own.

If these compiler options do not show errors, then create a tar file. Do you know how to do that?

Once that tar file is created, open an issue with your account at http://premier.intel.com. Include information on how to compile and run your program.



I tried to debug with thoseoptions, and it compiles, but when I'm gonna run it shows the following error:

UTSAMAC147461:Code_01_22_09 Macuser$ ./Juanito.exe
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
Juanito.exe 00061097 Unknown Unknown Unknown
Juanito.exe 00060539 Unknown Unknown Unknown
Juanito.exe 00035B28 Unknown Unknown Unknown
Juanito.exe 000172B4 Unknown Unknown Unknown
Juanito.exe 0001DC2E Unknown Unknown Unknown
libSystem.B.dylib 95F4909B Unknown Unknown Unknown
Unknown FFFFFFFF Unknown Unknown Unknown

Stack trace terminated abnormally.


So do I need to submited to intel?

Thanks

Juan


0 Compliments
pze593
Débutant
4 768 Visites

I tried to debug with thoseoptions, and it compiles, but when I'm gonna run it shows the following error:

UTSAMAC147461:Code_01_22_09 Macuser$ ./Juanito.exe
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
Juanito.exe 00061097 Unknown Unknown Unknown
Juanito.exe 00060539 Unknown Unknown Unknown
Juanito.exe 00035B28 Unknown Unknown Unknown
Juanito.exe 000172B4 Unknown Unknown Unknown
Juanito.exe 0001DC2E Unknown Unknown Unknown
libSystem.B.dylib 95F4909B Unknown Unknown Unknown
Unknown FFFFFFFF Unknown Unknown Unknown

Stack trace terminated abnormally.


So do I need to submited to intel?

Thanks

Juan



This is the code and includes the make file...
0 Compliments
Ron_Green
Modérateur
4 768 Visites

I tried to debug with thoseoptions, and it compiles, but when I'm gonna run it shows the following error:

UTSAMAC147461:Code_01_22_09 Macuser$ ./Juanito.exe
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
Juanito.exe 00061097 Unknown Unknown Unknown
Juanito.exe 00060539 Unknown Unknown Unknown
Juanito.exe 00035B28 Unknown Unknown Unknown
Juanito.exe 000172B4 Unknown Unknown Unknown
Juanito.exe 0001DC2E Unknown Unknown Unknown
libSystem.B.dylib 95F4909B Unknown Unknown Unknown
Unknown FFFFFFFF Unknown Unknown Unknown

Stack trace terminated abnormally.


So do I need to submited to intel?

Thanks

Juan



And you did try to compile your program with compiler option -heap-arrays? And you did increase the stacksize?

What is the output of:

size Juanito.exe

Although you may have a 64bit system, a program is limited to the size of physical ram + swap space. Are your arrays too big? Can you make them small for a test run?

Did you see the post at the top of the Forum main page with instructions to attach a file to this article?
0 Compliments
pze593
Débutant
4 768 Visites

And you did try to compile your program with compiler option -heap-arrays? And you did increase the stacksize?

What is the output of:

size Juanito.exe

Although you may have a 64bit system, a program is limited to the size of physical ram + swap space. Are your arrays too big? Can you make them small for a test run?

Did you see the post at the top of the Forum main page with instructions to attach a file to this article?
The output is just a number (Flights to Failure) according to the number of runs (10, 100, 1000 times)

I already try -heap-arrays and didnlt work.

My biggest array is a array with dimension 100000 (hundred thousand), the second one largest is an array (7,38).

do you think that those are the problem
0 Compliments
Ron_Green
Modérateur
4 280 Visites
sigsegv can be caused by many many things. I cannot guess what the problem is. Please open a problem report with your program, input, and instructions at premier.intel.com. Or attach your program and the instructions here.

ron
0 Compliments
Répondre