Opened 13 years ago
Closed 13 years ago
#446 closed defect (fixed)
make -j mysterious race condition on user_str.... tests
Reported by: | Juergen Reuter | Owned by: | Juergen Reuter |
---|---|---|---|
Priority: | P1 | Milestone: | v2.0.7 |
Component: | core | Version: | 2.0.5 |
Severity: | blocker | Keywords: | |
Cc: |
Description (last modified by )
user strfun test failing..... There is a strange race condition.... probably the library is not completely loaded... I dont know. Giving up for now, have to live with that bogus.
Change History (12)
comment:1 Changed 13 years ago by
Description: | modified (diff) |
---|---|
Milestone: | v2.0.6 → v2.0.7 |
Priority: | P1 → P3 |
Severity: | blocker → normal |
Summary: | EMERGENCY STOP → make -j mysterious race condition on user_str.... tests |
comment:2 Changed 13 years ago by
Priority: | P3 → P1 |
---|---|
Severity: | normal → blocker |
comment:3 Changed 13 years ago by
Status: | new → assigned |
---|
I haven't looked at the output, but thinking about it, it probably originates from the fact that both user_cuts and user_strfun build the library user.la, although the source code file names differ. This obviously can lead to a race condition.
Now, this has likely zero impact for the user, even if he uses make -j. It is only a problem of the testsuite.
Three ways out:
(1) allow for a custom name for the user library, (2) inhibit parallel execution for this part of the testsuite, (3) merge user_cuts and user_strfun again.
(3) is probably the simplest solution, with the slight caveat that it is broken under gfortran 4.5. (1) is preferable on general grounds.
comment:4 Changed 13 years ago by
BTW, this actually belongs to a Tracker category "testsuite" which we might add ...
comment:5 Changed 13 years ago by
I thought about that, too, that it is somehow a problem with user.la needed by both of them. So I made them dependent one on the other. The problem was still there...
comment:6 Changed 13 years ago by
Funny thing: I could not reproduce this with make check, only make distcheck triggered it...
comment:7 Changed 13 years ago by
I tried to reproduce this, but I failed... 10 tries in make check, 10 in make distcheck, one in make extra-distcheck did not fail.
comment:8 Changed 13 years ago by
Owner: | changed from kilian to Juergen Reuter |
---|---|
Status: | assigned → new |
I think I might have a solution, testing....
comment:9 Changed 13 years ago by
Sorry, I'm also working on this right now ... implemented --user-target as option to avoid clashing user.la
Also testing right now - what's your idea?
comment:10 Changed 13 years ago by
Ah fk.... thats again additional code... No, no, no, simply make the tests conditional, have to check.... again, some wasted time...
comment:11 Changed 13 years ago by
Well, the option --user-target works as intended, and might be useful anyway. Since it's done, I check it in nevertheless ...
comment:12 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Ok, my solution is void then...
This is getting on our nerves and triggers Jenkins too often....