1 | <br><br><div class="gmail_quote">2010/6/1 Parrot <span dir="ltr"><<a href="mailto:parrot-tickets@lists.parrot.org">parrot-tickets@lists.parrot.org</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> |
---|
2 | #1670: t/library/lwp.t fails after parallel build<br> |
---|
3 | ----------------------+-----------------------------------------------------<br> |
---|
4 | Reporter: doughera | Owner:<br> |
---|
5 | Type: bug | Status: new<br> |
---|
6 | Priority: normal | Milestone:<br> |
---|
7 | Component: none | Version: 2.4.0<br> |
---|
8 | Severity: medium | Keywords:<br> |
---|
9 | Lang: | Patch:<br> |
---|
10 | Platform: |<br> |
---|
11 | ----------------------+-----------------------------------------------------<br> |
---|
12 | I am getting the following strange failure with t/library/lwp.t, but only<br> |
---|
13 | if I build with {{{make -j 6}}} (or greater). The test succeeds if I<br> |
---|
14 | build with {{{make -j 5}}}.<br> |
---|
15 | <br> |
---|
16 | The failure looks like this:<br> |
---|
17 | <br> |
---|
18 | {{{<br> |
---|
19 | 1..48<br> |
---|
20 | ok 1 - new ['LWP';'UserAgent']<br> |
---|
21 | ok 2 - new ['LWP';'Protocol';'file']<br> |
---|
22 | ok 3 - isa ['LWP';'Protocol']<br> |
---|
23 | ok 4 - new ['LWP';'Protocol';'http']<br> |
---|
24 | ok 5 - isa ['LWP';'Protocol']<br> |
---|
25 | ok 6 - new ['HTTP';'Request']<br> |
---|
26 | ok 7 - isa ['HTTP';'Message']<br> |
---|
27 | ok 8 - new ['HTTP';'Response']<br> |
---|
28 | ok 9 - isa ['HTTP';'Message']<br> |
---|
29 | "load_bytecode" no file name<br> |
---|
30 | current instr.: 'parrot;HTTP;Date;time2str' pc 8<br> |
---|
31 | (runtime/parrot/library/HTTP/Message.pir:31)<br> |
---|
32 | called from Sub 'parrot;LWP;UserAgent;_new_response' pc 1445<br> |
---|
33 | (/dev/shm/parrot/runtime/parrot/library/LWP/UserAgent.pir:528)<br> |
---|
34 | called from Sub 'parrot;LWP;UserAgent;send_request' pc 210<br> |
---|
35 | (/dev/shm/parrot/runtime/parrot/library/LWP/UserAgent.pir:74)<br> |
---|
36 | called from Sub 'parrot;LWP;UserAgent;request' pc 406<br> |
---|
37 | (/dev/shm/parrot/runtime/parrot/library/LWP/UserAgent.pir:133)<br> |
---|
38 | called from Sub 'test_unknown_protocol' pc 273 (t/library/lwp.t:68)<br> |
---|
39 | called from Sub 'main' pc 51 (t/library/lwp.t:27)<br> |
---|
40 | }}}<br> |
---|
41 | <br> |
---|
42 | Running the whole thing under strace, the load bytecode is failing because<br> |
---|
43 | it's calling<br> |
---|
44 | {{{<br> |
---|
45 | fstat(1275397164, 0x7fffffffd1c0) = -1 EBADF (Bad file descriptor)<br> |
---|
46 | }}}<br> |
---|
47 | where it looks like that first argument to fstat() may have come from a<br> |
---|
48 | previous call to time().<br> |
---|
49 | <br> |
---|
50 | I have been able to reproduce this problem on a quad-core x86 and on a<br> |
---|
51 | dual-core amd64. Both were running Debian Linux "Lenny" (aka "stable").<br> |
---|
52 | <br> |
---|
53 | I have attached the script I used to reproduce the failures, and a tar<br> |
---|
54 | file showing the different outputs of<br> |
---|
55 | {{{make}}},<br> |
---|
56 | {{{ ./parrot t/library/lwp.t}}}, and<br> |
---|
57 | {{{ strace ./parrot t/library/lwp.t}}}.<br> |
---|
58 | <br> |
---|
59 | I vaguely suspect that the recent shuffling of some ops out of core means<br> |
---|
60 | that some library wasn't available when it was needed, though why that<br> |
---|
61 | didn't result in a build failure is a mystery to me.<br> |
---|
62 | <br> |
---|
63 | This particular run was at r47170, though I first noticed this problem<br> |
---|
64 | with r47059, and it could be even older than that.<br> |
---|
65 | <font color="#888888"><br> |
---|
66 | --<br> |
---|
67 | Ticket URL: <<a href="https://trac.parrot.org/parrot/ticket/1670" target="_blank">https://trac.parrot.org/parrot/ticket/1670</a>><br> |
---|
68 | Parrot <<a href="https://trac.parrot.org/parrot/" target="_blank">https://trac.parrot.org/parrot/</a>><br> |
---|
69 | Parrot Development<br> |
---|
70 | _______________________________________________<br> |
---|
71 | parrot-tickets mailing list<br> |
---|
72 | <a href="mailto:parrot-tickets@lists.parrot.org">parrot-tickets@lists.parrot.org</a><br> |
---|
73 | <a href="http://lists.parrot.org/mailman/listinfo/parrot-tickets" target="_blank">http://lists.parrot.org/mailman/listinfo/parrot-tickets</a><br> |
---|
74 | </font></blockquote></div><br><br>I think it is another opcode mixture (see TT #1663),<br>because the subroutine time2str() doesn't use the opcode load_bytecode.<br><br>François<br><br> |
---|