Bug 30399 - testsuite failures in actual_array_constructor_2.f90 and actual_array_substr_2.f90
Summary: testsuite failures in actual_array_constructor_2.f90 and actual_array_substr...
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: fortran (show other bugs)
Version: 4.0.4
: P3 normal
Target Milestone: 4.0.4
Assignee: Paul Thomas
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2007-01-06 23:31 UTC by Kaveh Ghazi
Modified: 2007-01-12 15:54 UTC (History)
4 users (show)

See Also:
Host: *-*-*
Target: *-*-*
Build: *-*-*
Known to work:
Known to fail:
Last reconfirmed: 2007-01-11 07:27:55


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kaveh Ghazi 2007-01-06 23:31:03 UTC
(I realize this comes rather late in the 4.0 cycle, but I thought I'd file it anyway.)

I'm getting testsuite failures in two fortran cases in gcc-4.0.4 prerelease.  The failures are in gfortran.dg/actual_array_constructor_2.f90 and gfortran.dg/actual_array_substr_2.f90 at all optimization levels.

The cases have been failing ever since they were checked in as part of fixing PR28167 and PR28174 respectively.  Thus I don't know if it's a regression or always failed.  You can see the results prior to the testcase checkin here where gfortran is 100% clean on solaris2:
http://gcc.gnu.org/ml/gcc-testresults/2006-07/msg00071.html

Afterwards, I get the gfortran errors noted here:
http://gcc.gnu.org/ml/gcc-testresults/2006-07/msg00279.html

Most recently they occur here:
http://gcc.gnu.org/ml/gcc-testresults/2006-12/msg01077.html
Comment 1 Kaveh Ghazi 2007-01-07 01:22:13 UTC
The failure for actual_array_constructor_2.f90 looks like this:

gfortran.dg/actual_array_constructor_2.f90: In function 'MAIN__':
gfortran.dg/actual_array_constructor_2.f90:10: internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:3661
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

FAIL: gfortran.dg/actual_array_constructor_2.f90  -O0  (test for excess errors)

Running under gdb shows that it fails an assert:

3660              gcc_assert (expr->ts.cl && expr->ts.cl->length
3661                          && expr->ts.cl->length->expr_type == EXPR_CONSTANT);

The expression expr->ts.cl->length is 0x0.
Comment 2 Kaveh Ghazi 2007-01-07 01:24:14 UTC
Sorry, flags to reproduce the actual_array_constructor_2.f90 failure on sparc-sun-solaris2.10 are:

f951 actual_array_constructor_2.f90 -quiet -dumpbase actual_array_constructor_2.f90 -mcpu=v7 -auxbase actual_array_constructor_2 -O0 -pedantic-errors -version -o /var/tmp//ccVXJxSa.s
Comment 3 Kaveh Ghazi 2007-01-07 01:39:58 UTC
Here's the actual_array_substr_2.f90 error:

gfortran.dg/actual_array_substr_2.f90: In function 'foo':
gfortran.dg/actual_array_substr_2.f90:23: internal compiler error: in gfc_conv_constant, at fortran/trans-const.c:375
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

FAIL: gfortran.dg/actual_array_substr_2.f90  -O0  (test for excess errors)

Running under gdb on sparc-sun-solaris2.10 using:

f951 actual_array_substr_2.f90 -quiet -dumpbase actual_array_substr_2.f90 -mcpu=v7 -auxbase actual_array_substr_2 -O0 -pedantic-errors -version -o /var/tmp//ccdUFWze.s

This one also fails an assertion like so:

372       if (se->ss != NULL)
373         {
374           gcc_assert (se->ss != gfc_ss_terminator);
375           gcc_assert (se->ss->type == GFC_SS_SCALAR);
376           gcc_assert (se->ss->expr == expr);
377

The value of "se" is 0x24, which seems like a bogus value for a pointer. 

These may be entirely different problems, should I open a separate PR?
Comment 4 Eric Botcazou 2007-01-07 09:09:53 UTC
I cannot confirm at the moment, I stopped testing 4.0.x on SPARC in March!
Comment 5 Paul Thomas 2007-01-07 21:15:13 UTC
Kaveh,

As the culprit for both patches, I'll take a look.  I had no idea that there was and 4.1 regressions associated with them.  I'll come back to you.

Paul
Comment 6 Kaveh Ghazi 2007-01-09 03:19:28 UTC
(In reply to comment #5)
> Kaveh,
> As the culprit for both patches, I'll take a look.  I had no idea that there
> was and 4.1 regressions associated with them.  I'll come back to you.
> Paul

Paul - I wouldn't say you're a "culprit", all you did was supply the testcases.  They've failed ever since you checked them in, so they very well may have failed before then, i.e. probably not a regression.  Nevertheless, thank you for volunteering to take a look.  Let me know if you need help testing or whatever.
Thanks,
--Kaveh
Comment 7 Paul Thomas 2007-01-09 09:41:58 UTC
Kaveh,

I haven't the slightest idea what is happening.  These cases test fine on IA64/FC5 with gcc-4.1.2-20061101.

The worst of it is, to judge by your gdb output, that they are not obviously faults that would come up because of different numeric representation, or whatever.  Does any other platform report the same?

Can you provide backtraces on them, please?

Paul

Comment 8 Kaveh Ghazi 2007-01-09 15:13:31 UTC
(In reply to comment #7)
> Kaveh,
> I haven't the slightest idea what is happening.  These cases test fine on
> IA64/FC5 with gcc-4.1.2-20061101.
> The worst of it is, to judge by your gdb output, that they are not obviously
> faults that would come up because of different numeric representation, or
> whatever.  Does any other platform report the same?
> Can you provide backtraces on them, please?
> Paul

Well, you need to be using the 4.0 branch, not 4.1.  I see that an IA64 report occurs here with the current 4.0.4 prerelease:
http://gcc.gnu.org/ml/gcc-testresults/2007-01/msg00328.html
so you should be able to reproduce it with the correct sources.  You can also try a sparc-sun-solaris2.10 cross-compiler, I gave the invocation flags in the PR.

Let me know if you still can't get it, and I'll get those gdb backtraces.

Thanks,
--Kaveh
Comment 9 Kaveh Ghazi 2007-01-09 15:23:51 UTC
Assigned so that Paul gets replies.
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30399#c8
Comment 10 John David Anglin 2007-01-10 00:03:27 UTC
I see this on hppa2.0w-hp-hpux11.11 with 4.0.4.
Comment 11 Paul Thomas 2007-01-10 20:57:23 UTC
Kaveh and David,
> 
> Well, you need to be using the 4.0 branch, not 4.1.  I see that an IA64 report
> occurs here with the current 4.0.4 prerelease:

If you look at the Bugzilla entries for the two PRs, they were only made to 4.1 and 4.2.  That's why I was doing a double take:)

The gcc-4_0-branch ChangeLogs for fortran and the testsuite contain no mention of either PR.  You should note that my last commit to 4.0 was 2005-11-21.

I have checked that the 4.0 branch fortran contains none of the necessary changes to support these tests.  I think that the tests have been submitted accidentally by hands unknown.  Since I have not maintained a 4.0 branch since we changed to svn, would you please remove them and clear the PR, when you have done so.

Thanks

Paul
Comment 12 Paul Thomas 2007-01-10 21:00:15 UTC
In fact, I will clear it myself, since I am sure that you will do the deleting!

Paul
Comment 13 Kaveh Ghazi 2007-01-10 21:45:37 UTC
Paul - The bug is not "FIXED" in 4.0, please don't mark it as such yet.  "WONTFIX" may be a more accurate description if that is the group decision.  You can remove yourself from the assigned field if you aren't able to work on it.

Regarding your last checkin to 4.0, the archives seem to show that you were the one who checked in the testcase and the fortran patches.

http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/actual_array_constructor_2.f90?view=log

So I'm somewhat mystified by your "hands unknown" comment. :-)

Could you please take a second look?  Maybe the whole patch and the testcases should be reverted on 4.0?
Comment 14 Paul Thomas 2007-01-10 22:09:13 UTC
Subject: Re:  testsuite failures in actual_array_constructor_2.f90
  and actual_array_substr_2.f90

Kaveh
> ------- Comment #13 from ghazi at gcc dot gnu dot org  2007-01-10 21:45 -------
> Paul - The bug is not "FIXED" in 4.0, please don't mark it as such yet. 
> "WONTFIX" may be a more accurate description if that is the group decision. 
> You can remove yourself from the assigned field if you aren't able to work on
> it.
>   
I am sorry, but I genuinely thought that only the testscases were present:

I checked out fortran and the testsuite from gcc-4_0-branch and could 
not find any trace of this patch in the ChangeLogs but the testcases ARE 
there.  On this basis, I thought that there was nothing to fix.
> Regarding your last checkin to 4.0, the archives seem to show that you were the
> one who checked in the testcase and the fortran patches.
>
> http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/actual_array_constructor_2.f90?view=log
>
> So I'm somewhat mystified by your "hands unknown" comment. :-)
>   
The evidence is incontrovertible :-)   OK, it is obvious that I am 
missing something here. Why does the 4.0 branch not reflect this patch?
> Could you please take a second look?  Maybe the whole patch and the testcases
> should be reverted on 4.0?
>   
Yes, please.  Note that this is not a WONTFIX but rather a CANTFIX; my 
time is taken by other things than gcc, right now, and, additionally, I 
no longer have a 4.0 tree; in fact I just scrubbed 4.1 as well.

I am not trying to be difficult, cantankerous or awkward - I tried to 
look into it and just do not understand what is going on.

Cheers

Paul


Comment 15 Jerry DeLisle 2007-01-11 06:32:51 UTC
The 4.0 branch should be abandoned.  Hundreds of bugs have been fixed since 4.1.  You should be at least using 4.1 or 4.2.  Are you not able to build 4.1 or 4.2 for Solaris 2.10 ia64 ?

Marking as Wontfix because of higher priorities.
Comment 16 Eric Botcazou 2007-01-11 07:10:04 UTC
> The 4.0 branch should be abandoned.  Hundreds of bugs have been fixed since
> 4.1.  You should be at least using 4.1 or 4.2.

Huh... Kaveh is a member of the GCC Steering Committee.  He not only uses GCC,
but develops it and extensively tests it.  This PR indicates a real problem
on the 4.0.x branch, which is not yet closed as of today, so you should not
disparage it that way.

> Are you not able to build 4.1 or 4.2 for Solaris 2.10 ia64 ?

Definitely not, Solaris has never been ported to IA-64.

> Marking as Wontfix because of higher priorities.

This is not a valid reason to close a PR.
Comment 17 Eric Botcazou 2007-01-11 07:27:55 UTC
Confirmed on AMD64/Linux .
Comment 18 Jerry DeLisle 2007-01-11 07:45:51 UTC
Well then please accept my humble apology.  No intent to disparage. I was attempting to concur with Kaveh's suggestion in Comment #13 that ""WONTFIX" may be a more accurate description if that is the group decision."  I should have chosen better wording or simply remained silent.  
Comment 19 Kaveh Ghazi 2007-01-11 17:04:46 UTC
(In reply to comment #18)
> Well then please accept my humble apology.  No intent to disparage. I was
> attempting to concur with Kaveh's suggestion in Comment #13 that ""WONTFIX" may
> be a more accurate description if that is the group decision."  I should have
> chosen better wording or simply remained silent.  

Apology accepted.

IMHO a key part of my sentence you quote that you ignored in practice was "group decision".  Two other gcc developer's (Eric and David) have signed up because they also care about this bug.  Let's hold off on "WONTFIX" until the 4.0 branch is closed for good.  Then we can eliminate 4.0-only bugs en-masse as I'm sure many remain.
Comment 20 Kaveh Ghazi 2007-01-11 17:16:07 UTC
(In reply to comment #14)
> Subject: Re:  testsuite failures in actual_array_constructor_2.f90
>   and actual_array_substr_2.f90
> Kaveh
> > ------- Comment #13 from ghazi at gcc dot gnu dot org  2007-01-10 21:45 -------
> > Paul - The bug is not "FIXED" in 4.0, please don't mark it as such yet. 
> > "WONTFIX" may be a more accurate description if that is the group decision. 
> > You can remove yourself from the assigned field if you aren't able to work on
> > it.
> >   
> I am sorry, but I genuinely thought that only the testscases were present:
> I checked out fortran and the testsuite from gcc-4_0-branch and could 
> not find any trace of this patch in the ChangeLogs but the testcases ARE 
> there.  On this basis, I thought that there was nothing to fix.
> > Regarding your last checkin to 4.0, the archives seem to show that you were the
> > one who checked in the testcase and the fortran patches.
> >
> > http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/actual_array_constructor_2.f90?view=log
> >
> > So I'm somewhat mystified by your "hands unknown" comment. :-)
> >   
> The evidence is incontrovertible :-)   OK, it is obvious that I am 
> missing something here. Why does the 4.0 branch not reflect this patch?
> > Could you please take a second look?  Maybe the whole patch and the testcases
> > should be reverted on 4.0?
> >   
> Yes, please.  Note that this is not a WONTFIX but rather a CANTFIX; my 
> time is taken by other things than gcc, right now, and, additionally, I 
> no longer have a 4.0 tree; in fact I just scrubbed 4.1 as well.
> I am not trying to be difficult, cantankerous or awkward - I tried to 
> look into it and just do not understand what is going on.
> Cheers
> Paul

Paul - I understand that you may not have time to actually fix the bug.  However something seems to have gone wrong here and we need to address it.  Your help in understanding where to go from here is necessary.  And I believe that since you were the proximate cause of the problem (by mistakenly checking in the patch to 4.0) you are at least morally obligatged to help us understand what's the best course of action, within the confines of a volunteer effort.  Can we agree on that?

Now I see several possible paths forward:

1.  Fix the actual bug.  Probably not going to happen unless someone volunteers.

2.  Revert just the testcases.

3.  Revert the testcases and the code changes.

I think if we go with 2 or 3 we need to understand what are the ramifications of leaving in or taking out the fortran frontend code changes that you mistakenly checked in last summer.  That's where I think your help would be appreciated.  Can you offer an opinion on which option is safer and why?  "Safety" and avoiding regressions is paramount on 4.0 right now, as this branch should be kept very stable. 

Thanks,
--Kaveh
Comment 21 Paul Thomas 2007-01-11 19:28:48 UTC
Subject: Re:  testsuite failures in actual_array_constructor_2.f90
  and actual_array_substr_2.f90

Kaveh,
> Paul - I understand that you may not have time to actually fix the bug. 
> However something seems to have gone wrong here and we need to address it. 
> Your help in understanding where to go from here is necessary.  And I believe
> that since you were the proximate cause of the problem (by mistakenly checking
> in the patch to 4.0) you are at least morally obligatged to help us understand
> what's the best course of action, within the confines of a volunteer effort. 
> Can we agree on that?
>   
The problem is that I do not see the patch corresponding to the 
ChangeLogs for the PRs on the gcc-4_0-branch; I downloaded fortran and 
the testsuite last night. Why is that?
> Now I see several possible paths forward:
>
> 1.  Fix the actual bug.  Probably not going to happen unless someone
> volunteers.
>
> 2.  Revert just the testcases.
>
> 3.  Revert the testcases and the code changes.
>
> I think if we go with 2 or 3 we need to understand what are the ramifications
> of leaving in or taking out the fortran frontend code changes that you
> mistakenly checked in last summer.  That's where I think your help would be
> appreciated.  Can you offer an opinion on which option is safer and why? 
> "Safety" and avoiding regressions is paramount on 4.0 right now, as this branch
> should be kept very stable.
>   

However, I note that the commit to which you pointed, was made by me to 
trunk:
http://gcc.gnu.org/ml/gcc-cvs/2006-07/msg00074.html

The commit to 4.0 that introduced the testcases was made by aoliva at 
gcc dot gnu dot org in:
http://gcc.gnu.org/ml/gcc-cvs/2006-07/msg00077.html

 From this I deduce that (i) the "unseen hands" were not mine and that 
(ii) It is perfectly safe to revert the testcases.

Paul

This gcc-cvs entry corresponds with what I see in the 4.0 branch; ie. no 
patch


Comment 22 Kaveh Ghazi 2007-01-11 22:54:15 UTC
> However, I note that the commit to which you pointed, was made by me to 
> trunk:
> http://gcc.gnu.org/ml/gcc-cvs/2006-07/msg00074.html
> The commit to 4.0 that introduced the testcases was made by aoliva at 
> gcc dot gnu dot org in:
> http://gcc.gnu.org/ml/gcc-cvs/2006-07/msg00077.html
>  From this I deduce that (i) the "unseen hands" were not mine and that 
> (ii) It is perfectly safe to revert the testcases.
> Paul
> This gcc-cvs entry corresponds with what I see in the 4.0 branch; ie. no 
> patch

I must have misread the svn archive, looks like you're right.  I've ping'ed Alexandre and if he cops to the error then I'll take care of removing the testcases.  And as I flasely blamed you for the problem I apologize!

Hopefully we can resolve this one way or another soon.

Thanks,
--Kaveh
Comment 23 Alexandre Oliva 2007-01-12 04:04:02 UTC
I can't imagine why I might have added or merged those files.  I'm pretty sure I had no intention of merging them.  I may have goofed in the merge command, or I ran into some SVN bug.  Whatever it was, I apologize for not having noticed it at that time.  Feel free to remove it.
Comment 24 Paul Thomas 2007-01-12 06:09:03 UTC
Kaveh,

> I must have misread the svn archive, looks like you're right.  I've ping'ed
> Alexandre and if he cops to the error then I'll take care of removing the
> testcases.  And as I flasely blamed you for the problem I apologize!

That's OK.  It would have been nice if you had taken note of what I said from the outset, though - the patch was not present on the branch; just the testcases.  That's why I could not respond to the problem.

Have a nice day:)

Paul
Comment 25 Kaveh Ghazi 2007-01-12 15:36:27 UTC
Subject: Bug 30399

Author: ghazi
Date: Fri Jan 12 15:36:16 2007
New Revision: 120727

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=120727
Log:
	PR fortran/30399
	* actual_array_constructor_2.f90 actual_array_substr_2.f90: Revert
	accidental checkin of these testcases.


Removed:
    branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/actual_array_constructor_2.f90
    branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/actual_array_substr_2.f90
Modified:
    branches/gcc-4_0-branch/gcc/testsuite/ChangeLog

Comment 26 Kaveh Ghazi 2007-01-12 15:54:18 UTC
Testcases deleted, problem solved.