public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: "Eric Gillespie, Jr." <epg@progeny.com>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] libgmp3 problem on IA64
Date: Wed, 25 Jul 2001 23:29:26 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105590693005920@msgid-missing> (raw)

For the past couple days i have been investigating an odd segfault in
Sawfish.  For some reason, some people were not seeing it, but once it
starts, it is perfectly reproducable, even after eliminating any state
Sawfish saves (Unix domain socket, configuration files, etc.).

The crash only occurs when using session management; it doesn't matter
if you use xsm or gnome-session.  I know the problem is in GMP (the
GNU MultiPrecision library), but i think i'm in over my head at this
point.  Can anyone help?

I've tracked the crash down to the rep_print_number_to_string function
in librep-0.14/src (rep is the extension language used by Sawfish),
show below.  More debugging later on showed me that the crash happens
in libgmp3-3.1.1/mpn/get_str.c, at the very end of mpn_get_str(),
right where you'll find this crap:

while (s != str)
  *--s = 0;

Anyway, here's the tail end of one of my gdb sessions.

(gdb) break numbers.c:2773
Breakpoint 1 at 0x20000000000c3530: file numbers.c, line 2773.
(gdb) cont
Continuing.

Breakpoint 1, Fnumber_to_string (z984315712182462, radix\x146)
    at numbers.c:2773
2773        out = rep_print_number_to_string (z, rep_INT (radix), -1);
(gdb) step
rep_print_number_to_string (obj984315712182462, radix6, prec=-1)
    at numbers.c:1091
1091        char *out = 0;
(gdb) next
1093        if (!rep_NUMERICP (obj))
(gdb) 
1101            if (radix = 10)
(gdb) 
1103            else if (radix = 16)
(gdb) 
1105            else if (radix = 8)
(gdb) 
1110                obj = promote_to (obj, rep_NUMBER_BIGNUM);
(gdb) 
1111                goto do_bignum;
(gdb) 
1127            out = mpz_get_str (0, radix, rep_NUMBER(obj,z));
(gdb) step

Program received signal SIGSEGV, Segmentation fault.
0x20000000002dad51 in __gmpn_get_str () from /usr/lib/libgmp.so.3
(gdb) 
Single stepping until exit from function __gmpn_get_str, 
which has no line number information.

-- 
Eric Gillespie, Jr. <*> epg@progeny.com
Software Developer
Progeny Linux Systems - http://progeny.com
"I don't know what a Sawfish Window Manager is."


                 reply	other threads:[~2001-07-25 23:29 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-linux-ia64-105590693005920@msgid-missing \
    --to=epg@progeny.com \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox