- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The following code, built with 19.1.2.254 in debug mode with "/standard-semantics" fails execution with "Critical error detected c0000374":
program mfort
implicit none
real, allocatable :: x(:)
integer :: i,j
x=[1,2,3]
!$omp parallel do private(x)
do i=1,10
x=[(j,j=1,12)]
print *,sum(x)
enddo
end program
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try firstprivate(x)
so as to copy in the initial contents of the unallocated array descriptor.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your suggestion.
In my real code, I had a function return a matrix of variable size. I tried a number of things there, including firstprivate, make the allocatable variables threadprivate with copyin, etc, but they all failed. In the end, I found a workaround by replacing the function by a subroutine that explicitly allocates the (initially deallocated) variable, and by deallocating the variable at the end of each loop iteration.
My conclusion is that the combination of OpenMP and automatic lhs reallocation is currently poorly implemented. The code above is merely a trivial reproducer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Should be legal per spec Section 2.19.3
I'll open a bug report.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
you are correct - the seg fault is on deallocation after the loop exit. the prints never get out of the stdout buffer before the seg fault hits.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bug ID is CMPLRLLVM-23023
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page