New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS Sierra (10.12.2) / Xcode 8.2.1 library compilation errors with Larceny 0.99 #784

Closed
christoff-buerger opened this Issue Dec 20, 2016 · 5 comments

Comments

Projects
None yet
2 participants
@christoff-buerger

christoff-buerger commented Dec 20, 2016

After updating to macOS Sierra (Version 10.12.2) with Xcode 8.2.1 it is impossible to compile R6RS libraries or files. The error message of Larceny 0.99 is

Larceny Panic: Sys/stats.c;677: Assertion failed.

I run into this issue with my RACR Scheme library. You can test by executing

./install-libraries.bash -s larceny

I tried the compile-stale script as well as the compile-stale-libraries and compile-library functions of (larceny compiler) with all kind of compiler switches (slow, fast-safe, fast-unsafe, standard, default and no switch).

Unfortunately, I cannot try the most recent GitHub version as I have no working Larceny compiler anymore (bootstrap for the win)! Larceny itself still runs; "just" compilation of R6RS programs fails.

@christoff-buerger christoff-buerger changed the title from macOS Sierra (10.12.2) / Xcode 8.2.1 errors with Larceny 0.99 to macOS Sierra (10.12.2) / Xcode 8.2.1 library compilation errors with Larceny 0.99 Dec 20, 2016

@WillClinger WillClinger self-assigned this Dec 21, 2016

@WillClinger WillClinger added the C: RTS label Dec 21, 2016

@WillClinger WillClinger added this to the Larceny 1.3 milestone Dec 21, 2016

@WillClinger

This comment has been minimized.

Show comment
Hide comment
@WillClinger

WillClinger Dec 21, 2016

Member

Thank you for the detailed bug report.

I tried to update my MacBook to Sierra a while ago, but the update failed. Now it's urgent.

Member

WillClinger commented Dec 21, 2016

Thank you for the detailed bug report.

I tried to update my MacBook to Sierra a while ago, but the update failed. Now it's urgent.

@christoff-buerger

This comment has been minimized.

Show comment
Hide comment
@christoff-buerger

christoff-buerger Dec 21, 2016

I tried a bit more. The bug looks kind of random. About 1 out of 20 times a library compiles; the other 19 times is fails with Larceny Panic: Sys/stats.c;677: Assertion failed.

I am testing on a MacBook Air Mid 2011.

christoff-buerger commented Dec 21, 2016

I tried a bit more. The bug looks kind of random. About 1 out of 20 times a library compiles; the other 19 times is fails with Larceny Panic: Sys/stats.c;677: Assertion failed.

I am testing on a MacBook Air Mid 2011.

@WillClinger

This comment has been minimized.

Show comment
Hide comment
@WillClinger

WillClinger Dec 22, 2016

Member

Installing Sierra took half a day.

It looks as though the assertion fails following the first garbage collection in generation 1, when statistics are recorded following the collection.

Sufficiently small and short-running programs can be run by specifying -size0 1000M on the command line, but that isn't enough for a system build.

I'm going to use an older OS to build a version of Larceny that simply prints a message instead of failing the assertion, and see what I can learn from that.

Member

WillClinger commented Dec 22, 2016

Installing Sierra took half a day.

It looks as though the assertion fails following the first garbage collection in generation 1, when statistics are recorded following the collection.

Sufficiently small and short-running programs can be run by specifying -size0 1000M on the command line, but that isn't enough for a system build.

I'm going to use an older OS to build a version of Larceny that simply prints a message instead of failing the assertion, and see what I can learn from that.

@WillClinger

This comment has been minimized.

Show comment
Hide comment
@WillClinger

WillClinger Dec 23, 2016

Member

Fixed by changeset 2adf750

Evidently macOS Sierra is no longer zeroing out the memory segments allocated using malloc or similar, which exposed a latent bug in the statistics-gathering code of v0.99.

A prebuilt binary for macOS Sierra should appear on Larceny's nightly build page by tomorrow morning, and I'll update Larceny's main download page tomorrow as well.

Member

WillClinger commented Dec 23, 2016

Fixed by changeset 2adf750

Evidently macOS Sierra is no longer zeroing out the memory segments allocated using malloc or similar, which exposed a latent bug in the statistics-gathering code of v0.99.

A prebuilt binary for macOS Sierra should appear on Larceny's nightly build page by tomorrow morning, and I'll update Larceny's main download page tomorrow as well.

@christoff-buerger

This comment has been minimized.

Show comment
Hide comment
@christoff-buerger

christoff-buerger Dec 26, 2016

Thanks a lot! I tested it and it works perfectly; all issues are fixed.

christoff-buerger commented Dec 26, 2016

Thanks a lot! I tested it and it works perfectly; all issues are fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment