dotgnu-libjit
[Top][All Lists]
Advanced

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

Re: [Dotgnu-libjit] Libjit memory errors


From: Klaus Treichel
Subject: Re: [Dotgnu-libjit] Libjit memory errors
Date: Tue, 14 Sep 2010 21:08:32 +0200

Hi Simone,

Am Montag, den 13.09.2010, 23:45 -0400 schrieb Simone Campanoni:
> Hi Klaus,
> 
> On 09/13/2010 01:46 PM, Klaus Treichel wrote:
> > Hey Simone,
> >
> > sorry, that i'm replying so late.
> >   
> No problem at all
> >
> > Am Mittwoch, den 25.08.2010, 15:42 -0400 schrieb Simone Campanoni:
> >   
> >> Hi Libjit developers,
> >>     I am Simone Campanoni (author of ILDJIT), I would like to report few
> >> memory errors I had on Libjit used within ILDJIT.
> >> I am using the last version of the official git repository.
> >> Following you can find the output of the valgrind tool.
> >> I hope you find this information useful.
> >>
> >> Thanks
> >> simone
> >>
> >>
> >> ======================= output
> >> Invalid read of size 4
> >>    at 0x4B96C8A: jit_insn_iter_next (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B85CBB: compile_block (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B86248: codegen (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B863EF: compile (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B86527: jit_compile_entry (in 
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B865D5: jit_function_compile_entry (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     ....
> >>  Address 0x1bb8c748 is 8 bytes inside a block of size 64 free'd
> >>    at 0x47DDB3A: free (vg_replace_malloc.c:366)
> >>    by 0x4B7EC35: jit_free (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B83503: _jit_block_destroy (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B8E985: jit_insn_label (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B9623D: jit_insn_start_finally (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     ....
> >>
> >> Invalid read of size 4
> >>    at 0x4B8393D: jit_block_next (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B8629F: codegen (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B863EF: compile (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B86527: jit_compile_entry (in 
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B865D5: jit_function_compile_entry (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     ....
> >>  Address 0x1bb8c754 is 20 bytes inside a block of size 64 free'd
> >>    at 0x47DDB3A: free (vg_replace_malloc.c:366)
> >>    by 0x4B7EC35: jit_free (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B83503: _jit_block_destroy (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B8E985: jit_insn_label (in /home/xan/System/lib/libjit.so.0.0.1)
> >>    by 0x4B9623D: jit_insn_start_finally (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     ....
> >>
> >> Invalid read of size 4
> >>     at 0x4BC96CF: _jit_gen_insn (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B85CAA: compile_block (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B86248: codegen (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B863EF: compile (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B86527: jit_compile_entry (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B865D5: jit_function_compile_entry (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     ....
> >>   Address 0x1bb8c774 is 52 bytes inside a block of size 64 free'd
> >>     at 0x47DDB3A: free (vg_replace_malloc.c:366)
> >>     by 0x4B7EC35: jit_free (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B83503: _jit_block_destroy (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B8E985: jit_insn_label (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B9623D: jit_insn_start_finally (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     ....
> >>
> >> Invalid read of size 4
> >>     at 0x4B9C17F: jit_meta_destroy (in 
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B834CE: _jit_block_destroy (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B82F69: _jit_block_free (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B8CD4D: _jit_function_free_builder (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B8657C: jit_function_setup_entry (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     ....
> >>   Address 0x1bb8c770 is 48 bytes inside a block of size 64 free'd
> >>     at 0x47DDB3A: free (vg_replace_malloc.c:366)
> >>     by 0x4B7EC35: jit_free (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B83503: _jit_block_destroy (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B8E985: jit_insn_label (in /home/xan/System/lib/libjit.so.0.0.1)
> >>     by 0x4B9623D: jit_insn_start_finally (in
> >> /home/xan/System/lib/libjit.so.0.0.1)
> >>  
> >>     
> > Can you supply complete debug information (incl. line numbers)?
> >   
> You right, I didn't see this information was missing, sorry.
> I report here one case because I guess every other problems come from
> the same memory corruption.
> 
>  Invalid read of size 4
>   _jit_block_add_insn (jit-block.c:1115)
>  jit_insn_store (jit-insn.c:1439)
>  translate_ir_store (ir_virtual_machine.c:2853)
> ...
> Address 0x770574c is 12 bytes inside a block of size 64 free'd
> free (vg_replace_malloc.c:366)
> jit_free (jit-alloc.c:126)
> _jit_block_destroy (jit-block.c:1007)
> jit_insn_label (jit-insn.c:1117)
> jit_insn_start_finally (jit-insn.c:7592)
> 
This one might be a bug with label handng in your application.
This jit_block_destroy should never get called.

Do you do an jit_insn_label twice for the same label?
I had a similar issue in pnet.

> > Does this happen on x86 or x86_64?
> >   
> on x86
> > Do you have a testcase i can try with?
> >   
> Unfortunately not yet

I've tried with valgrind on my x86_64 box with running pnetlib tests and
didn't get any of these memory corruption messages. (only some branches
depending on uninitialized values in pnet). I'll have a look at them
too.

I'll try with valgrind on x86 later.

> > Cheers,
> > Klaus
> >   
> Thanks
> simone

Cheers,
Klaus

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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