Skip to content
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

GC compaction bug #5757

Closed
vicuna opened this issue Sep 7, 2012 · 6 comments
Closed

GC compaction bug #5757

vicuna opened this issue Sep 7, 2012 · 6 comments

Comments

@vicuna
Copy link

vicuna commented Sep 7, 2012

Original bug ID: 5757
Reporter: markghayden
Assigned to: @damiendoligez
Status: closed (set by @damiendoligez on 2012-09-10T10:26:30Z)
Resolution: fixed
Priority: immediate
Severity: block
Version: 4.00.0
Target version: 4.00.1+dev
Fixed in version: 4.00.1+dev
Category: runtime system and C interface
Has duplicate: #6077
Related to: #5389
Monitored by: jeffsco mehdi @hcarty @dbuenzli

Bug description

The code below crashes on Linux and MacOS within a few seconds.

I believe this the root cause of a problem I have been running into with my iPad app (www.seaiq.com). The normal symptom is a segfault in invert_pointer_at in compact.c.

The problem appears to be related to the recent fix to the compactor (#5389).

Steps to reproduce

while true do ignore (String.create (Random.int 1000000)) done

File attachments

@vicuna
Copy link
Author

vicuna commented Sep 7, 2012

Comment author: @bobzhang

could not reproduce in the toplevel, but it did happen for binary.
Could anyone explain the difference?

@vicuna
Copy link
Author

vicuna commented Sep 7, 2012

Comment author: jeffsco

I can verify that I see the same as hongboz after building 4.00.0 under OS X 10.7.4 (Lion) with Xcode 4.3.3. A compiled version (64-bit native code or bytecode) crashes within one second with a segmentation fault. Running at toplevel shows no crash after a few minutes.

@vicuna
Copy link
Author

vicuna commented Sep 7, 2012

Comment author: @damiendoligez

Reproduced. If you need a workaround, disable compaction and if you get fragmentation problems try the first-fit allocation policy.

@vicuna
Copy link
Author

vicuna commented Sep 8, 2012

Comment author: @damiendoligez

Here is a patch that applies cleanly to both 4.00.0 and 4.00.1+dev. I'll commit it to the trunk and the 4.00 branch after a bit more testing.

@vicuna
Copy link
Author

vicuna commented Sep 9, 2012

Comment author: jeffsco

I rebuilt the compiler with the patch and ran all the tests that come with the distribution. All tests passed, including pr5757:

370 test(s) passed
0 test(s) failed
0 compilation error(s)
0 compilation warning(s)
0 makefile error(s)

Xcode 4.3.3 under OSX 10.7.4 (Lion), 64-bit (2.6 GHz Intel Core i7)

@vicuna
Copy link
Author

vicuna commented Sep 10, 2012

Comment author: @damiendoligez

Fixed in 4.00 (r 12910) and trunk (r 12912 and 12914).

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

No branches or pull requests

2 participants