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

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 24 13:09:02 PST 2019


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/37f4ea84/attachment.html>


More information about the llvm-dev mailing list