- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
running a code compiled with -check all I see various warnings concerning the creation of some temporaries (I know about them and I am fine with them) and somehow interspersed in the ouput various lines saying
Stack trace terminated abnormally.
What does this mean? Notice that I do see a traceback for the warnings, but this line has no traceback.
I am using "Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0 Build 20141023"
Thank you, Marco
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I should add that the stack trace message disappears if I complie with
ifort -check all -check noarg_temp_created
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh, yet another remark: the message appears when warnings are emitted *and* I compile with -pg; without pg the warnings are emitted with no stack trace message.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The message generally means that the stack has been corrupted. The message disappears because you turned off the run-time check that caused the traceback to be emitted. So maybe the profiling is corrupting the stack. Can you provide a test case we can look at?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve, thank you for the xplanation. Unfortunately it is not so easy isolating a test case, but I will see if I can come up with something.
Anyway, if I understand you correctly it is not a message which is pointing at some problem in my code, at least not directly, right?
Marco
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Not directly - but possibly indirectly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, so here is an example; the muber of warnings must be large in order to see the "Stack trace terminated abnormally.", hence the loop.
To see the problem, -pg is required:
$ ifort -g -O0 -check all -pg test.f90 -o test
$ ifort -V
Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0 Build 20141023
module m implicit none contains subroutine ws(x) integer, intent(in) :: x(3) write(*,*) "The sum is ", sum(x) end subroutine ws end module m program p use m implicit none integer :: i, z(3) z = (/ 1 , 2 , 3 /) do i=1,1000 ! this upper bound must be large to see the problem call ws( z( (/ 3 , 2 , 1 /) ) ) enddo end program p
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, since I see no reply, which is very unusual on this forum, I thought maybe I could bring this up again. Can anybody reproduce the problem?
Thank you, Marco
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No, I can't, even with the exact command you specify.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, thanks, than it must be related somehow to my setup.
Marco
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page