[Pkg-rust-maintainers] cargo still segfaults / rustc still FTBFS with the newest fixed kernel

Ximin Luo infinity0 at debian.org
Thu Jun 29 16:37:00 UTC 2017


Ximin Luo:
> Control: unmerge 866185
> Control: unmerge 865549
> Control: forcemerge 865549 866185
> Control: notfixed linux/4.11.6-1
> 
> Unfortunately I spoke too soon, the patch does not work. I had been testing with `cargo -V` and the segfault on this is now fixed by the patch, but `cargo build` still segfaults. More details in https://github.com/rust-lang/cargo/issues/4197
> 
> Disabling ASLR or setting `ulimit -s 24576` works around the segfault.
> 
> I am still fairly certain the issue is a kernel problem, because before June 20 I had built these things 5 times successfully on Debian buildds and more times on porterboxes:
> 
> https://buildd.debian.org/status/logs.php?pkg=rustc see versions 1.17.0+dfsg2-1 to 1.17.0+dfsg2-5
> 
> Some help would be appreciated as I have no idea how to debug these types of low-level situations. I'll try to step through the program at least and send the output of that here.
> 

Steps to reproduce:

- In $HOME, apt-get source glibc
- Download https://static.rust-lang.org/dist/rust-1.18.0-powerpc64le-unknown-linux-gnu.tar.gz
- Extract and cd into it
- Download https://static.rust-lang.org/dist/rustc-1.18.0-src.tar.gz
- Extract and link it to "checkout" in the current directory so that gdb can
  find "checkout/src/..."
  
On plummer.debian.org, you can set up a chroot with the necessary
build-dependencies (backslashed for easy c+p) by running:

$ echo pkg=rustc > ./vars; \
echo ssid=$(schroot -b -c sid) >> ./vars; \
. ./vars; \
dd-schroot-cmd -c $ssid apt-get update; \
dd-schroot-cmd -c $ssid apt-get upgrade -y; \
dd-schroot-cmd -c $ssid apt-get build-dep -y $pkg; \
dd-schroot-cmd -c $ssid apt-get install -y cargo wget nano; \
echo 'set -g history-limit 8192' > ~/.tmux.conf && tmux

# Inside tmux:
$ . ./vars; schroot -r -c $ssid; . ./vars
# Then run the instructions above


The segfault occurs on various commands at different frequencies and after 
differing amounts of time (but all less than a few seconds). The stack traces 
are all different too. Below is just one example, the one that segfaulted the
quickest out of the different commands I tried.

There are examples of segfault in other parts of the code, in the upstream 
thread here: https://github.com/rust-lang/cargo/issues/4197

To re-emphasise, *none of this happened* using *the same versions* of the 
software and build-dependencies before June 20. Those were done using the rustc 
and cargo Debian packages, but the segfaults today happen both with the Debian 
packages as well as upstream rustc+cargo binaries.

Below is a step-through the program from start to segfault, with a disassembly
and register dump at the end.

Let me know if you need anything else from me; hopefully my instructions are 
precise enough for you to reproduce it yourself.


(sid_ppc64el-dchroot)infinity0 at plummer:~/test/rust-1.18.0-powerpc64le-unknown-linux-gnu$ gdb -q -d ~/glibc-2.24/debian/ -d ~/glibc-2.24/malloc/ -d ~/glibc-2.24/stdio-common/ -ex 'set disable-randomization off' -ex 'break main' -ex 'r
un install regex' cargo/bin/cargo
Reading symbols from cargo/bin/cargo...done.
Breakpoint 1 at 0x1185e4
Starting program: /home/infinity0/test/rust-1.18.0-powerpc64le-unknown-linux-gnu/cargo/bin/cargo install regex
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/powerpc64le-linux-gnu/libthread_db.so.1".


Breakpoint 1, 0x0000000032d885e4 in main ()
(gdb)
(gdb) step
Single stepping until exit from function main,
which has no line number information.
std::rt::lang_start () at /checkout/src/libstd/rt.rs:40
40          sys::init();
(gdb)
std::sys::imp::init () at /checkout/src/libstd/rt.rs:40
40          sys::init();
(gdb)
std::sys::imp::init::reset_sigpipe () at /checkout/src/libstd/sys/unix/mod.rs:95
95              assert!(signal(libc::SIGPIPE, libc::SIG_IGN) != libc::SIG_ERR);
(gdb)
__bsd_signal (sig=13, handler=0x1) at ../sysdeps/posix/signal.c:34
34        if (handler == SIG_ERR || sig < 1 || sig >= NSIG)
(gdb)
__bsd_signal (sig=13, handler=0x1) at ../sysdeps/posix/signal.c:41
41        if (__sigemptyset (&act.sa_mask) < 0
(gdb)
29      __bsd_signal (int sig, __sighandler_t handler)
(gdb)
40        act.sa_handler = handler;
(gdb)
41        if (__sigemptyset (&act.sa_mask) < 0
(gdb)
__memset_power8 () at ../sysdeps/powerpc/powerpc64/power8/memset.S:34
34              cmpldi  cr7,r5,31
(gdb)
35              neg     r0,r3
(gdb)
36              mr      r10,r3
(gdb)
38              insrdi  r4,r4,8,48
(gdb)
39              insrdi  r4,r4,16,32     /* Replicate byte to word.  */
(gdb)
40              ble     cr7,L(write_LT_32)
(gdb)
42              andi.   r11,r10,15      /* Check alignment of DST.  */
(gdb)
43              insrdi  r4,r4,32,0      /* Replicate word to double word.  */
(gdb)
45              beq     L(big_aligned)
(gdb)
74              cmpldi  cr5,r5,255
(gdb)
75              dcbtst  0,r10
(gdb)
76              cmpldi  cr6,r4,0
(gdb)
77              crand   27,26,21
(gdb)
78              bt      27,L(huge_dcbz)
(gdb)
79              bge     cr5,L(huge_vector)
(gdb)
84              srdi    r8,r5,5
(gdb)
85              clrldi  r11,r5,59
(gdb)
86              cmpldi  cr6,r11,0
(gdb)
87              cmpdi   r8,0
(gdb)
88              beq     L(tail_bytes)
(gdb)
89              mtctr   r8
(gdb)
94              std     r4,0(r10)
(gdb)
95              std     r4,8(r10)
(gdb)
96              std     r4,16(r10)
(gdb)
97              std     r4,24(r10)
(gdb)
98              addi    r10,r10,32
(gdb)
99              bdz     L(tail_bytes)
(gdb)
101             std     r4,0(r10)
(gdb)
102             std     r4,8(r10)
(gdb)
103             std     r4,16(r10)
(gdb)
104             std     r4,24(r10)
(gdb)
105             addi    r10,10,32
(gdb)
106             bdnz    L(big_loop)
(gdb)
94              std     r4,0(r10)
(gdb)
95              std     r4,8(r10)
(gdb)
96              std     r4,16(r10)
(gdb)
97              std     r4,24(r10)
(gdb)
98              addi    r10,r10,32
(gdb)
99              bdz     L(tail_bytes)
(gdb)
101             std     r4,0(r10)
(gdb)
102             std     r4,8(r10)
(gdb)
103             std     r4,16(r10)
(gdb)
104             std     r4,24(r10)
(gdb)
105             addi    r10,10,32
(gdb)
106             bdnz    L(big_loop)
(gdb)
108             b       L(tail_bytes)
(gdb)
113             beqlr   cr6
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:42
42            || __sigaddset (&act.sa_mask, sig) < 0)
(gdb)
__sigaddset (__sig=13, __set=0x3fffc68e0570) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117     __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:44
44        act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
(gdb)
__sigismember (__sig=<optimized out>, __set=<optimized out>) at ../sysdeps/unix/sysv/linux/bits/sigset.h:116
116     __SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, const)
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:42
42            || __sigaddset (&act.sa_mask, sig) < 0)
(gdb)
__sigaddset (__sig=13, __set=0x3fffc68e0570) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117     __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:44
44        act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
(gdb)
__sigismember (__sig=<optimized out>, __set=<optimized out>) at ../sysdeps/unix/sysv/linux/bits/sigset.h:116
116     __SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, const)
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:42
42            || __sigaddset (&act.sa_mask, sig) < 0)
(gdb)
__sigaddset (__sig=13, __set=0x3fffc68e0570) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117     __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:45
45        if (__sigaction (sig, &act, &oact) < 0)
(gdb)
44        act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
(gdb)
__sigismember (__sig=<optimized out>, __set=<optimized out>) at ../sysdeps/unix/sysv/linux/bits/sigset.h:116
116     __SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, const)
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:42
42            || __sigaddset (&act.sa_mask, sig) < 0)
(gdb)
__sigaddset (__sig=13, __set=0x3fffc68e0570) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117     __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:45
45        if (__sigaction (sig, &act, &oact) < 0)
(gdb)
42            || __sigaddset (&act.sa_mask, sig) < 0)
(gdb)
__sigaddset (__sig=13, __set=0x3fffc68e0570) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117     __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:44
44        act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
(gdb)
__sigismember (__sig=<optimized out>, __set=<optimized out>) at ../sysdeps/unix/sysv/linux/bits/sigset.h:116
116     __SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, const)
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:44
44        act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
(gdb)
42            || __sigaddset (&act.sa_mask, sig) < 0)
(gdb)
__sigaddset (__sig=13, __set=0x3fffc68e0570) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117     __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:44
44        act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
(gdb)
42            || __sigaddset (&act.sa_mask, sig) < 0)
(gdb)
__sigaddset (__sig=13, __set=0x3fffc68e0570) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117     __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:44
44        act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
(gdb)
45        if (__sigaction (sig, &act, &oact) < 0)
(gdb)
__GI___sigaction (sig=13, act=0x3fffc68e0568, oact=0x3fffc68e04d0) at ../nptl/sigaction.c:34
34        if (__glibc_unlikely (sig == SIGCANCEL || sig == SIGSETXID))
(gdb)
40        return __libc_sigaction (sig, act, oact);
(gdb)
__GI___libc_sigaction (sig=13, act=0x3fffc68e0568, oact=0x3fffc68e04d0) at ../sysdeps/unix/sysv/linux/sigaction.c:40
40        if (act)
(gdb)
35      {
(gdb)
40        if (act)
(gdb)
42            kact.k_sa_handler = act->sa_handler;
(gdb)
43            memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
(gdb)
42            kact.k_sa_handler = act->sa_handler;
(gdb)
43            memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
(gdb)
__memcpy_power7 () at ../sysdeps/powerpc/powerpc64/power7/memcpy.S:34
34              cmpldi  cr1,cnt,31
(gdb)
35              neg     0,3
(gdb)
36              ble     cr1, L(copy_LT_32)  /* If move < 32 bytes use short move
(gdb)
42              andi.   10,3,15
(gdb)
43              clrldi  11,4,60
(gdb)
44              cmpld   cr6,10,11       /* SRC and DST alignments match?  */
(gdb)
46              mr      dst,3
(gdb)
47              bne     cr6,L(copy_GE_32_unaligned)
(gdb)
48              beq     L(aligned_copy)
(gdb)
83              li      6,16
(gdb)
84              li      7,32
(gdb)
85              li      8,48
(gdb)
86              mtocrf  0x02,cnt
(gdb)
87              srdi    12,cnt,7
(gdb)
88              cmpdi   12,0
(gdb)
89              beq     L(aligned_tail)
(gdb)
90              lxvd2x  6,0,src
(gdb)
91              lxvd2x  7,src,6
(gdb)
92              mtctr   12
(gdb)
93              b       L(aligned_128loop)
(gdb)
101             lxvd2x  8,src,7
(gdb)
102             lxvd2x  9,src,8
(gdb)
103             stxvd2x 6,0,dst
(gdb)
104             addi    src,src,64
(gdb)
105             stxvd2x 7,dst,6
(gdb)
106             stxvd2x 8,dst,7
(gdb)
107             stxvd2x 9,dst,8
(gdb)
108             lxvd2x  6,0,src
(gdb)
109             lxvd2x  7,src,6
(gdb)
110             addi    dst,dst,64
(gdb)
111             lxvd2x  8,src,7
(gdb)
112             lxvd2x  9,src,8
(gdb)
113             addi    src,src,64
(gdb)
114             stxvd2x 6,0,dst
(gdb)
115             stxvd2x 7,dst,6
(gdb)
116             stxvd2x 8,dst,7
(gdb)
117             stxvd2x 9,dst,8
(gdb)
118             addi    dst,dst,64
(gdb)
119             bdnz    L(aligned_128head)
(gdb)
122             mtocrf  0x01,cnt
(gdb)
123             bf      25,32f
(gdb)
135             bf      26,16f
(gdb)
143             bf      27,8f
(gdb)
149             bf      28,4f
(gdb)
155             bf      29,L(tail2)
(gdb)
245             bf      30,1f
(gdb)
262             bflr    31
(gdb)
__GI___libc_sigaction (sig=<optimized out>, act=0x3fffc68e0568, oact=0x3fffc68e04d0) at ../sysdeps/unix/sysv/linux/sigaction.c:44
44            kact.sa_flags = act->sa_flags;
(gdb)
52        result = INLINE_SYSCALL (rt_sigaction, 4, sig,
(gdb)
46            kact.sa_restorer = act->sa_restorer;
(gdb)
52        result = INLINE_SYSCALL (rt_sigaction, 4, sig,
(gdb)
44            kact.sa_flags = act->sa_flags;
(gdb)
46            kact.sa_restorer = act->sa_restorer;
(gdb)
52        result = INLINE_SYSCALL (rt_sigaction, 4, sig,
(gdb)
56        if (oact && result >= 0)
(gdb)
58            oact->sa_handler = koact.k_sa_handler;
(gdb)
59            memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
(gdb)
58            oact->sa_handler = koact.k_sa_handler;
(gdb)
59            memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
(gdb)
__memcpy_power7 () at ../sysdeps/powerpc/powerpc64/power7/memcpy.S:34
34              cmpldi  cr1,cnt,31
(gdb)
35              neg     0,3
(gdb)
36              ble     cr1, L(copy_LT_32)  /* If move < 32 bytes use short move
(gdb)
42              andi.   10,3,15
(gdb)
43              clrldi  11,4,60
(gdb)
44              cmpld   cr6,10,11       /* SRC and DST alignments match?  */
(gdb)
46              mr      dst,3
(gdb)
47              bne     cr6,L(copy_GE_32_unaligned)
(gdb)
48              beq     L(aligned_copy)
(gdb)
50              mtocrf  0x01,0
(gdb)
51              clrldi  0,0,60
(gdb)
55              bf      31,2f
(gdb)
61              bf      30,4f
(gdb)
67              bf      29,8f
(gdb)
73              bf      28,16f
(gdb)
74              ld      6,0(src)
(gdb)
75              addi    src,src,8
(gdb)
76              std     6,0(dst)
(gdb)
77              addi    dst,dst,8
(gdb)
79              subf    cnt,0,cnt
(gdb)
83              li      6,16
(gdb)
84              li      7,32
(gdb)
85              li      8,48
(gdb)
86              mtocrf  0x02,cnt
(gdb)
87              srdi    12,cnt,7
(gdb)
88              cmpdi   12,0
(gdb)
89              beq     L(aligned_tail)
(gdb)
122             mtocrf  0x01,cnt
(gdb)
123             bf      25,32f
(gdb)
124             lxvd2x  6,0,src
(gdb)
125             lxvd2x  7,src,6
(gdb)
126             lxvd2x  8,src,7
(gdb)
127             lxvd2x  9,src,8
(gdb)
128             addi    src,src,64
(gdb)
129             stxvd2x 6,0,dst
(gdb)
130             stxvd2x 7,dst,6
(gdb)
131             stxvd2x 8,dst,7
(gdb)
132             stxvd2x 9,dst,8
(gdb)
133             addi    dst,dst,64
(gdb)
135             bf      26,16f
(gdb)
136             lxvd2x  6,0,src
(gdb)
137             lxvd2x  7,src,6
(gdb)
138             addi    src,src,32
(gdb)
139             stxvd2x 6,0,dst
(gdb)
140             stxvd2x 7,dst,6
(gdb)
141             addi    dst,dst,32
(gdb)
143             bf      27,8f
(gdb)
144             lxvd2x  6,0,src
(gdb)
145             addi    src,src,16
(gdb)
146             stxvd2x 6,0,dst
(gdb)
147             addi    dst,dst,16
(gdb)
149             bf      28,4f
(gdb)
150             ld      6,0(src)
(gdb)
151             addi    src,src,8
(gdb)
152             std     6,0(dst)
(gdb)
153             addi    dst,dst,8
(gdb)
155             bf      29,L(tail2)
(gdb)
245             bf      30,1f
(gdb)
262             bflr    31
(gdb)
__GI___libc_sigaction (sig=<optimized out>, act=<optimized out>, oact=0x3fffc68e04d0) at ../sysdeps/unix/sysv/linux/sigaction.c:60
60            oact->sa_flags = koact.sa_flags;
(gdb)
62            oact->sa_restorer = koact.sa_restorer;
(gdb)
66      }
(gdb)
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:48
48        return oact.sa_handler;
(gdb)
49      }
(gdb)
std::sys::imp::init () at /checkout/src/libstd/sys/unix/mod.rs:75
75          oom::set_oom_handler(oom_handler);
(gdb)
core::sync::atomic::atomic_store<usize> () at /checkout/src/libcore/sync/atomic.rs:1406
1406            SeqCst => intrinsics::atomic_store(dst, val),
(gdb)
alloc::oom::imp::set_oom_handler () at /checkout/src/liballoc/oom.rs:52
52          }
(gdb)
std::rt::lang_start () at /checkout/src/libstd/rt.rs:43
43              let main_guard = sys::thread::guard::init();
(gdb)
std::sys::imp::thread::guard::init () at /checkout/src/libstd/rt.rs:43
43              let main_guard = sys::thread::guard::init();
(gdb)
std::sys::imp::os::page_size () at /checkout/src/libstd/sys/unix/os.rs:457
457             libc::sysconf(libc::_SC_PAGESIZE) as usize
(gdb)
__GI___sysconf (name=30) at ../sysdeps/unix/sysv/linux/sysconf.c:72
72        switch (name)
(gdb)
69      {
(gdb)
72        switch (name)
(gdb)
140       return posix_sysconf (name);
(gdb)
posix_sysconf (name=30) at ../sysdeps/posix/sysconf.c:53
53        switch (name)
(gdb)
214           return __getpagesize ();
(gdb)
__GI___getpagesize () at ../sysdeps/unix/sysv/linux/getpagesize.c:28
28        assert (GLRO(dl_pagesize) != 0);
(gdb)
30      }
(gdb)
__GI___sysconf (name=<optimized out>) at ../sysdeps/unix/sysv/linux/sysconf.c:141
141     }
(gdb)
std::sys::imp::thread::guard::init () at /checkout/src/libstd/sys/unix/thread.rs:250
250             let mut stackaddr = match get_stack_start() {
(gdb)
std::sys::imp::thread::guard::get_stack_start () at /checkout/src/libstd/sys/unix/thread.rs:250
250             let mut stackaddr = match get_stack_start() {
(gdb)
core::mem::zeroed<libc::unix::notbsd::linux::other::b64::powerpc64::pthread_attr_t> () at /checkout/src/libcore/mem.rs:334
334         intrinsics::init()
(gdb)
std::sys::imp::thread::guard::get_stack_start () at /checkout/src/libstd/sys/unix/thread.rs:232
232             assert_eq!(libc::pthread_attr_init(&mut attr), 0);
(gdb)
__pthread_attr_init_2_1 (attr=0x3fffc68e06f0) at pthread_attr_init.c:40
40      pthread_attr_init.c: No such file or directory.
(gdb)
34      in pthread_attr_init.c
(gdb)
40      in pthread_attr_init.c
(gdb)
46      in pthread_attr_init.c
(gdb)
__GI___getpagesize () at ../sysdeps/unix/sysv/linux/getpagesize.c:28
28        assert (GLRO(dl_pagesize) != 0);
(gdb)
30      }
(gdb)
__pthread_attr_init_2_1 (attr=0x3fffc68e06f0) at pthread_attr_init.c:49
49      pthread_attr_init.c: No such file or directory.
(gdb)
46      in pthread_attr_init.c
(gdb)
49      in pthread_attr_init.c
(gdb)
std::sys::imp::thread::guard::get_stack_start () at /checkout/src/libstd/sys/unix/thread.rs:236
236                 let e = libc::pthread_getattr_np(libc::pthread_self(), &mut attr);
(gdb)
__pthread_self () at pthread_self.c:27
27      pthread_self.c: No such file or directory.
(gdb)
pthread_getattr_np (thread_id=70366795949872, attr=0x3fffc68e06f0) at pthread_getattr_np.c:39
39      pthread_getattr_np.c: No such file or directory.
(gdb)
34      in pthread_getattr_np.c
(gdb)
39      in pthread_getattr_np.c
(gdb)
34      in pthread_getattr_np.c
(gdb)
39      in pthread_getattr_np.c
(gdb)
43      in pthread_getattr_np.c
(gdb)
48      in pthread_getattr_np.c
(gdb)
45      in pthread_getattr_np.c
(gdb)
48      in pthread_getattr_np.c
(gdb)
51      in pthread_getattr_np.c
(gdb)
58      in pthread_getattr_np.c
(gdb)
55      in pthread_getattr_np.c
(gdb)
58      in pthread_getattr_np.c
(gdb)
55      in pthread_getattr_np.c
(gdb)
58      in pthread_getattr_np.c
(gdb)
78      in pthread_getattr_np.c
(gdb)
_IO_new_fopen (filename=0x3fff8bd3b0b0 "/proc/self/maps", mode=0x3fff8bd3b0a8 "rce") at iofopen.c:97
97      iofopen.c: No such file or directory.
(gdb)
96      in iofopen.c
(gdb)
97      in iofopen.c
(gdb)
__fopen_internal (filename=0x3fff8bd3b0b0 "/proc/self/maps", mode=0x3fff8bd3b0a8 "rce", is32=1) at iofopen.c:69
69      in iofopen.c
(gdb)
61      in iofopen.c
(gdb)
69      in iofopen.c
(gdb)


Program received signal SIGSEGV, Segmentation fault.
0x00003fff8bbb1014 in __GI___libc_malloc (bytes=256) at malloc.c:2917
warning: Source file is more recent than executable.
2917    {
(gdb)
std::sys::imp::stack_overflow::imp::signal_handler () at /checkout/src/libstd/sys/unix/stack_overflow.rs:100
100         unsafe extern fn signal_handler(signum: libc::c_int,
(gdb)
105             let guard = thread_info::stack_guard().unwrap_or(0);
(gdb)
std::sys_common::thread_info::stack_guard () at /checkout/src/libstd/sys/unix/stack_overflow.rs:105
105             let guard = thread_info::stack_guard().unwrap_or(0);
(gdb)
std::sys_common::thread_info::ThreadInfo::with<core::option::Option<usize>,closure> () at /checkout/src/libstd/sys/unix/stack_overflow.rs:105
105             let guard = thread_info::stack_guard().unwrap_or(0);
(gdb)
std::thread::local::LocalKey<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::state<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> ()
    at /checkout/src/libstd/sys/unix/stack_overflow.rs:105
105             let guard = thread_info::stack_guard().unwrap_or(0);
(gdb)
std::sys_common::thread_info::THREAD_INFO::__getit () at /checkout/src/libstd/sys/unix/stack_overflow.rs:105
105             let guard = thread_info::stack_guard().unwrap_or(0);
(gdb)
std::sys::imp::fast_thread_local::Key<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::get<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> ()
    at /checkout/src/libstd/sys/unix/stack_overflow.rs:105
105             let guard = thread_info::stack_guard().unwrap_or(0);
(gdb)
core::cell::Cell<bool>::get<bool> () at /checkout/src/libcore/cell.rs:214
214             unsafe{ *self.value.get() }
(gdb)
std::sys::imp::fast_thread_local::Key<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::get<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> ()
    at /checkout/src/libstd/sys/unix/fast_thread_local.rs:47
47                  if intrinsics::needs_drop::<T>() && self.dtor_running.get() {
(gdb)
std::sys_common::thread_info::stack_guard () at /checkout/src/libstd/sys_common/thread_info.rs:47
47          ThreadInfo::with(|info| info.stack_guard).and_then(|o| o)
(gdb)
std::sys_common::thread_info::ThreadInfo::with<core::option::Option<usize>,closure> () at /checkout/src/libstd/sys_common/thread_info.rs:47
47          ThreadInfo::with(|info| info.stack_guard).and_then(|o| o)
(gdb)
std::thread::local::LocalKey<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::state<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> ()
    at /checkout/src/libstd/sys_common/thread_info.rs:47
47          ThreadInfo::with(|info| info.stack_guard).and_then(|o| o)
(gdb)
std::sys_common::thread_info::THREAD_INFO::__getit () at /checkout/src/libstd/sys_common/thread_info.rs:47
47          ThreadInfo::with(|info| info.stack_guard).and_then(|o| o)
(gdb)
std::sys::imp::fast_thread_local::Key<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::get<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> ()
    at /checkout/src/libstd/sys_common/thread_info.rs:47
47          ThreadInfo::with(|info| info.stack_guard).and_then(|o| o)
(gdb)
std::sys::imp::fast_thread_local::Key<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::register_dtor<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> ()
    at /checkout/src/libstd/sys_common/thread_info.rs:47
47          ThreadInfo::with(|info| info.stack_guard).and_then(|o| o)
(gdb)
core::cell::Cell<bool>::get<bool> () at /checkout/src/libcore/cell.rs:214
214             unsafe{ *self.value.get() }
(gdb)
std::sys::imp::fast_thread_local::Key<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::register_dtor<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> ()
    at /checkout/src/libstd/sys/unix/fast_thread_local.rs:56
56              if !intrinsics::needs_drop::<T>() || self.dtor_registered.get() {
(gdb)
std::sys_common::thread_info::ThreadInfo::with<core::option::Option<usize>,closure> () at /checkout/src/libstd/sys_common/thread_info.rs:30
30              THREAD_INFO.with(move |c| {
(gdb)
std::thread::local::LocalKey<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::with<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>,closure,core::option::Option<
core::option::Option<usize>>> () at /checkout/src/libstd/sys_common/thread_info.rs:30
30              THREAD_INFO.with(move |c| {
(gdb)
std::sys_common::thread_info::THREAD_INFO::__getit () at /checkout/src/libstd/sys_common/thread_info.rs:30
30              THREAD_INFO.with(move |c| {
(gdb)
std::sys::imp::fast_thread_local::Key<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::get<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> ()
    at /checkout/src/libstd/sys/unix/fast_thread_local.rs:47
47                  if intrinsics::needs_drop::<T>() && self.dtor_running.get() {
(gdb)
std::thread::local::LocalKey<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>>::with<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>,closure,core::option::Option<
core::option::Option<usize>>> () at /checkout/src/libstd/thread/local.rs:254
254                     Some(ref inner) => inner,
(gdb)
253                 f(match *slot.get() {
(gdb)
std::sys_common::thread_info::{{impl}}::with::{{closure}}<core::option::Option<usize>,closure> () at /checkout/src/libstd/thread/local.rs:253
253                 f(match *slot.get() {
(gdb)
core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>::borrow<core::option::Option<std::sys_common::thread_info::ThreadInfo>> () at /checkout/src/libstd/thread/local.rs:253
253                 f(match *slot.get() {
(gdb)
core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>::try_borrow<core::option::Option<std::sys_common::thread_info::ThreadInfo>> () at /checkout/src/libstd/thread/local.rs:253
253                 f(match *slot.get() {
(gdb)
core::cell::BorrowRef::new () at /checkout/src/libstd/thread/local.rs:253
253                 f(match *slot.get() {
(gdb)
core::cell::Cell<usize>::get<usize> () at /checkout/src/libcore/cell.rs:214
214             unsafe{ *self.value.get() }
(gdb)
core::cell::BorrowRef::new () at /checkout/src/libcore/cell.rs:844
844                 WRITING => None,
(gdb)
std::sys_common::thread_info::{{impl}}::with::{{closure}}<core::option::Option<usize>,closure> () at /checkout/src/libstd/sys_common/thread_info.rs:31
31                  if c.borrow().is_none() {
(gdb)
core::option::Option<std::sys_common::thread_info::ThreadInfo>::is_none<std::sys_common::thread_info::ThreadInfo> () at /checkout/src/libstd/sys_common/thread_info.rs:31
31                  if c.borrow().is_none() {
(gdb)
core::option::Option<std::sys_common::thread_info::ThreadInfo>::is_some<std::sys_common::thread_info::ThreadInfo> () at /checkout/src/libcore/option.rs:192
192                 Some(_) => true,
(gdb)
std::sys_common::thread_info::{{impl}}::with::{{closure}}<core::option::Option<usize>,closure> () at /checkout/src/libstd/sys_common/thread_info.rs:31
31                  if c.borrow().is_none() {
(gdb)
37                  Some(f(c.borrow_mut().as_mut().unwrap()))
(gdb)
core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>::borrow_mut<core::option::Option<std::sys_common::thread_info::ThreadInfo>> () at /checkout/src/libstd/sys_common/thread_info.rs:37
37                  Some(f(c.borrow_mut().as_mut().unwrap()))
(gdb)
core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>::try_borrow_mut<core::option::Option<std::sys_common::thread_info::ThreadInfo>> () at /checkout/src/libstd/sys_common/thread_info.rs:37
37                  Some(f(c.borrow_mut().as_mut().unwrap()))
(gdb)
core::cell::BorrowRefMut::new () at /checkout/src/libcore/cell.rs:1000
1000                UNUSED => {
(gdb)
1001                    borrow.set(WRITING);
(gdb)
core::cell::Cell<usize>::set<usize> () at /checkout/src/libcore/cell.rs:1001
1001                    borrow.set(WRITING);
(gdb)
core::cell::Cell<usize>::replace<usize> () at /checkout/src/libcore/cell.rs:1001
1001                    borrow.set(WRITING);
(gdb)
core::mem::replace<usize> () at /checkout/src/libcore/cell.rs:1001
1001                    borrow.set(WRITING);
(gdb)
core::mem::swap<usize> () at /checkout/src/libcore/mem.rs:455
455             ptr::copy_nonoverlapping(&*y, x, 1);
(gdb)
std::sys_common::thread_info::{{impl}}::with::{{closure}}<core::option::Option<usize>,closure> () at /checkout/src/libstd/sys_common/thread_info.rs:37
37                  Some(f(c.borrow_mut().as_mut().unwrap()))
(gdb)
38              })
(gdb)
core::ptr::drop_in_place<core::cell::RefMut<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> () at /checkout/src/libstd/sys_common/thread_info.rs:38
38              })
(gdb)
core::ptr::drop_in_place<core::cell::BorrowRefMut> () at /checkout/src/libstd/sys_common/thread_info.rs:38
38              })
(gdb)
core::cell::{{impl}}::drop () at /checkout/src/libstd/sys_common/thread_info.rs:38
38              })
(gdb)
core::cell::Cell<usize>::set<usize> () at /checkout/src/libstd/sys_common/thread_info.rs:38
38              })
(gdb)
core::cell::Cell<usize>::replace<usize> () at /checkout/src/libstd/sys_common/thread_info.rs:38
38              })
(gdb)
core::mem::replace<usize> () at /checkout/src/libstd/sys_common/thread_info.rs:38
38              })
(gdb)
core::mem::swap<usize> () at /checkout/src/libcore/mem.rs:455
455             ptr::copy_nonoverlapping(&*y, x, 1);
(gdb)
std::sys_common::thread_info::stack_guard () at /checkout/src/libstd/sys_common/thread_info.rs:47
47          ThreadInfo::with(|info| info.stack_guard).and_then(|o| o)
(gdb)
core::option::Option<core::option::Option<usize>>::and_then<core::option::Option<usize>,usize,closure> () at /checkout/src/libcore/option.rs:585
585         pub fn and_then<U, F: FnOnce(T) -> Option<U>>(self, f: F) -> Option<U> {
(gdb)
587                 Some(x) => f(x),
(gdb)
std::sys::imp::stack_overflow::imp::signal_handler () at /checkout/src/libstd/sys/unix/stack_overflow.rs:110
110             if guard != 0 && guard - PAGE_SIZE <= addr && addr < guard {
(gdb)
106             let addr = siginfo_si_addr(info);
(gdb)
std::sys::imp::stack_overflow::imp::siginfo_si_addr () at /checkout/src/libstd/sys/unix/stack_overflow.rs:71
71              (*(info as *const siginfo_t)).si_addr as usize
(gdb)
std::sys::imp::stack_overflow::imp::signal_handler () at /checkout/src/libstd/sys/unix/stack_overflow.rs:110
110             if guard != 0 && guard - PAGE_SIZE <= addr && addr < guard {
(gdb)
116                 action.sa_sigaction = SIG_DFL;
(gdb)
__memset_power8 () at ../sysdeps/powerpc/powerpc64/power8/memset.S:34
34              cmpldi  cr7,r5,31
(gdb)
35              neg     r0,r3
(gdb)
36              mr      r10,r3
(gdb)
38              insrdi  r4,r4,8,48
(gdb)
39              insrdi  r4,r4,16,32     /* Replicate byte to word.  */
(gdb)
40              ble     cr7,L(write_LT_32)
(gdb)
42              andi.   r11,r10,15      /* Check alignment of DST.  */
(gdb)
43              insrdi  r4,r4,32,0      /* Replicate word to double word.  */
(gdb)
45              beq     L(big_aligned)
(gdb)
74              cmpldi  cr5,r5,255
(gdb)
75              dcbtst  0,r10
(gdb)
76              cmpldi  cr6,r4,0
(gdb)
77              crand   27,26,21
(gdb)
78              bt      27,L(huge_dcbz)
(gdb)
79              bge     cr5,L(huge_vector)
(gdb)
84              srdi    r8,r5,5
(gdb)
85              clrldi  r11,r5,59
(gdb)
86              cmpldi  cr6,r11,0
(gdb)
87              cmpdi   r8,0
(gdb)
88              beq     L(tail_bytes)
(gdb)
89              mtctr   r8
(gdb)
94              std     r4,0(r10)
(gdb)
95              std     r4,8(r10)
(gdb)
96              std     r4,16(r10)
(gdb)
97              std     r4,24(r10)
(gdb)
98              addi    r10,r10,32
(gdb)
99              bdz     L(tail_bytes)
(gdb)
101             std     r4,0(r10)
(gdb)
102             std     r4,8(r10)
(gdb)
103             std     r4,16(r10)
(gdb)
104             std     r4,24(r10)
(gdb)
105             addi    r10,10,32
(gdb)
106             bdnz    L(big_loop)
(gdb)
94              std     r4,0(r10)
(gdb)
95              std     r4,8(r10)
(gdb)
96              std     r4,16(r10)
(gdb)
97              std     r4,24(r10)
(gdb)
98              addi    r10,r10,32
(gdb)
99              bdz     L(tail_bytes)
(gdb)
101             std     r4,0(r10)
(gdb)
102             std     r4,8(r10)
(gdb)
103             std     r4,16(r10)
(gdb)
104             std     r4,24(r10)
(gdb)
105             addi    r10,10,32
(gdb)
106             bdnz    L(big_loop)
(gdb)
108             b       L(tail_bytes)
(gdb)
113             beqlr   cr6
(gdb)
115             srdi    r7,r11,4
(gdb)
116             clrldi  r8,r11,60
(gdb)
117             mtocrf  0x01,r7
(gdb)
120             bf      31,8f
(gdb)
121             std     r4,0(r10)
(gdb)
122             std     r4,8(r10)
(gdb)
123             addi    r10,r10,16
(gdb)
126     8:      mtocrf  0x1,r8
(gdb)
127             bf      28,4f

(gdb)
128             std     r4,0(r10)
(gdb)
129             addi    r10,r10,8
(gdb)
132     4:      bf      29,2f
(gdb)
137     2:      bf      30,1f
(gdb)

142     1:      bflr    31
(gdb)
std::sys::imp::stack_overflow::imp::signal_handler () at /checkout/src/libstd/sys/unix/stack_overflow.rs:117
117                 sigaction(signum, &action, ptr::null_mut());
(gdb)
__sigaction (sig=11, act=0x3fff8bd92e50, oact=0x0) at ../nptl/sigaction.c:34
34        if (__glibc_unlikely (sig == SIGCANCEL || sig == SIGSETXID))
(gdb)
33      {
(gdb)
40        return __libc_sigaction (sig, act, oact);
(gdb)
__libc_sigaction (sig=11, act=0x3fff8bd92e50, oact=0x0) at ../sysdeps/unix/sysv/linux/sigaction.c:40
40        if (act)
(gdb)
35      {
(gdb)
40        if (act)
(gdb)
42            kact.k_sa_handler = act->sa_handler;
(gdb)
43            memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
(gdb)
42            kact.k_sa_handler = act->sa_handler;
(gdb)
43            memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
(gdb)
__memcpy_power7 () at ../sysdeps/powerpc/powerpc64/power7/memcpy.S:34
34              cmpldi  cr1,cnt,31
(gdb)
35              neg     0,3
(gdb)
36              ble     cr1, L(copy_LT_32)  /* If move < 32 bytes use short move
(gdb)
42              andi.   10,3,15
(gdb)
43              clrldi  11,4,60
(gdb)
44              cmpld   cr6,10,11       /* SRC and DST alignments match?  */
(gdb)
46              mr      dst,3
(gdb)
47              bne     cr6,L(copy_GE_32_unaligned)
(gdb)
289             clrldi  0,0,60        /* Number of bytes until the 1st dst quadword.  */
(gdb)
290             srdi    9,cnt,4       /* Number of full quadwords remaining.  */
(gdb)
292             beq     L(copy_GE_32_unaligned_cont)
(gdb)
332             clrldi  10,cnt,60
(gdb)
333             li      6,16          /* Index for 16-bytes offsets.  */
(gdb)
334             li      7,32          /* Index for 32-bytes offsets.  */
(gdb)
335             cmpldi  cr1,10,0
(gdb)
336             srdi    8,cnt,5       /* Setup the loop counter.  */
(gdb)
337             mtocrf  0x01,9
(gdb)
338             cmpldi  cr6,9,1
(gdb)
340             lvsr    5,0,src
(gdb)
344             lvx     3,0,src
(gdb)
345             li      0,0
(gdb)
346             bf      31,L(setup_unaligned_loop)
(gdb)
362             mtctr   8
(gdb)
363             ble     cr6,L(end_unaligned_loop)
(gdb)
374             lvx     4,src,6
(gdb)
376             vperm   6,4,3,5
(gdb)
380             lvx     3,src,7
(gdb)
382             vperm   10,3,4,5
(gdb)
386             addi    src,src,32
(gdb)
387             stvx    6,0,dst
(gdb)
388             stvx    10,dst,6
(gdb)
389             addi    dst,dst,32
(gdb)
390             bdnz    L(unaligned_loop)
(gdb)
374             lvx     4,src,6
(gdb)
376             vperm   6,4,3,5
(gdb)
380             lvx     3,src,7
(gdb)
382             vperm   10,3,4,5
(gdb)
386             addi    src,src,32
(gdb)
387             stvx    6,0,dst
(gdb)
388             stvx    10,dst,6
(gdb)
389             addi    dst,dst,32
(gdb)
390             bdnz    L(unaligned_loop)
(gdb)
374             lvx     4,src,6
(gdb)
376             vperm   6,4,3,5
(gdb)
380             lvx     3,src,7
(gdb)
382             vperm   10,3,4,5
(gdb)
386             addi    src,src,32
(gdb)
387             stvx    6,0,dst
(gdb)
388             stvx    10,dst,6
(gdb)
389             addi    dst,dst,32
(gdb)
390             bdnz    L(unaligned_loop)
(gdb)
374             lvx     4,src,6
(gdb)
376             vperm   6,4,3,5
(gdb)
380             lvx     3,src,7
(gdb)
382             vperm   10,3,4,5
(gdb)
386             addi    src,src,32
(gdb)
387             stvx    6,0,dst
(gdb)
388             stvx    10,dst,6
(gdb)
389             addi    dst,dst,32
(gdb)
390             bdnz    L(unaligned_loop)
(gdb)
392             clrrdi  0,src,60
(gdb)
398             mtocrf  0x01,cnt
(gdb)
399             beqlr   cr1
(gdb)
__libc_sigaction (sig=<optimized out>, act=0x3fff8bd92e50, oact=0x0) at ../sysdeps/unix/sysv/linux/sigaction.c:44
44            kact.sa_flags = act->sa_flags;
(gdb)
52        result = INLINE_SYSCALL (rt_sigaction, 4, sig,
(gdb)
46            kact.sa_restorer = act->sa_restorer;
(gdb)
52        result = INLINE_SYSCALL (rt_sigaction, 4, sig,
(gdb)
44            kact.sa_flags = act->sa_flags;
(gdb)
46            kact.sa_restorer = act->sa_restorer;
(gdb)
52        result = INLINE_SYSCALL (rt_sigaction, 4, sig,
(gdb)
56        if (oact && result >= 0)
(gdb)
66      }
(gdb)
__sigaction (sig=<optimized out>, act=<optimized out>, oact=<optimized out>) at ../nptl/sigaction.c:41
41      }
(gdb)
std::sys::imp::stack_overflow::imp::signal_handler () at /checkout/src/libstd/sys/unix/stack_overflow.rs:121
121         }
(gdb)

Program received signal SIGSEGV, Segmentation fault.
0x00003fff8bbb1014 in __GI___libc_malloc (bytes=256) at malloc.c:2917
2917    {
(gdb) bt
#0  0x00003fff8bbb1014 in __GI___libc_malloc (bytes=256) at malloc.c:2917
#1  0x000000003342a6d4 in alloc_system::imp::allocate () at /checkout/src/liballoc_system/lib.rs:90
#2  alloc_system::__rust_allocate () at /checkout/src/liballoc_system/lib.rs:44
#3  0x000000003321c17c in _$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$::double::hf4fc146b666fa3db ()
#4  0x000000003322c474 in regex_syntax::parser::Parser::parse_expr::h69b18aabf3de27d8 ()
#5  0x0000000033239b88 in regex_syntax::ExprBuilder::parse::h99b8f77ea0168dc6 ()
#6  0x00000000331ddf94 in regex::exec::ExecBuilder::build::hcca5817b4c570623 ()
#7  0x000000003320aee0 in regex::re_unicode::Regex::new::h499bc833cb50ff25 ()
#8  0x000000003304f418 in std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::hc6b7b4797627284a ()
#9  0x000000003340f058 in std::sync::once::Once::call_inner () at /checkout/src/libstd/sync/once.rs:307
#10 0x00000000330670dc in docopt::parse::PatParser::pattern::hf6f9204f48974473 ()
#11 0x0000000033065c18 in docopt::parse::PatParser::parse::hce6cd4b7448bbe3b ()
#12 0x0000000033064590 in docopt::parse::Parser::parse::h46a0b058a05c5e45 ()
#13 0x000000003305eaa4 in docopt::parse::Parser::new::h07ab0f370bc545c9 ()
#14 0x0000000032d3fd14 in cargo::try_execute_builtin_command::h32fd38c139ab33ff ()
#15 0x0000000032d32fac in cargo::execute::h123d808e8d53a2f6 ()
#16 0x0000000032d2363c in cargo::call_main_without_stdin::h22117ce339cc3d61 ()
#17 0x0000000032d316d4 in cargo::main::h7ce25b0d0a8f899f ()
#18 0x000000003341e21c in core::ops::FnOnce::call_once<fn(),()> () at /checkout/src/libcore/ops.rs:2626
#19 std::panicking::try::do_call<fn(),()> () at /checkout/src/libstd/panicking.rs:454
#20 0x00000000334270f0 in panic_unwind::__rust_maybe_catch_panic () at /checkout/src/libpanic_unwind/lib.rs:98
#21 0x000000003341efdc in std::panicking::try<(),fn()> () at /checkout/src/libstd/panicking.rs:433
#22 std::panic::catch_unwind<fn(),()> () at /checkout/src/libstd/panic.rs:361
#23 std::rt::lang_start () at /checkout/src/libstd/rt.rs:57
#24 0x0000000032d885f8 in main ()
(gdb) disas
Dump of assembler code for function __GI___libc_malloc:
   0x00003fff8bbb0ff0 <+0>:     addis   r2,r12,18
   0x00003fff8bbb0ff4 <+4>:     addi    r2,r2,25360
   0x00003fff8bbb0ff8 <+8>:     mflr    r0
   0x00003fff8bbb0ffc <+12>:    nop
   0x00003fff8bbb1000 <+16>:    ld      r9,-31832(r2)
   0x00003fff8bbb1004 <+20>:    std     r29,-24(r1)
   0x00003fff8bbb1008 <+24>:    std     r30,-16(r1)
   0x00003fff8bbb100c <+28>:    std     r31,-8(r1)
   0x00003fff8bbb1010 <+32>:    std     r0,16(r1)
=> 0x00003fff8bbb1014 <+36>:    stdu    r1,-64(r1)
   0x00003fff8bbb1018 <+40>:    ld      r9,0(r9)
   0x00003fff8bbb101c <+44>:    cmpdi   cr7,r9,0
   0x00003fff8bbb1020 <+48>:    bne     cr7,0x3fff8bbb1160 <__GI___libc_malloc+368>
   0x00003fff8bbb1024 <+52>:    nop
   0x00003fff8bbb1028 <+56>:    mr      r29,r3
   0x00003fff8bbb102c <+60>:    ld      r9,-29824(r2)
   0x00003fff8bbb1030 <+64>:    add     r9,r9,r13
   0x00003fff8bbb1034 <+68>:    ld      r31,0(r9)
   0x00003fff8bbb1038 <+72>:    cmpdi   cr7,r31,0
   0x00003fff8bbb103c <+76>:    beq     cr7,0x3fff8bbb104c <__GI___libc_malloc+92>
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) info registers
r0             0x3342a6d4       860006100
r1             0x3fffc68c0030   70367780274224
r2             0x3fff8bcd7300   70366794707712
r3             0x100    256
r4             0x8      8
r5             0x100    256
r6             0x0      0
r7             0x0      0
r8             0x7d     125
r9             0x3fff8bcd15c8   70366794683848
r10            0x3fffc68c09c9   70367780276681
r11            0x2f     47
r12            0x3fff8bbb0ff0   70366793502704
r13            0x3fff8be0de90   70366795980432
r14            0x30     48
r15            0xfffffffffffffe50       18446744073709551184
r16            0x0      0
r17            0x1      1
r18            0x3fffc68c0790   70367780276112
r19            0x50     80
r20            0x3fffc68c0468   70367780275304
r21            0x3fffc68c0a20   70367780276768
r22            0x7d00000000     536870912000
r23            0x3fffc68c0728   70367780276008
r24            0x10     16
r25            0xffffffffffffffa0       18446744073709551520
r26            0x3fffc68c2a70   70367780285040
r27            0x3fffc68c3090   70367780286608
r28            0x3fffc68c0f38   70367780278072
r29            0x3fffc68c2a78   70367780285048
r30            0x3fffc68c0420   70367780275232
r31            0x3fffc68c0030   70367780274224
pc             0x3fff8bbb1014   0x3fff8bbb1014 <__GI___libc_malloc+36>
msr            0x800000010000d433       9223372041149797427
cr             0x24464022       608583714
lr             0x3342a6d4       0x3342a6d4 <alloc_system::__rust_allocate+52>
ctr            0x3fff8bbb0ff0   70366793502704
xer            0x0      0
orig_r3        0xc00000000000a1fc       -4611686018427346436
trap           0x300    768
(gdb) step

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb)
The program is not being run.
(gdb)
The program is not being run.
(gdb) quit
(sid_ppc64el-dchroot)infinity0 at plummer:~/test/rust-1.18.0-powerpc64le-unknown-linux-gnu$


-- 
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git




More information about the Pkg-rust-maintainers mailing list