Ben, Looking at the 5.11.1 oabsnd.f file, I see that the SN_MAND call is used before the data files are open with the SN_OPNF call much further down, so there is an uninitialized garbage value being sent as the number of files (greater than MMFILE) to initialize the array causing a segment fault. I haven't compared with the 5.11.4 distribution to see if this has changed since, but it existed at least in the 5.11.1 distribution. Attached is the oabsnd.f file I patched in 5.11.1 which you might want to check out. Chiz "Cotton, Benjamin J" <bcotton@xxxxxxxxxx> Sent by: gembud-bounces@xxxxxxxxxxxxxxxx 08/26/2009 09:16 AM To <gembud@xxxxxxxxxxxxxxxx>, <support-gempak@xxxxxxxxxxxxxxxx> cc Subject [gembud] Segfaults with oabsnd Good morning gembuddies, We're encountering a problem with oabsnd on Gempak 5.11.4 (Linux). Any time we try to run it, it segfaults. oabsfc reads the grid file, so it doesn't appear to be file related. System specs and strace output below. Any suggestions? Thanks, BC # system specs [557 bcotton@devo /tmp ]$ uname -a Linux devo.eas.purdue.edu 2.6.18-128.1.10.el5 #1 SMP Wed Apr 29 13:55:17 EDT 2009 i686 i686 i386 GNU/Linux [558 bcotton@devo /tmp ]$ rpm -q gcc gcc-4.1.2-44.el5 #strace output stat64("LAST.NTS", 0xbf88bd14) = -1 ENOENT (No such file or directory) stat64("LAST.NTS", 0xbf88bd78) = -1 ENOENT (No such file or directory) stat64("last.nts", {st_mode=S_IFREG|0644, st_size=2055, ...}) = 0 fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 stat64("last.nts", {st_mode=S_IFREG|0644, st_size=2055, ...}) = 0 stat64("last.nts", {st_mode=S_IFREG|0644, st_size=2055, ...}) = 0 fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 open("last.nts", O_RDWR|O_CREAT|O_LARGEFILE, 0666) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2055, ...}) = 0 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbf88bdf8) = -1 ENOTTY (Inappropriate ioctl for device) _llseek(3, 0, [0], SEEK_SET) = 0 ftruncate64(3, 0) = 0 write(3, "SNFILE $GEMDATA/HRCBOB.SND "..., 137) = 137 _llseek(3, 137, [137], SEEK_SET) = 0 ftruncate64(3, 137) = 0 write(3, "GDFILE $GEMDATA/HRCBOB.GRD "..., 1918) = 1918 close(3) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ -- Ben Cotton Unix Systems Administrator Department of Earth and Atmospheric Sciences Purdue University http://www.purdue.edu/eas/resources/it/ CIVL 4212 O: 765-49-61546 C: 765-404-7986 _______________________________________________ gembud mailing list gembud@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/
Attachment:
smime.p7s
Description: Binary data
Attachment:
oabsnd.f
Description: Binary data
gembud
archives: