public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/15738] New: Multiple segmentation faults in test suite on Alpha
@ 2013-07-14  9:49 mcree at orcon dot net.nz
  2013-07-14 13:34 ` [Bug libc/15738] " joseph at codesourcery dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: mcree at orcon dot net.nz @ 2013-07-14  9:49 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15738

            Bug ID: 15738
           Summary: Multiple segmentation faults in test suite on Alpha
           Product: glibc
           Version: 2.17
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: mcree at orcon dot net.nz
                CC: drepper.fsp at gmail dot com

On Alpha the following tests (at least) fail in the test suite with
segmentation faults.

badsalttest
nptl/tst-eintr1
nptl/tst-cancel24-static
nptl/tst-cond8-static
nptl/tst-mutex8-static
nptl/tst-mutexpi8-static
nptl/tst-sem11-static
nptl/tst-sem12-static
elf/tst-tls1
elf/tst-tls2
elf/tst-tls5

Tested with both gcc-4.6 (Debian 4.6.4-2+alpha) and gcc-4.7 (Debian
4.7.3-4+alpha), and with binutils 2.23.52.20130620 and linux headers (3.9.8-1)
on an Alpha ES45 running Debian unstable from Debian-Ports.

Running, for example, elf/tst-tls1 manually and with --direct results in the
following output:

set bar to 1 (LE)
get sum of foo and bar (IE) = 1
get sum of foo and bar (LD)Segmentation fault

and a core dump that appears to end in __get_tls_addr():

Core was generated by `/home/mjc/toolchain/glibc-build/elf/ld-linux.so.2
--library-path /home/mjc/tool'.
Program terminated with signal 11, Segmentation fault.
#0  __tls_get_addr (ti=0x120019704) at dl-tls.c:775
775      void *p = dtv[GET_ADDR_MODULE].pointer.val;

but I could not get a full backtrace (maybe because I am not sure how to tell
gdb where to load dynamic libraries from).

The test suite failures extend back to version 2.16 of the libary and probably
earlier (I did not test before the merge of ports with mainline).

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libc/15738] Multiple segmentation faults in test suite on Alpha
  2013-07-14  9:49 [Bug libc/15738] New: Multiple segmentation faults in test suite on Alpha mcree at orcon dot net.nz
@ 2013-07-14 13:34 ` joseph at codesourcery dot com
  2013-07-17 19:42 ` rth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: joseph at codesourcery dot com @ 2013-07-14 13:34 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15738

--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
Configuring --enable-hardcoded-path-in-tests may make it easier to use GDB 
with dynamically linked tests, by allowing them to be run directly rather 
than with ld.so --library-path (as long as that doesn't cause the test 
failures to go away).

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libc/15738] Multiple segmentation faults in test suite on Alpha
  2013-07-14  9:49 [Bug libc/15738] New: Multiple segmentation faults in test suite on Alpha mcree at orcon dot net.nz
  2013-07-14 13:34 ` [Bug libc/15738] " joseph at codesourcery dot com
@ 2013-07-17 19:42 ` rth at gcc dot gnu.org
  2013-07-17 19:42 ` rth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rth at gcc dot gnu.org @ 2013-07-17 19:42 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15738

Richard Henderson <rth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |alpha
                 CC|                            |rth at gcc dot gnu.org

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libc/15738] Multiple segmentation faults in test suite on Alpha
  2013-07-14  9:49 [Bug libc/15738] New: Multiple segmentation faults in test suite on Alpha mcree at orcon dot net.nz
  2013-07-14 13:34 ` [Bug libc/15738] " joseph at codesourcery dot com
  2013-07-17 19:42 ` rth at gcc dot gnu.org
@ 2013-07-17 19:42 ` rth at gcc dot gnu.org
  2013-08-14  7:20 ` mcree at orcon dot net.nz
  2014-06-13  9:24 ` fweimer at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: rth at gcc dot gnu.org @ 2013-07-17 19:42 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15738

Richard Henderson <rth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
               Host|                            |alpha

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libc/15738] Multiple segmentation faults in test suite on Alpha
  2013-07-14  9:49 [Bug libc/15738] New: Multiple segmentation faults in test suite on Alpha mcree at orcon dot net.nz
                   ` (2 preceding siblings ...)
  2013-07-17 19:42 ` rth at gcc dot gnu.org
@ 2013-08-14  7:20 ` mcree at orcon dot net.nz
  2014-06-13  9:24 ` fweimer at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: mcree at orcon dot net.nz @ 2013-08-14  7:20 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15738

--- Comment #2 from Michael Cree <mcree at orcon dot net.nz> ---
Updated to newly released 2.18.

Problem in tst-tls1 appears as:

Starting program: /home/mjc/toolchain/glibc-build/elf/tst-tls1 --direct
set bar to 1 (LE)
get sum of foo and bar (IE) = 1
get sum of foo and bar (LD)
Program received signal SIGSEGV, Segmentation fault.
__tls_get_addr (ti=0x120019884) at dl-tls.c:775
775      void *p = dtv[GET_ADDR_MODULE].pointer.val;

(gdb) bt full
#0  __tls_get_addr (ti=0x120019884) at dl-tls.c:775
        dtv = 0x20000027f50
        p = <optimized out>
#1  0x0000000120001758 in do_test () at tst-tls1.c:48
        __result = 0x120019884
        result = 0
        ap = 0x20000027834
        bp = <optimized out>
#2  0x000000012000130c in main (argc=<optimized out>, argv=<optimized out>)
    at ../test-skeleton.c:279
        direct = 1
        status = <optimized out>
        opt = <optimized out>
        timeoutfactor = 1
        envstr_timeoutfactor = <optimized out>
(gdb) print *dtv
$1 = {counter = 1, pointer = {val = 0x1, is_static = false}}
(gdb) print *ti
Cannot access memory at address 0x120019884


It would therefore appear that the address passed to __tls_get_addr() is
incorrect.  Going up once in the stack is not particularly helpful as the
problem address is calculated in the macro TLS_LD():


(gdb) up
#1  0x0000000120001758 in do_test () at tst-tls1.c:48
48      ap = TLS_LD (foo);


Maybe disassembly might give a clue?  Here it follows:

(gdb) disass
Dump of assembler code for function do_test:
   0x0000000120001640 <+0>:    ldah    gp,2(t12)
   0x0000000120001644 <+4>:    lda    gp,-21600(gp)
   0x0000000120001648 <+8>:    lda    sp,-48(sp)
   0x000000012000164c <+12>:    ldah    a0,-2(gp)
   0x0000000120001650 <+16>:    ldq    t12,-32624(gp)
   0x0000000120001654 <+20>:    stq    ra,0(sp)
   0x0000000120001658 <+24>:    lda    a0,23440(a0)
   0x000000012000165c <+28>:    stq    s0,8(sp)
   0x0000000120001660 <+32>:    stq    s1,16(sp)
   0x0000000120001664 <+36>:    stq    s2,24(sp)
   0x0000000120001668 <+40>:    stq    s3,32(sp)
   0x000000012000166c <+44>:    stq    s4,40(sp)
   0x0000000120001670 <+48>:    ldq    s1,-32512(gp)
   0x0000000120001674 <+52>:    jsr    ra,(t12),0x120001678 <do_test+56>
   0x0000000120001678 <+56>:    ldah    gp,2(ra)
   0x000000012000167c <+60>:    lda    t1,1
   0x0000000120001680 <+64>:    lda    gp,-21656(gp)
   0x0000000120001684 <+68>:    rduniq
   0x0000000120001688 <+72>:    ldah    a0,-2(gp)
   0x000000012000168c <+76>:    ldq    a3,0(s1)
   0x0000000120001690 <+80>:    lda    a0,23458(a0)
   0x0000000120001694 <+84>:    ldq    t12,-32664(gp)
   0x0000000120001698 <+88>:    lda    a1,1
   0x000000012000169c <+92>:    lda    a2,27
   0x00000001200016a0 <+96>:    mov    v0,t0
   0x00000001200016a4 <+100>:    lda    t0,16(t0)
   0x00000001200016a8 <+104>:    stl    t1,0(t0)
   0x00000001200016ac <+108>:    mov    v0,s0
   0x00000001200016b0 <+112>:    jsr    ra,(t12),0x1200016b4 <do_test+116>
   0x00000001200016b4 <+116>:    ldah    gp,2(ra)
   0x00000001200016b8 <+120>:    lda    s3,20
   0x00000001200016bc <+124>:    lda    s2,16
   0x00000001200016c0 <+128>:    addq    s0,s3,s3
   0x00000001200016c4 <+132>:    addq    s0,s2,s2
   0x00000001200016c8 <+136>:    lda    gp,-21716(gp)
   0x00000001200016cc <+140>:    ldl    a1,0(s3)
   0x00000001200016d0 <+144>:    ldah    s0,-2(gp)
   0x00000001200016d4 <+148>:    ldl    t0,0(s2)
   0x00000001200016d8 <+152>:    lda    s0,23489(s0)
   0x00000001200016dc <+156>:    ldq    t12,-32752(gp)
   0x00000001200016e0 <+160>:    mov    s0,a0
   0x00000001200016e4 <+164>:    addl    a1,t0,a1
   0x00000001200016e8 <+168>:    jsr    ra,(t12),0x1200016ec <do_test+172>
   0x00000001200016ec <+172>:    ldah    gp,2(ra)
   0x00000001200016f0 <+176>:    ldl    t0,0(s3)
   0x00000001200016f4 <+180>:    lda    gp,-21772(gp)
   0x00000001200016f8 <+184>:    ldl    a1,0(s2)
   0x00000001200016fc <+188>:    bne    t0,0x1200018a8 <do_test+616>
   0x0000000120001700 <+192>:    cmpeq    a1,0x1,t0
   0x0000000120001704 <+196>:    xor    t0,0x1,s2
   0x0000000120001708 <+200>:    bne    t0,0x120001728 <do_test+232>
   0x000000012000170c <+204>:    ldah    a0,-2(gp)
---Type <return> to continue, or q <return> to quit---
   0x0000000120001710 <+208>:    ldq    t12,-32752(gp)
   0x0000000120001714 <+212>:    lda    a0,23496(a0)
   0x0000000120001718 <+216>:    lda    s2,1
   0x000000012000171c <+220>:    jsr    ra,(t12),0x120001720 <do_test+224>
   0x0000000120001720 <+224>:    ldah    gp,2(ra)
   0x0000000120001724 <+228>:    lda    gp,-21824(gp)
   0x0000000120001728 <+232>:    ldq    a3,0(s1)
   0x000000012000172c <+236>:    ldah    a0,-2(gp)
   0x0000000120001730 <+240>:    ldq    t12,-32664(gp)
   0x0000000120001734 <+244>:    lda    a1,1
   0x0000000120001738 <+248>:    lda    a2,27
   0x000000012000173c <+252>:    lda    a0,23506(a0)
   0x0000000120001740 <+256>:    jsr    ra,(t12),0x120001744 <do_test+260>
   0x0000000120001744 <+260>:    ldah    gp,2(ra)
   0x0000000120001748 <+264>:    lda    a0,-32448(gp)
   0x000000012000174c <+268>:    lda    gp,-21860(gp)
   0x0000000120001750 <+272>:    ldq    t12,-32648(gp)
   0x0000000120001754 <+276>:    jsr    ra,(t12),0x120001758 <do_test+280>
=> 0x0000000120001758 <+280>:    ldah    gp,2(ra)
   0x000000012000175c <+284>:    lda    a0,-32448(gp)
   0x0000000120001760 <+288>:    lda    gp,-21880(gp)
   0x0000000120001764 <+292>:    mov    v0,s4
   0x0000000120001768 <+296>:    ldq    t12,-32648(gp)
   0x000000012000176c <+300>:    lda    s4,4(s4)
   0x0000000120001770 <+304>:    jsr    ra,(t12),0x120001774 <do_test+308>
   0x0000000120001774 <+308>:    ldah    gp,2(ra)
   0x0000000120001778 <+312>:    mov    s0,a0
   0x000000012000177c <+316>:    ldl    a1,0(s4)
   0x0000000120001780 <+320>:    lda    gp,-21908(gp)
   0x0000000120001784 <+324>:    mov    v0,s3
   0x0000000120001788 <+328>:    lda    s3,0(s3)
   0x000000012000178c <+332>:    ldl    t0,0(s3)
   0x0000000120001790 <+336>:    ldq    t12,-32752(gp)
   0x0000000120001794 <+340>:    addl    a1,t0,a1
   0x0000000120001798 <+344>:    jsr    ra,(t12),0x12000179c <do_test+348>
   0x000000012000179c <+348>:    ldah    gp,2(ra)
   0x00000001200017a0 <+352>:    ldl    t0,0(s4)
   0x00000001200017a4 <+356>:    lda    gp,-21948(gp)
   0x00000001200017a8 <+360>:    ldl    a1,0(s3)
   0x00000001200017ac <+364>:    bne    t0,0x120001900 <do_test+704>
   0x00000001200017b0 <+368>:    cmpeq    a1,0x1,t0
   0x00000001200017b4 <+372>:    cmpeq    t0,0,t1
   0x00000001200017b8 <+376>:    or    s2,t1,s2
   0x00000001200017bc <+380>:    bne    t0,0x1200017dc <do_test+412>
   0x00000001200017c0 <+384>:    ldah    a0,-2(gp)
   0x00000001200017c4 <+388>:    ldq    t12,-32752(gp)
   0x00000001200017c8 <+392>:    lda    a0,23496(a0)
   0x00000001200017cc <+396>:    lda    s2,1
   0x00000001200017d0 <+400>:    jsr    ra,(t12),0x1200017d4 <do_test+404>
   0x00000001200017d4 <+404>:    ldah    gp,2(ra)
   0x00000001200017d8 <+408>:    lda    gp,-22004(gp)
   0x00000001200017dc <+412>:    ldq    a3,0(s1)
   0x00000001200017e0 <+416>:    ldah    a0,-2(gp)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libc/15738] Multiple segmentation faults in test suite on Alpha
  2013-07-14  9:49 [Bug libc/15738] New: Multiple segmentation faults in test suite on Alpha mcree at orcon dot net.nz
                   ` (3 preceding siblings ...)
  2013-08-14  7:20 ` mcree at orcon dot net.nz
@ 2014-06-13  9:24 ` fweimer at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: fweimer at redhat dot com @ 2014-06-13  9:24 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=15738

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|                            |security-

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-06-13  9:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-14  9:49 [Bug libc/15738] New: Multiple segmentation faults in test suite on Alpha mcree at orcon dot net.nz
2013-07-14 13:34 ` [Bug libc/15738] " joseph at codesourcery dot com
2013-07-17 19:42 ` rth at gcc dot gnu.org
2013-07-17 19:42 ` rth at gcc dot gnu.org
2013-08-14  7:20 ` mcree at orcon dot net.nz
2014-06-13  9:24 ` fweimer at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).