chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH] Flow-analysis enhancement for assigned var


From: Jörg F . Wittenberger
Subject: Re: [Chicken-hackers] [PATCH] Flow-analysis enhancement for assigned variables
Date: 30 Jan 2012 11:49:15 +0100

On Jan 30 2012, Peter Bex wrote:

If they're not tracked, could this cause the scrutinizer to make invalid type inferences and code replacements?

May I expand: Felix, assuming you have at least seen the results
of some mistaken type tag, what would be the resulting effect
to the running chicken program?


I'm asking this because I'm trying for several weeks to track
down a certain segfault.  As it happens I can observe that
one only on ARM, never on AMD64.  It occurs randomly and rare
enough to make a full call trace a no-go. (Still often enough
to be grave.)

The segfault always happens in the garbage collector either here

 scavenge:
   *x = (C_word)p2;
   p2->header = h;
   p->header = ptr_to_fptr((C_uword)p2);
   C_16_memcpy(p2->data, p->data, bytes);  <<<
 }

or at the and of "really_mark"

 p2->header = h;
 assert(!is_fptr(h));
 p->header = ptr_to_fptr((C_word)p2);
 C_17_memcpy(p2->data, p->data, bytes); <<<<
}


I guess something damages a type tag, subsequently having
the gc scan and fail on arbitrary addresses.
However I lack a theory how that would be possible.


Thanks for any hint how I could track that one down.

/Jörg







reply via email to

[Prev in Thread] Current Thread [Next in Thread]