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

Alberto Barbaro via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 24 13:16:20 PST 2019


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/20191224/5fc5b736/attachment.html>


More information about the llvm-dev mailing list