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

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

pze593
Beginner
1,971 Views
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 Kudos
20 Replies
Steven_L_Intel1
Employee
1,906 Views
Does raising the stacksize limit help?

0 Kudos
pze593
Beginner
1,906 Views
Does raising the stacksize limit help?



Can you be more specific?
0 Kudos
Ron_Green
Moderator
1,906 Views
0 Kudos
pze593
Beginner
1,906 Views


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 Kudos
Steven_L_Intel1
Employee
1,906 Views
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 Kudos
pze593
Beginner
1,906 Views
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 Kudos
TimP
Honored Contributor III
1,906 Views
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 Kudos
Ron_Green
Moderator
1,906 Views
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 Kudos
pze593
Beginner
1,906 Views

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 Kudos
roddur
Beginner
1,906 Views
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 Kudos
Steven_L_Intel1
Employee
1,906 Views
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 Kudos
pze593
Beginner
1,906 Views
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 Kudos
Ron_Green
Moderator
1,906 Views
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 Kudos
pze593
Beginner
1,906 Views
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 Kudos
Ron_Green
Moderator
1,906 Views

/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 Kudos
pze593
Beginner
1,906 Views

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 Kudos
pze593
Beginner
1,906 Views

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 Kudos
Ron_Green
Moderator
1,906 Views

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 Kudos
pze593
Beginner
1,906 Views

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 Kudos
Ron_Green
Moderator
1,418 Views
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 Kudos
Reply