public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file
@ 2008-03-25 21:31 dick dot hendrickson at gmail dot com
2008-03-25 21:50 ` [Bug fortran/35699] " dick dot hendrickson at gmail dot com
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: dick dot hendrickson at gmail dot com @ 2008-03-25 21:31 UTC (permalink / raw)
To: gcc-bugs
On Windows XP, with SP2, the following program beeps at me
and opens an alert box saying
"a.exe has encountered a problem and needs to close.
We are sorry for the inconvenience."
and offers to send Microsoft an error report (I declined).
Based on the print statements, it's the write statement that
is causing the problem.
Changing the zero sized section subscripts from nf4:nf3 to
4:3 does not cure the problem
program try_qi0010
! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]
call QI0010 ( 10, 1, 2, 3, 4, 9, 2)
end
SUBROUTINE QI0010 (nf10, nf1, nf2, nf3, nf4,nf9, np2)
CHARACTER(9) BDA(nf10)
CHARACTER(9) BDA1(nf10), bval
INTEGER J_LEN
bda1(1) = 'x'
do I = 2,10
bda1(i) = 'x'//bda1(i-1)
enddo
bda = 'unread'
print *, 'begin inquire'
INQUIRE(IOLENGTH = J_LEN) BDA1(NF1:NF10:NF2), BDA1(NF4:NF3),
$ BDA1(NF2:NF10:NF2)
print *, 'begin open '
OPEN (UNIT=48,
$ STATUS='SCRATCH',
$ ACCESS='DIRECT',
$ RECL = j_len,
$ IOSTAT = ISTAT,
$ FORM='UNFORMATTED',
$ ACTION='READWRITE')
print *, 'begin write '
WRITE (48,IOSTAT = ISTAT, REC = 3) BDA1(NF1:NF10:NF2),
$ BDA1(NF4:NF3), BDA1(NF2:NF10:NF2)
IF ( ISTAT .NE. 0) then
print *, istat, ' WRITE FAILED '
stop
ENDIF
ISTAT = -314
print *, 'begin read '
READ (48,IOSTAT = ISTAT, REC = NP2+1) BDA(NF1:NF9:NF2),
$ BDA(NF4:NF3), BDA(NF2:NF10:NF2)
IF ( ISTAT .NE. 0) THEN
print *, istat, ' read FAILED '
stop
ENDIF
print *, 'begin check '
DO J1 = 1,10
BVAL = BDA1(J1)
IF (BDA(J1) .NE. BVAL)
$ print *, j1 ,BDA(J1),BVAL
100 ENDDO;
END SUBROUTINE
--
Summary: run-time abort writing zero sized section to direct
access file
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dick dot hendrickson at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
@ 2008-03-25 21:50 ` dick dot hendrickson at gmail dot com
2008-03-25 22:06 ` dominiq at lps dot ens dot fr
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dick dot hendrickson at gmail dot com @ 2008-03-25 21:50 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from dick dot hendrickson at gmail dot com 2008-03-25 21:49 -------
I have another essentially identical subroutine that uses double complex
instead of character and appears to fail in the same way. I also have three
other subroutines that write/read zero sized arrays and return a non-zero
iostat value or incorrectly read a single value into the zero sized array.
These are simpler write/reads and only have a single array, as opposed to
three, in the i/o lists. For me, it's a mechanical pain in the rear to extract
the additional cases. I'm looking for advice, is it easier A) for you to send
me a link to an experimental windows compiler once you think you have a fix, B)
me to wait until the next release and then retry the other cases, C) slowly
over the next few days extract the others and make a working version of them?
Or, do you guys have another suggestion?
Dick Hendrickson
Dick Hendrickson
--
dick dot hendrickson at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dick dot hendrickson at
| |gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
2008-03-25 21:50 ` [Bug fortran/35699] " dick dot hendrickson at gmail dot com
@ 2008-03-25 22:06 ` dominiq at lps dot ens dot fr
2008-03-25 23:16 ` [Bug fortran/35699] [4.3/4.4 regression] " burnus at gcc dot gnu dot org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dominiq at lps dot ens dot fr @ 2008-03-25 22:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from dominiq at lps dot ens dot fr 2008-03-25 22:05 -------
On (powerpc|i686)-apple-darwin9, I get a bus error at runtime:
begin inquire
begin open
begin write
Bus error
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
2008-03-25 21:50 ` [Bug fortran/35699] " dick dot hendrickson at gmail dot com
2008-03-25 22:06 ` dominiq at lps dot ens dot fr
@ 2008-03-25 23:16 ` burnus at gcc dot gnu dot org
2008-03-25 23:18 ` burnus at gcc dot gnu dot org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-03-25 23:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from burnus at gcc dot gnu dot org 2008-03-25 23:16 -------
Thanks for the report!
This is actually a regression; Jerry, do you have an idea?
valgrind shows:
==18956== Invalid write of size 1
==18956== at 0x4C26A68: memset (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==18956== by 0x4ED8002: write_buf (transfer.c:645)
==18956== by 0x4ED8049: unformatted_write (transfer.c:769)
==18956== by 0x401585: qi0010_ (jf.f:36)
==18956== by 0x400D94: MAIN__ (jf.f:7)
==18956== by 0x401BCB: main (fmain.c:21)
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jvdelisle at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |wrong-code
Known to fail| |4.3.0 4.4.0
Known to work| |4.1.3 4.2.1
Last reconfirmed|0000-00-00 00:00:00 |2008-03-25 23:16:17
date| |
Summary|run-time abort writing zero |[4.3/4.4 regression] run-
|sized section to direct |time abort writing zero
|access file |sized section to direct
| |access file
Target Milestone|--- |4.3.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (2 preceding siblings ...)
2008-03-25 23:16 ` [Bug fortran/35699] [4.3/4.4 regression] " burnus at gcc dot gnu dot org
@ 2008-03-25 23:18 ` burnus at gcc dot gnu dot org
2008-03-26 0:58 ` jvdelisle at gcc dot gnu dot org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-03-25 23:18 UTC (permalink / raw)
To: gcc-bugs
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (3 preceding siblings ...)
2008-03-25 23:18 ` burnus at gcc dot gnu dot org
@ 2008-03-26 0:58 ` jvdelisle at gcc dot gnu dot org
2008-03-26 5:17 ` jvdelisle at gcc dot gnu dot org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-03-26 0:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from jvdelisle at gcc dot gnu dot org 2008-03-26 00:58 -------
No Idea, but I will investigate.
--
jvdelisle at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jvdelisle at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2008-03-25 23:16:17 |2008-03-26 00:58:02
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (4 preceding siblings ...)
2008-03-26 0:58 ` jvdelisle at gcc dot gnu dot org
@ 2008-03-26 5:17 ` jvdelisle at gcc dot gnu dot org
2008-03-27 5:46 ` jvdelisle at gcc dot gnu dot org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-03-26 5:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from jvdelisle at gcc dot gnu dot org 2008-03-26 05:16 -------
This regression was caused by my patch for PR34876. I am not sure it is really
a regression since we were not handling zero sized arrays correctly before.
Regardless, I have isolated the problem and I am working on a solution.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (5 preceding siblings ...)
2008-03-26 5:17 ` jvdelisle at gcc dot gnu dot org
@ 2008-03-27 5:46 ` jvdelisle at gcc dot gnu dot org
2008-03-27 11:12 ` dominiq at lps dot ens dot fr
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-03-27 5:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from jvdelisle at gcc dot gnu dot org 2008-03-27 05:45 -------
A patch has been submitted to fortran@gcc.gnu.org for approval.
http://gcc.gnu.org/ml/fortran/2008-03/msg00212.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (6 preceding siblings ...)
2008-03-27 5:46 ` jvdelisle at gcc dot gnu dot org
@ 2008-03-27 11:12 ` dominiq at lps dot ens dot fr
2008-03-28 22:14 ` jvdelisle at gcc dot gnu dot org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dominiq at lps dot ens dot fr @ 2008-03-27 11:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from dominiq at lps dot ens dot fr 2008-03-27 11:11 -------
Works as advertised without regression on i686-apple-darwin9 for 32 and 64 bit
modes.
Thanks for the patch.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (7 preceding siblings ...)
2008-03-27 11:12 ` dominiq at lps dot ens dot fr
@ 2008-03-28 22:14 ` jvdelisle at gcc dot gnu dot org
2008-03-28 22:17 ` jvdelisle at gcc dot gnu dot org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-03-28 22:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from jvdelisle at gcc dot gnu dot org 2008-03-28 22:14 -------
Subject: Bug 35699
Author: jvdelisle
Date: Fri Mar 28 22:13:17 2008
New Revision: 133699
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133699
Log:
2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/35699
* io/transfer.c (write_buf): Don't pad the record, just return if the
data is NULL. (next_record_w): If there are bytes left in the record
for unformatted direct I/O, pad out the record with zero bytes.
Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/transfer.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (8 preceding siblings ...)
2008-03-28 22:14 ` jvdelisle at gcc dot gnu dot org
@ 2008-03-28 22:17 ` jvdelisle at gcc dot gnu dot org
2008-03-28 23:25 ` jvdelisle at gcc dot gnu dot org
2008-03-29 1:12 ` jvdelisle at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-03-28 22:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from jvdelisle at gcc dot gnu dot org 2008-03-28 22:17 -------
Subject: Bug 35699
Author: jvdelisle
Date: Fri Mar 28 22:16:29 2008
New Revision: 133700
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133700
Log:
2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35699
* gfortran.dg/direct_io_10.f: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/direct_io_10.f
Modified:
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (9 preceding siblings ...)
2008-03-28 22:17 ` jvdelisle at gcc dot gnu dot org
@ 2008-03-28 23:25 ` jvdelisle at gcc dot gnu dot org
2008-03-29 1:12 ` jvdelisle at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-03-28 23:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from jvdelisle at gcc dot gnu dot org 2008-03-28 23:24 -------
Subject: Bug 35699
Author: jvdelisle
Date: Fri Mar 28 23:23:34 2008
New Revision: 133703
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133703
Log:
2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/35699
* io/transfer.c (write_buf): Don't pad the record, just return if the
data is NULL. (next_record_w): If there are bytes left in the record
for unformatted direct I/O, pad out the record with zero bytes.
2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35699
* gfortran.dg/direct_io_10.f: New test.
Added:
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/direct_io_10.f
Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
branches/gcc-4_3-branch/libgfortran/ChangeLog
branches/gcc-4_3-branch/libgfortran/io/transfer.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
` (10 preceding siblings ...)
2008-03-28 23:25 ` jvdelisle at gcc dot gnu dot org
@ 2008-03-29 1:12 ` jvdelisle at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-03-29 1:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from jvdelisle at gcc dot gnu dot org 2008-03-29 01:11 -------
Fixed on trunk and 4.3.1
--
jvdelisle at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35699
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2008-03-29 1:12 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-25 21:31 [Bug fortran/35699] New: run-time abort writing zero sized section to direct access file dick dot hendrickson at gmail dot com
2008-03-25 21:50 ` [Bug fortran/35699] " dick dot hendrickson at gmail dot com
2008-03-25 22:06 ` dominiq at lps dot ens dot fr
2008-03-25 23:16 ` [Bug fortran/35699] [4.3/4.4 regression] " burnus at gcc dot gnu dot org
2008-03-25 23:18 ` burnus at gcc dot gnu dot org
2008-03-26 0:58 ` jvdelisle at gcc dot gnu dot org
2008-03-26 5:17 ` jvdelisle at gcc dot gnu dot org
2008-03-27 5:46 ` jvdelisle at gcc dot gnu dot org
2008-03-27 11:12 ` dominiq at lps dot ens dot fr
2008-03-28 22:14 ` jvdelisle at gcc dot gnu dot org
2008-03-28 22:17 ` jvdelisle at gcc dot gnu dot org
2008-03-28 23:25 ` jvdelisle at gcc dot gnu dot org
2008-03-29 1:12 ` jvdelisle at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).