Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Feb 2014 16:22:06 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        freebsd-x11@FreeBSD.org
Subject:   support for printing stack traces in xorg server
Message-ID:  <52FCD50E.50605@FreeBSD.org>

next in thread | raw e-mail | index | archive | help

Sometimes quite unpleasant messages like the following can be found in Xorg.log
file:
[mi] EQ overflowing.  Additional events will be discarded until existing events
are processed.
[mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.

Unfortunately, on FreeBSD we do not get any backtraces.
configure.ac has the following snippet:
dnl glibc backtrace support check (hw/xfree86/common/xf86Events.c)
AC_CHECK_HEADER([execinfo.h],[
    AC_CHECK_LIB(c, backtrace, [
        AC_DEFINE(HAVE_BACKTRACE, 1, [Has backtrace support])
        AC_DEFINE(HAVE_EXECINFO_H, 1, [Have execinfo.h])
    ])]
)

So it checks for presence of execinfo.h header file and for presence of
backtrace() function in libc.
On FreeBSD execinfo.h does exists, but backtrace() in in libexecinfo instead.
At least this is what I see on FreeBSD head (11).
But there is also devel/libexecinfo if any supported version of FreeBSD does not
have libexecinfo in base.

So, I think that it should be pretty easy to patch the xorg port to use
libexecinfo.  Should we do this?

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52FCD50E.50605>