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: Simone Campanoni
Subject: Re: [Dotgnu-libjit] Libjit memory errors
Date: Wed, 15 Sep 2010 09:27:46 -0400
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.12) Gecko/20100826 Thunderbird/3.0.7

Hi Klaus,
    you were right: my fault was that I did not know that
jit_insn_start_finally and jit_insn_start_filter require that the label
specified as first parameter is never used within the same function.
Now everything works, thanks a lot
simone

On 09/14/2010 03:08 PM, Klaus Treichel wrote:
> 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
>
>   



reply via email to

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