Xref: utzoo comp.lang.fortran:5099 alt.sys.sun:3364 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uwm.edu!ux1.cso.uiuc.edu!edotto From: edotto@ux1.cso.uiuc.edu (Ed Otto) Newsgroups: comp.lang.fortran,alt.sys.sun Subject: Re: Sun Fortran Unformatted Write Message-ID: <1991Apr4.145658.8389@ux1.cso.uiuc.edu> Date: 4 Apr 91 14:56:58 GMT References: <769@rocksanne.WRC.XEROX.COM> Distribution: usa Organization: University of Illinois at Urbana Lines: 35 jeyadev@WRC.XEROX.COM (Surendar Jeyadev) writes: >write(3) (((array(i,j,k), k=1,kmax), j=1,jmax), i=1,imax) >....... > >While the version 1.2 did not seem to mind, version 1.3.1 declares >a segmentation fault and quits. Using dbx I got > >signal SEGV (no mapping at the fault address) in w4cp at 0xf76f0724 >w4cp+8: ld [%o0 + %o1], %o4 > >The user of this program used to run it on a VAX and the write >statement was tailored to take into account the fact that the maximum >number of records that could be written is 8191. After playing around >a bit with the values of imax, jmax and kmax, I found that the program >works fine for small values of the 3 numbers, but crashes when their >product reaches a critical value. My bet is that you aren't running into # of record limit so much as a SIZE of record limit... If they are 2 byte integers, you'd be OK...but if 4 byte integers, reals, or otherwise declared, you'd be over the 32767 byte/record limit. Try declaring the arrays to be integer*2. Recompile and call me if I can help in any other way. Ed Otto edotto@uipsuxb.ps.uiuc.edu -- ******************************************************************************** * * Netmail addresses: * * Edward C. Otto III * edotto@uipsuxb.ps.uiuc.edu * * University of Illinois * edotto@uiucux1.cso.uiuc.edu *