[cfe-dev] Locating the root cause of the error detected by UBSan

Zhoulai Fu@Gmail via cfe-dev cfe-dev at lists.llvm.org
Mon Apr 8 01:26:23 PDT 2019


Thank you! The "print_stracktrace" trick does help. I get something that is
shown below, which traces the error back to the binary code of the buggy
application (which is in C++). A naive question: With Clang, is it possible
to get the offending line of the source code,  like when you print a
stracktrace of an exception in Java?


/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:517:55: runtime error:
-nan is outside the range of representable values of type 'int'
    #0 0x4b0ffb
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x4b0ffb)
    #1 0x4ab7b3
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x4ab7b3)
    #2 0x4a501f
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x4a501f)
    #3 0x50a6af
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x50a6af)
    #4 0x509d3a
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x509d3a)
    #5 0x543be3
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x543be3)
    #6 0x7fd2719a5d29  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4d29)
    #7 0x7fd2719b25c7  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2c15c7)
    #8 0x7fd2719a6bb2  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b5bb2)
    #9 0x7fd275c9505b
(/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15b05b)
    #10 0x7fd275c9a515
(/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x160515)
    #11 0x7fd27197738a  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x28638a)
    #12 0x7fd2719cc5ec  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2db5ec)
    #13 0x7fd2719ccaf0  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2dbaf0)
    #14 0x7fd270160196  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a196)
    #15 0x7fd2701603ef  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a3ef)
    #16 0x7fd27016049b  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a49b)
    #17 0x7fd2719cd7ea  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2dc7ea)
    #18 0x7fd271974b49  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x283b49)
    #19 0x7fd27197cbeb  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x28bbeb)
    #20 0x49f1eb
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x49f1eb)
    #21 0x49e9f1
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x49e9f1)
    #22 0x7fd27069a82f  (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #23 0x477588
(/home/zhfu/catkin_ws/devel/lib/turtlesim/turtlesim_node+0x477588)


Zhoulai

On Mon, Apr 8, 2019 at 9:38 AM Roman Lebedev <lebedev.ri at gmail.com> wrote:

> export UBSAN_OPTIONS="print_stacktrace=1"
> might help
>
> On Mon, Apr 8, 2019 at 10:30 AM Zhoulai Fu at Gmail via cfe-dev
> <cfe-dev at lists.llvm.org> wrote:
> >
> > Hi,
> >
> > I am running a robotic application on Ubuntu16. The application is
> compiled with Clang's UndefinedBehavior sanitizer with an "-g" option. I
> got a brief error message which seemed to indicate a bug somewhere:
> >
> >     /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:517:55:
> >     runtime error: -nan is outside the range of representable values of
> type 'int'
> >
> > My guess is that the bug is from my application, not from the more
> mature QT. How could I determine which line in the source (which I can
> access) of the application that triggers this runtime error?
> >
> > Thanks.
> >
> > Zhoulai
> >
> > _______________________________________________
> > cfe-dev mailing list
> > cfe-dev at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190408/cf1237f6/attachment.html>


More information about the cfe-dev mailing list