Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Catastrophic error

ender01
New Contributor I
1,169 Views

Hi Steve,

I did a quick perusal of the web site and didn't see where to submit a software report. I assigned (via =) the output of a pointer function to a pointer (rather than a pointer assignment) and got the following error:

Compiling with Intel Fortran 11.0.061 [IA-32]...
ifort /nologo /debug:full /Od /gen-interfaces /warn:interfaces /module:&quotDebug\" /object:&quotDebug\" /traceback /check:bounds /libs:static /threads /dbglibs /c /assume:realloc_lhs /Qvc9 /Qlocation,link,&quotc:\Program Files\Microsoft Visual Studio 9.0\VC\bin" &quotC:\Documents and Settings\fooMaster\\test_foo\test_foo\FooListMod.F90"
0_11694

: catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error.

compilation aborted for C:\Documents and Settings\fooMaster\test_foo\test_foo\FooListMod.F90 (code 3)


test_foo - 1 error(s), 0 warning(s)

The pointer function in question is:
[cpp]function get_oldFoo(foo_List)  result(old_Foo_Ptr)
	implicit none
		   
	type(fooList), intent(in) :: foo_List
	type(foo), pointer :: old_Foo_Ptr
		
	nullify(old_Foo_Ptr)
		 
	return
end function get_oldFoo[/cpp]

The function call that spawned the error was
[cpp]old_FooPtr = get_oldFoo(fooBar)
[/cpp]

Replacing the call with a pointer assignment corrected the error:
[cpp]old_FooPtr => get_oldFoo(fooBar)[/cpp]

What's the normal way to report such an error? Thanks!

Cheers,

Rich


0 Kudos
1 Solution
Steven_L_Intel1
Employee
1,169 Views

Entered as issue DPD200110351.

View solution in original post

0 Kudos
10 Replies
Steven_L_Intel1
Employee
1,169 Views

You can report them here if the test case is reasonably small. But I gather you didn't see the "For technical support, please click the Tech Support link" at the top of this forum's home page? You could also click the Software Support link at the top of every page here.

The problem you describe sounds familiar. I'll see if I can reproduce it.

0 Kudos
ender01
New Contributor I
1,169 Views

You can report them here if the test case is reasonably small. But I gather you didn't see the "For technical support, please click the Tech Support link" at the top of this forum's home page? You could also click the Software Support link at the top of every page here.

The problem you describe sounds familiar. I'll see if I can reproduce it.

Yeah, I saw the technical support links but after going 4 or 5 links deep I still didn't see an option for "submit a software problem report" or the like. I thought perhaps it was an internal report that your developers used and on my end, it was a typo that I fixed so I didn't need support. I figured I'd give you a heads up and if you can't replicate it I'll be happy to try to concoct a sanitized version of my code that fails in the same way.

Cheers,

Rich

0 Kudos
Steven_L_Intel1
Employee
1,169 Views

Click on "Software Support". That page has:

Submit Software tool bugs through
Intel Premier Support. Registration required.

Nevertheless, we encourage you to use the forum first. I'll let you know what I find.

0 Kudos
ender01
New Contributor I
1,169 Views

Click on "Software Support". That page has:

Submit Software tool bugs through
Intel Premier Support. Registration required.

Nevertheless, we encourage you to use the forum first. I'll let you know what I find.

You know, I'm havin' a hard time figuring out here if you're legitimately trying to be helpful or if you're just being cranky and sarcastic. I'll give you the benefit of the doubt here. I don't want directions on how to navigate your website, hell, I don't even want support here, I'm certainly not looking for extra paperwork (registration required) to do you a favor. I found and fixed the problem from my point of view. My first attempt through your website (the BIG SUPPORT at the very top) was pretty useless, the second (Software support) only promised extra pain in the ass. I'm just trying to tip you off, per the request in the compiler error, that somethin' ain't workin' right. If you need more information, I'll be happy to give you what I can.

Cheers,

Rich

0 Kudos
Steven_L_Intel1
Employee
1,169 Views

I am trying to be helpful. You wrote that you were unable to find directions on how to submit a bug report.

I have not been able to reproduce the problem, but that's likely because I don't have your definitions of types foo and fooList and perhaps some other code that ends up being relevant. Can you construct a small but complete example showing the problem? Here's what I tried.

[cpp]program test
type foo
integer i
end type foo
type fooList
type(foo), pointer :: fooList
end type fooList

type(fooList), pointer :: p
type(foo), pointer :: q

q = get_oldFoo(p)

print *, q%i

contains

function get_oldFoo(foo_List)  result(old_Foo_Ptr)
	implicit none
		   
	type(fooList), intent(in) :: foo_List
	type(foo), pointer :: old_Foo_Ptr
		
	nullify(old_Foo_Ptr)
		 
	return
end function get_oldFoo
end program test[/cpp]

0 Kudos
ender01
New Contributor I
1,169 Views

I am trying to be helpful. You wrote that you were unable to find directions on how to submit a bug report.

I have not been able to reproduce the problem, but that's likely because I don't have your definitions of types foo and fooList and perhaps some other code that ends up being relevant. Can you construct a small but complete example showing the problem? Here's what I tried.

[cpp]program test
type foo
integer i
end type foo
type fooList
type(foo), pointer :: fooList
end type fooList

type(fooList), pointer :: p
type(foo), pointer :: q

q = get_oldFoo(p)

print *, q%i

contains

function get_oldFoo(foo_List) result(old_Foo_Ptr)
implicit none

type(fooList), intent(in) :: foo_List
type(foo), pointer :: old_Foo_Ptr

nullify(old_Foo_Ptr)

return
end function get_oldFoo
end program test[/cpp]

My apologies, I was a little cranky myself. In any case, here's a module that replicates the error on my machine:

[cpp]module fooMod
implicit none

! Precision constants
integer, parameter:: HI=selected_real_kind(12)
integer, parameter:: LO=selected_real_kind(5)
integer, parameter:: I_HI=selected_int_kind(9)
integer, parameter:: I_LO=selected_int_kind(4)

! Define class variables
integer(kind=I_LO) :: node_Count = 0

! Define node object - contains place holder for an unlimited
! polymorphic entity
type node
integer(kind=I_LO) :: name
type(node), pointer :: node_Ptr
integer(kind=I_LO), pointer :: storage_Ptr ! Place holder
end type node

! Define foo object
type foo
integer(kind=I_LO) :: size
character(len=1), dimension(:), allocatable :: fooVar
end type foo

! Define foo node for doubly linked list
type, extends(node) :: fooNode
type(foo) :: node_Foo
type(fooNode), pointer :: sfoo_Ptr => null()
type(fooNode), pointer :: pfoo_Ptr => null()
end type fooNode

! Define linked list of fooNodes
type fooList
integer(kind=I_LO) :: foo_Count
type(fooNode), pointer :: foo_Ptr
type(fooNode), pointer :: foo_Var_Ptr => null()
logical :: order_Flag
end type fooList

contains
subroutine foo_sub(foo_List)
implicit none

type(fooList), intent(inout) :: foo_List
type(fooNode), pointer :: old_Foo_Ptr

old_Foo_Ptr = get_oldFoo(foo_List)

return
end subroutine foo_sub

function get_oldFoo(foo_List) result(old_Foo_Ptr)
implicit none

type(fooList), intent(in) :: foo_List
type(fooNode), pointer :: old_Foo_Ptr

nullify(old_Foo_Ptr)

return
end function get_oldFoo

end module fooMod

Cheers,

Rich[/cpp]

0 Kudos
Steven_L_Intel1
Employee
1,169 Views

Ok, that I can reproduce. Thanks. I'll pass this on to the developers.

0 Kudos
Steven_L_Intel1
Employee
1,170 Views

Entered as issue DPD200110351.

0 Kudos
ender01
New Contributor I
1,169 Views

Entered as issue DPD200110351.

Noted. Thanks much Steve.

0 Kudos
Steven_L_Intel1
Employee
1,169 Views
This bug has been fixed - I expect the fix to appear in the 11.1 update (May/June).
0 Kudos
Reply