Ticket #2005 (closed bug: fixed)

Opened 3 years ago

Last modified 3 years ago

Parrot no longer builds on Darwin/PPC

Reported by: jkeenan Owned by:
Priority: critical Milestone:
Component: build Version: 3.0.0
Severity: fatal Keywords:
Cc: Language:
Patch status: applied Platform: darwin

Description

Following the merge of the generational_gc branch into master, Parrot no longer builds on Darwin/PPC. The build fails here:

src/gc/gc_gms.c:2174: failed assertion '!PObj_on_free_list_TEST(pmc)'
make: *** [runtime/parrot/library/YAML/Tiny.pir] Error 134
make -C docs
make[1]: Nothing to be done for `all'.
./parrot -o runtime/parrot/library/YAML/Tiny.pbc runtime/parrot/library/YAML/Tiny.pir
error:imcc:syntax error, unexpected $end
        in file 'runtime/parrot/library/YAML/Tiny.pir' line 1
error:imcc:syntax error ... somewhere
        in file 'runtime/parrot/library/YAML/Tiny.pir' line 1
make: *** [runtime/parrot/library/YAML/Tiny.pbc] Error 1
Finished

I was following the development of this branch and, up until the last 24 hours, it was building on this platform, albeit with some additional test errors when configured with --optimize. But last night I began to have problems building the branch. Now that branch has been merged into trunk, the problems are now more critical.

kid51

Attachments

20110211.b55f22f.master.txt.gz Download (11.5 KB) - added by jkeenan 3 years ago.
build failure after generational_gc merge into trunk

Change History

Changed 3 years ago by jkeenan

build failure after generational_gc merge into trunk

  Changed 3 years ago by jkeenan

This commit represented a successful build of the generational_gc branch on Darwin/ppc: a36c56c. I ran it on Feb 10 at 20:36 USET.

  Changed 3 years ago by bacek

Hello.

Can you try to reproduce it on RELEASE_3_0_0-888-g77b57cc?

-- Bacek

follow-up: ↓ 4   Changed 3 years ago by jkeenan

  • patch set to applied

I successfully built and tested Parrot on Darwin/PPC, using gcc for cc and g++ for ld and link on this commit b1d3cb567d (which is later than the one bacek cited). See:  http://smolder.parrot.org/app/projects/report_details/9125

I'm going to try an all g++ build with --optimize next, so let's keep the ticket open momentarily.

Thank you very much.

kid51

in reply to: ↑ 3   Changed 3 years ago by jkeenan

Replying to jkeenan:

I successfully built and tested Parrot on Darwin/PPC, using gcc for cc and g++ for ld and link on this commit b1d3cb567d (which is later than the one bacek cited). See:  http://smolder.parrot.org/app/projects/report_details/9125

Hmm. It appears that the generational_gc merge was reverted after the commit bacek cited. Hence, the fact that Parrot was once again building on Darwin/PPC is not the good news I thought it was -- because it's really old news.

So now I'll have to try the specific commit bacek mentioned.

kid51

follow-up: ↓ 6   Changed 3 years ago by jkeenan

Last night bacek suggested I test commit 77b57cc on my Darwin/PPC box. This commit did fix the build error reported in the Description of this ticket. However, performance collapsed: time needed to run make and make test soared to approximately 63 minutes. While I don't normally record this time, my sense is that these days building and testing usually take 20-25 minutes on this machine.

bacek then encouraged me to build with --optimize at the same commit point. I did so. While that significantly improved the build and test time to 29:66 -- still worse than I am used to.

(I should note that on this particular build I used cc=g++, where normally I use cc=gcc and use g++ only for link and ld. At the moment, I am starting a run using my normal procedure -- a procedure I have used consistently since December 2006. No --optimize is also my normal procedure, in part out of habit and in part out of the fact that I get failures with --optimize on this box; see TT #1930. As I have previously argued, even if this machine is old enough that it falls outside the scope of our 'support' policy, there is value in facing up to the fact that our software performs worse on it than it did four years ago -- and we ought to know why it performs worse.)

On my Linux/i386 (a Debian Linode), the situation is much more optimistic. At 77b57cc I got a combined build and test time of 7:40 without --optimize and 5:66 and 4:58 on two runs with --optimize. At 8ae02700, with --optimize I got a combined time of 6:57. This represents only a few runs, but it does suggest that gen_gc is capable of improving this broad measure of performance whether you optimize or not.

Thank you very much.

kid51

in reply to: ↑ 5   Changed 3 years ago by jkeenan

Replying to jkeenan:

Last night bacek suggested I test commit 77b57cc on my Darwin/PPC box. This commit did fix the build error reported in the Description of this ticket. However, performance collapsed: time needed to run make and make test soared to approximately 63 minutes. While I don't normally record this time, my sense is that these days building and testing usually take 20-25 minutes on this machine.

Hmm, I guess I haven't timed my normal build and test lately. At head in master, no --optimize, cc=gcc, it took me 9:59 to build and 19:14 to test: total of 29:13 -- in the same range as gen_gc with --optimize.

follow-up: ↓ 8   Changed 3 years ago by bacek

  • status changed from new to closed
  • resolution set to fixed

Hello jkeenan.

Can you test performance on gen_gc2 branch? It should be faster now. Feel free to open new ticket for performance slowdown (if any).

Original issue was already solved. Closing ticket.

-- Bacek

in reply to: ↑ 7   Changed 3 years ago by jkeenan

Replying to bacek:

Original issue was already solved. Closing ticket.

bacek:

I don't think it is prudent to close a ticket before the original poster has had an opportunity to comment on whether the fix works or not.

But I will leave this ticket closed and open a new ticket, assigned to you, on test failures in the gen_gc2 branch on this platform.

Thank you very much.

kid51

Note: See TracTickets for help on using tickets.