Matthew,

Before upgrading to the version when you fixed this
(or possibly other) crash, I have tried for a long time
to catch it under gdb or rr (Sam, thanks for the pointer to rr).

Unfortunately, the program has never crashed under gdb or rr.
I do not know why. I ran it many times, and it works
like a Swiss watch.

So I am going to upgrade the nightly build and let you know
if the crash happens with it (not under gdb or rr). I hope that
the bug you fixed is relevant to the crash, and then I should not see
it again.

My memory use often is in the interval 256-300 MB. And of course
a lot of minor GC-s are happening. I am not sure about the condition
with the finalizer:
 - whether it is necessary for the crash,
 - whether the crash happens right after the creation of finalizer
or in the future,
 - whether my program actually creates finalizers after initialization.
No code is suddenly called for the first time near the time of the crash. There is some DB access and some file system access, though.


Anyway, I will install the latest nightly build and see how it goes.

Best regards,

Dmitry


On 10/16/2015 01:16 AM, Matthew Flatt wrote:
I've just stumbled across a subtle and difficult-to-provoke GC bug
while testing new changes to the GC. The problem was introduced in
commit 50df879e or so (September 10), so I think the timing of the
change is consistent with your problem.

For this bug to be relevant, your program would need to run a minor
collection when memory use is in the neighborhood of 256MB to 300MB
(which is not uncommon for 64-bit programs).

The specific crash I can see also involves allocation a finalizer
shortly before the GC, but the creation of a finalizer can be triggered
in many ways, such as calling a bit of code for the first time so that
it gets JIT-compiled.

At Thu, 15 Oct 2015 11:56:21 +0300, Dmitry Pavlov wrote:
Matthew,

It seems that I have lost my grip on the crash.
It has not happened for almost a week---neither with the version
that I build myself, nor with the nightly build where I definitely
saw it. I did not update Racket during this time.
I did not do anything else. I have no idea why it is gone. Sorry.

Oops, it just crashed again, 5+ hours of running.
I will re-run in under gdb. There is no guarantee, though,
that it will crash this time.

By the way, I input "handle SIGSEGV nostop noprint" into gdb prior
to running, to get rid of gdb's complaints about Racket VM's way of
doing things. Am I correct that this should not hide the actual crash?

Best regards,

Dmitry

--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to