whizard is hosted by Hepforge, IPPP Durham

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 Juergen Reuter)

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 Juergen Reuter

Description: modified (diff)
Milestone: v2.0.6v2.0.7
Priority: P1P3
Severity: blockernormal
Summary: EMERGENCY STOPmake -j mysterious race condition on user_str.... tests

comment:2 Changed 13 years ago by Juergen Reuter

Priority: P3P1
Severity: normalblocker

This is getting on our nerves and triggers Jenkins too often....

comment:3 Changed 13 years ago by kilian

Status: newassigned

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 kilian

BTW, this actually belongs to a Tracker category "testsuite" which we might add ...

comment:5 Changed 13 years ago by Juergen Reuter

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 Juergen Reuter

Funny thing: I could not reproduce this with make check, only make distcheck triggered it...

comment:7 Changed 13 years ago by Juergen Reuter

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 Juergen Reuter

Owner: changed from kilian to Juergen Reuter
Status: assignednew

I think I might have a solution, testing....

comment:9 Changed 13 years ago by kilian

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 Juergen Reuter

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 kilian

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 Juergen Reuter

Resolution: fixed
Status: newclosed

Ok, my solution is void then...

Note: See TracTickets for help on using tickets.