Hi Dave et al., Short answer:
I think I found and fixed the problem here, now fixed (r5167/r5168). Long answer: The issue was with the line: (iselectpoly .and. inpoly(xcoords(i),ycoords(i),xpts,ypts,npts) When iselectpoly=.false., npts was not set, but I guess ifort is calling the routine regardless to try to evaluate the condition, which then segfaults. The solution is just to have npts set to something by default (like 1) so that the condition can evaluate correctly even though npts is not set. Should be no need for SAVE attributes, npts is just a local variable. Daniel On 14 Jun 2014, at 1:03 am, Dave Acreman <[email protected]> wrote: > Hi Daniel, cc Clare and Alex, > > We've been seeing a segfault in splash, I think I've found the cause (and a > fix) but just wanted to check. Clare's email below describes the conditions > which trigger the problem, and it only seems to occur when using ifort and > openmp. With run time checks and debug flags I see this: > > **SNIP** > select area: > left click : zoom > 0 = hide selected particles > p = plot selected particles only > c = plot circles of interaction on selected parts > x = use particles within x parameter range only > y = use particles within y parameter range only > r = use particles within x and y parameter range only > R = remove all range restrictions > xrange = -20.17388 -> 20.01769 > yrange = 17.17881 -> 56.99825 > forrtl: severe (408): fort: (2): Subscript #1 of the array YPTS has value > 32767 which is greater than the upper bound of 64 > > Image PC Routine Line Source > > ssplash 0000000000C14D5A Unknown Unknown Unknown > ssplash 0000000000C13856 Unknown Unknown Unknown > ssplash 0000000000BBDF30 Unknown Unknown Unknown > ssplash 0000000000B509EF Unknown Unknown Unknown > ssplash 0000000000B50F11 Unknown Unknown Unknown > ssplash 000000000091A897 interactive_routi 2375 > interactive.f90 > ssplash 00000000008BEFE0 interactive_routi 574 > interactive.f90 > ssplash 00000000009F2389 timestep_plotting 2043 > plotstep.f90 > ssplash 0000000000A569E7 timestepping_mp_t 165 > timestepping.f90 > ssplash 0000000000A6D1DC mainmenu_mp_menu_ 288 menu.f90 > ssplash 0000000000A7FE85 MAIN__ 675 splash.f90 > ssplash 00000000004069AC Unknown Unknown Unknown > libc.so.6 00007FFFEC425C16 Unknown Unknown Unknown > ssplash 00000000004068A9 Unknown Unknown Unknown > **SNIP** > > It looks like npts isn't defined correctly in interactive.f90 and my guess is > that it should be SAVEd (if I add the save attribute then it doesn't segfault > and appears to work OK). Does this look correct? > > Thanks, > Dave > > Begin forwarded message: > >> I've put an example SPH dump in data/localstar/Splashproblem (the problem >> seems to occur with any SPH dump so I just chose a small one). Then do 2, 1, >> 6 to get a column density plot (or just 2, 1, 0). Then if you select a >> rectangular region, you will notice on the terminal a list of options: >> >> select area: >> left click : zoom >> 0 = hide selected particles >> p = plot selected particles only >> c = plot circles of interaction on selected parts >> x = use particles within x parameter range only >> y = use particles within y parameter range only >> r = use particles within x and y parameter range only >> R = remove all range restrictions >> >> The left click is OK, but I tried several others and they all caused >> segmentation faults. The particular one I was trying to use was 'p'. >> >> Clare > -- You received this message because you are subscribed to the Google Groups "SPLASH users forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/splash-users. For more options, visit https://groups.google.com/d/optout.
