[llvm-dev] Interpreter crash due to an "Unknown constant pointer type!"

Alberto Barbaro via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 3 03:28:58 PST 2020


David,
Using llvm 9 the crash is not present anymore. I think it was just time for
me to update my code...

Thanks for your help

Alberto

On Tue, Dec 24, 2019, 21:16 Alberto Barbaro <barbaro.alberto at gmail.com>
wrote:

> Hi David,
> In pretty sure that the crash is due to the instruction I have shared in
> my first email. In order to run pngpixel you just need libpng and zlib..
> honest I thought that the .bc had Al the necessary. I'm happy to help you
> to reproduce it. As a curiosity, why do you think you cannot reproduce it?
>
> Unfortunately I won't be able to modify the interpreter soon.. anyway,
> I'll try to dump s much info as possible.
>
> Thanks
> Alberto
>
>
> On Tue, Dec 24, 2019, 22:09 David Blaikie <dblaikie at gmail.com> wrote:
>
>> I can't reproduce it (just because of other local differences that lead
>> to failures before it reaches this point, not because it passes for me or
>> anything)
>>
>> I'd suggest you hop in with a debugger and/or modify the interpreter to
>> print more information at that unreachable - to see what sort of type you
>> do have & maybe then it'll be more clear what should be done with that
>> type, or why it's a weird type, etc.
>>
>> On Thu, Dec 19, 2019 at 11:32 AM Alberto Barbaro <
>> barbaro.alberto at gmail.com> wrote:
>>
>>> Hi David,
>>> Thanks for the suggestions. I can definitely provide the example bc file
>>> and image ( please see the attachments ). For the debug + asserts I need a
>>> bit of more time.
>>>
>>> Anyway the full output of lli is:
>>>
>>> lli --force-interpreter examples/pngpixel_crash.bc 0 0 examples/mini.png
>>> png_ptr->width: 1
>>> max_pixel_depth: 24
>>> row_bytes: 28
>>> Unknown constant pointer type!
>>> UNREACHABLE executed at
>>> /home/al/Desktop/llvm-6.0.1.src/lib/ExecutionEngine/ExecutionEngine.cpp:1007!
>>> LLVMSymbolizer: error reading file: No such file or directory
>>> #0 0x0000000001765ee9 (lli+0x1765ee9)
>>> #1 0x0000000001766099 (lli+0x1766099)
>>> #2 0x0000000001764643 (lli+0x1764643)
>>> #3 0x0000000001766424 (lli+0x1766424)
>>> #4 0x00007f5dc5fc7890 __restore_rt
>>> (/lib/x86_64-linux-gnu/libpthread.so.0+0x12890)
>>> #5 0x00007f5dc4a85e97 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x3ee97)
>>> #6 0x00007f5dc4a87801 abort (/lib/x86_64-linux-gnu/libc.so.6+0x40801)
>>> #7 0x00000000016d7150 (lli+0x16d7150)
>>> #8 0x0000000001139543 (lli+0x1139543)
>>> #9 0x00000000011500b8 (lli+0x11500b8)
>>> #10 0x000000000115c25d (lli+0x115c25d)
>>> #11 0x0000000001167d32 (lli+0x1167d32)
>>> #12 0x000000000116430d (lli+0x116430d)
>>> #13 0x0000000001163580 (lli+0x1163580)
>>> #14 0x000000000114e197 (lli+0x114e197)
>>> #15 0x0000000001135ba0 (lli+0x1135ba0)
>>> #16 0x00000000008c729d (lli+0x8c729d)
>>> #17 0x00007f5dc4a68b97 __libc_start_main
>>> (/lib/x86_64-linux-gnu/libc.so.6+0x21b97)
>>> #18 0x00000000008c4f1a (lli+0x8c4f1a)
>>> Stack dump:
>>> 0. Program arguments: lli --force-interpreter examples/pngpixel_crash.bc
>>> 0 0 examples/mini.png
>>> [1]    4344 abort (core dumped)  lli --force-interpreter
>>> examples/pngpixel_crash.bc 0 0 examples/mini.png
>>>
>>> Please let me know if you can reproduce it!!
>>>
>>> Thanks
>>> Alberto
>>>
>>>
>>> On Thu, Dec 19, 2019, 19:10 David Blaikie <dblaikie at gmail.com> wrote:
>>>
>>>> Probably need a debug (& probably +Asserts) build to see more about
>>>> where it's failing & that might help you fix it - if you want other folks
>>>> to be able to help debug the issue, providing the full reproduction steps
>>>> (the entire input files, what commands were run, etc) - though, preferably,
>>>> minimized (simplify the inputs/commands, etc, while still producing the
>>>> failure)
>>>>
>>>> On Thu, Dec 19, 2019 at 11:06 AM Alberto Barbaro via llvm-dev <
>>>> llvm-dev at lists.llvm.org> wrote:
>>>>
>>>>> Hi all,
>>>>> as usual I'm playing with the Interpreter and unfortunately I hit a
>>>>> crash. I have narrowed down the problem an the crash happens inside the
>>>>> inflate function which is part of zlib and specifically at the instruction:
>>>>>
>>>>> store <2 x %struct.code*> <%struct.code* getelementptr inbounds ([512
>>>>> x %struct.code], [512 x %struct.code]* @fixedtables.lenfix.681, i64 0, i64
>>>>> 0), %struct.code* getelementptr inbounds ([32 x %struct.code], [32 x
>>>>> %struct.code]* @fixedtables.distfix.682, i64 0, i64 0)>, <2 x
>>>>> %struct.code*>* %96, align 8, !tbaa !46
>>>>>
>>>>> The output from lli is:
>>>>>
>>>>> Unknown constant pointer type!
>>>>> UNREACHABLE executed at
>>>>> /home/al/Desktop/llvm-6.0.1.src/lib/ExecutionEngine/ExecutionEngine.cpp:1007!
>>>>> LLVMSymbolizer: error reading file: No such file or directory
>>>>> #0 0x0000000001765ee9 (lli+0x1765ee9)
>>>>> #1 0x0000000001766099 (lli+0x1766099)
>>>>> #2 0x0000000001764643 (lli+0x1764643)
>>>>> #3 0x0000000001766424 (lli+0x1766424)
>>>>> #4 0x00007faade157890 __restore_rt
>>>>> (/lib/x86_64-linux-gnu/libpthread.so.0+0x12890)
>>>>> #5 0x00007faadcc15e97 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x3ee97)
>>>>> #6 0x00007faadcc17801 abort (/lib/x86_64-linux-gnu/libc.so.6+0x40801)
>>>>> #7 0x00000000016d7150 (lli+0x16d7150)
>>>>> #8 0x0000000001139543 (lli+0x1139543)
>>>>> #9 0x00000000011500b8 (lli+0x11500b8)
>>>>> #10 0x000000000115c25d (lli+0x115c25d)
>>>>> #11 0x0000000001167d32 (lli+0x1167d32)
>>>>> #12 0x000000000116430d (lli+0x116430d)
>>>>> #13 0x0000000001163580 (lli+0x1163580)
>>>>> #14 0x000000000114e197 (lli+0x114e197)
>>>>> #15 0x0000000001135ba0 (lli+0x1135ba0)
>>>>> #16 0x00000000008c729d (lli+0x8c729d)
>>>>> #17 0x00007faadcbf8b97 __libc_start_main
>>>>> (/lib/x86_64-linux-gnu/libc.so.6+0x21b97)
>>>>> #18 0x00000000008c4f1a (lli+0x8c4f1a)
>>>>>
>>>>> Is there anyone that can help me to understand how to fix it even a
>>>>> simple workaround for the moment would be enough!
>>>>>
>>>>> Thanks,
>>>>> Alberto
>>>>> _______________________________________________
>>>>> LLVM Developers mailing list
>>>>> llvm-dev at lists.llvm.org
>>>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200103/23c00d8e/attachment.html>


More information about the llvm-dev mailing list