[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: strange behavior of customize widget buttons

From: Eli Zaretskii
Subject: Re: strange behavior of customize widget buttons
Date: Tue, 28 Nov 2000 09:29:23 +0200 (IST)

On 27 Nov 2000, Jason Rumney wrote:

> > > [1] _kill(0x0, 0xb, 0x0, 0x0, 0xef323138, 0xa3434), at 0xef308244
> > > [2] fatal_error_signal(0xb, 0x0, 0xefffa190, 0x0, 0x0, 0x0), at 0xa3434
> > > ---- called from signal handler with signal 11 (SIGSEGV) ------
> > > [3] show_busy_cursor(), at 0x9981c
> > > [4] alarm_signal_handler(0xe, 0x0, 0xefffa648, 0x0, 0x0, 0x0), at 0x1407fc
> > > ---- called from signal handler with signal 14 (SIGALRM) ------
> > > [5] _memcmp(), at 0xef2719a4
> > > [6] Fstring_equal(0xe86af4, 0x302957b4, 0xe86af4, 0x30e86af4, 0x126f030, 
> > > 0x0), at 0x10b790
> > 
> > SIGALRM during a library function call?  Some non-reentrancy in the 
> > library, perhaps?
> The SIGALRM is a timer for displaying the busy cursor. The SEGV is
> what causes the core dump.

Yes, I understood that much.

What I wanted to say was that, since SIGALRM runs application code
inside Emacs from a signal handler, and since the backtrace seems to
indicate that SIGALRM interrupted memcmp, you might be tripping over
some problem in the system libraries, due to reentrancy.  For example,
what if memcmp has some local static variables (yes, I know, it's
unlikely, but it might be something similar)?

> This is clearly in show_busy_cursor, but
> dbx is not co-operating by telling me where in that function the error
> occurred

Can't you display, for a given source line, where the addresses of
that line's code live in the binary?  (Something like GDB's "info
line"?)  If so, you could find the line which corresponds to the
address 9981Ch.

Alternatively, disassemblying around 9981Ch could bring the same
information.  (The references I have about dbx don't seem to indicate
that either of these commands are present, but my references about dbx
are very outdated.)

> I'd use gdb, but it is not installed on the machine, and I don't
> have root access).

Can't you install GDB in your home directory?  GDB doesn't need to be
installed with special privileges in order to debug applications.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]