Bug#930079: Segmentation fault (core dumped)

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug#930079: Segmentation fault (core dumped)

Osamu Aoki
Package: neovim
Version: 0.3.4-2
Severity: important

I just wanted to see how nvim behaves but ...

$ nvim
Segmentation fault (core dumped)
$ nvim -u NONE
Segmentation fault (core dumped)
$ nvim -u NORC
Segmentation fault (core dumped)


$ dpkg -l neovim
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  neovim         0.3.4-1      amd64        heavily refactored vim fork


Then I did:
 $ sudo apt-get install -t unstable neovim

0.3.4-2 installed but I get the same "Segmentation fault (core dumped)"

Since I am using -u option, this can't be vim interference...

Please at least add README.Debian if there is some limitation for use
environment.


I didn't investigate much ... it's strange since this should be at least
working at James' terminal ...

-- System Information:
Debian Release: 10.0
  APT prefers testing
  APT policy: (500, 'testing'), (10, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages neovim depends on:
ii  libc6            2.28-10
ii  libluajit-5.1-2  2.1.0~beta3+dfsg-5.1
ii  libmsgpackc2     3.0.1-3
ii  libtermkey1      0.20-3
ii  libunibilium4    2.0.0-4
ii  libuv1           1.24.1-1
ii  libvterm0        0~bzr718-1
ii  neovim-runtime   0.3.4-2

Versions of packages neovim recommends:
ii  python-neovim   0.3.0-1
ii  python3-neovim  0.3.0-1
ii  xclip           0.13-1
ii  xsel            1.2.0+git9bfc13d.20180109-1
ii  xxd             2:8.1.0875-3

Versions of packages neovim suggests:
ii  exuberant-ctags [ctags]  1:5.9~svn20110310-12
ii  vim-scripts              20180807

-- no debconf information

Reply | Threaded
Open this post in threaded view
|

Bug#930079: Segmentation fault (core dumped)

James McCoy
Control: tag -1 unreproducible moreinfo

On Fri, Jun 07, 2019 at 12:41:48AM +0900, Osamu Aoki wrote:
> I just wanted to see how nvim behaves but ...
>
> $ nvim
> Segmentation fault (core dumped)
> $ nvim -u NONE
> Segmentation fault (core dumped)
> $ nvim -u NORC
> Segmentation fault (core dumped)

Could you install neovim-dbgsym and post a backtrace?  The buildds run
nvim (and its test suite), so this isn't a common issue.

Cheers,
--
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB

Reply | Threaded
Open this post in threaded view
|

Bug#930079: Segmentation fault (core dumped)

Osamu Aoki
Hi,

Please guide me ...

On Thu, Jun 06, 2019 at 08:33:05PM -0400, James McCoy wrote:

> Control: tag -1 unreproducible moreinfo
>
> On Fri, Jun 07, 2019 at 12:41:48AM +0900, Osamu Aoki wrote:
> > I just wanted to see how nvim behaves but ...
> >
> > $ nvim
> > Segmentation fault (core dumped)
> > $ nvim -u NONE
> > Segmentation fault (core dumped)
> > $ nvim -u NORC
> > Segmentation fault (core dumped)
>
> Could you install neovim-dbgsym and post a backtrace?  The buildds run
> nvim (and its test suite), so this isn't a common issue.

OK.  Good to know.

I tried with "root" and my newly added user "foo".  It works ;-)  No
wonder normal test cases don't catch my problem.

Even after renaming all home directory .vim/* .vimrc .vimino files and
directories to other names, my normal user had problem...

I got to starting nvim under GDB.

$ gdb
GNU gdb (Debian 8.2.1-2) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) file /usr/lib/debug/.build-id/4d/1816cd8e71e23c455ca62765d0c2d48a703ef9.debug
Reading symbols from /usr/lib/debug/.build-id/4d/1816cd8e71e23c455ca62765d0c2d48a703ef9.debug...done.
(gdb) exec-file /usr/bin/nvim
(gdb) run
Starting program: /usr/bin/nvim

Program received signal SIGSEGV, Segmentation fault.
0x000055555574ae54 in multiqueue_new_child (parent=0x0)
    at ../src/nvim/event/multiqueue.c:96
96 ../src/nvim/event/multiqueue.c: No such file or directory.


After restarting GDB and placing break point here and run, I see:

   0x000055555574ae23 <loop_schedule+83>: decl   -0x73(%rax)
   0x000055555574ae26 <loop_schedule+86>: mov    $0x538,%ebx
   0x000055555574ae2b <loop_schedule+91>: add    $0x60,%rsp
   0x000055555574ae2f <loop_schedule+95>: callq  0x5555555bc200
   0x000055555574ae34 <loop_schedule+100>: add    $0x8,%rsp
   0x000055555574ae38 <loop_schedule+104>: mov    %rbp,%rdi
   0x000055555574ae3b <loop_schedule+107>: pop    %rbx
   0x000055555574ae3c <loop_schedule+108>: pop    %rbp
   0x000055555574ae3d <loop_schedule+109>: jmpq   0x5555555bd2c0
   0x000055555574ae42: data16 nopw %cs:0x0(%rax,%rax,1)
   0x000055555574ae4d: nopl   (%rax)
=> 0x000055555574ae50 <multiqueue_new_child+0>: push   %rbx
   0x000055555574ae51 <multiqueue_new_child+1>: mov    %rdi,%rbx
   0x000055555574ae54 <multiqueue_new_child+4>: addq   $0x1,0x28(%rdi)
   0x000055555574ae59 <multiqueue_new_child+9>: mov    $0x30,%edi

Step from here causes
(gdb) s

Program received signal SIGSEGV, Segmentation fault.
0x000055555574ae54 in multiqueue_new_child (parent=0x0) at ../src/nvim/event/multiqueue.c:96
96 in ../src/nvim/event/multiqueue.c


------------------------------------------
The thing is I can't locate core file in my home directory like good old
days nor in /tmp ... I thought I configured system for such .
Can you tell me where to look for...


$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 62714
max locked memory       (kbytes, -l) 65536
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 62714
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
$ cd /etc/systemd
$ grep CORE user.conf
#DefaultLimitCORE=
DefaultLimitCORE=infinity
$ cat /proc/sys/kernel/core_pattern
|/lib/systemd/systemd-coredump %P %u %g %s %t 9223372036854775808 %h %e

Hmmm... this is not /tmp/core ... ???  What does this mean...

Anyway, if you know good tutorial for gdb use on recent Debian system,
that may be what I need.

Osamu

Reply | Threaded
Open this post in threaded view
|

Bug#930079: Segmentation fault (core dumped)

James McCoy
On Fri, Jun 07, 2019 at 09:46:21PM +0900, Osamu Aoki wrote:

> Hi,
>
> Please guide me ...
>
> On Thu, Jun 06, 2019 at 08:33:05PM -0400, James McCoy wrote:
> > Control: tag -1 unreproducible moreinfo
> >
> > On Fri, Jun 07, 2019 at 12:41:48AM +0900, Osamu Aoki wrote:
> > > I just wanted to see how nvim behaves but ...
> > >
> > > $ nvim
> > > Segmentation fault (core dumped)
> > > $ nvim -u NONE
> > > Segmentation fault (core dumped)
> > > $ nvim -u NORC
> > > Segmentation fault (core dumped)
> >
> > Could you install neovim-dbgsym and post a backtrace?  The buildds run
> > nvim (and its test suite), so this isn't a common issue.
>
> OK.  Good to know.
>
> I tried with "root" and my newly added user "foo".  It works ;-)  No
> wonder normal test cases don't catch my problem.
>
> Even after renaming all home directory .vim/* .vimrc .vimino files and
> directories to other names, my normal user had problem...

https://wiki.debian.org/HowToGetABacktrace#Running_gdb gives some
information on working with gdb.

> Program received signal SIGSEGV, Segmentation fault.
> 0x000055555574ae54 in multiqueue_new_child (parent=0x0)

Hmm, a NULL pointer being passed in to multiqueue_new_child()... that's
not correct.

> ------------------------------------------
> The thing is I can't locate core file in my home directory like good old
> days nor in /tmp ... I thought I configured system for such .
> Can you tell me where to look for...
>
> $ cat /proc/sys/kernel/core_pattern
> |/lib/systemd/systemd-coredump %P %u %g %s %t 9223372036854775808 %h %e
>
> Hmmm... this is not /tmp/core ... ???  What does this mean...

It looks like you have systemd-coredump installed.  If you reproduce the
crash, then "coredumpctl -1 info" should provide the backtrace.  For
the detailed info, the wiki page's instructions would be better.

Cheers,
--
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB

Reply | Threaded
Open this post in threaded view
|

Bug#930079: Segmentation fault (core dumped)

Osamu Aoki
Hi,

Thanks for hints.

I think I have better a backtrace now.

I certainly don't have a user called "src" on my system.  So searching
for "~src" looks odd.  Also my home is /home/osamu, I don't have
 /home/osamu/src/debian
 /home/osamu/src/github
on my system.
-------
$ gdb -batch -n -ex 'set pagination off' -ex run -ex bt -ex 'bt full' -ex 'thread apply all bt full' --args nvim
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x000055555574ae54 in multiqueue_new_child (parent=0x0) at ../src/nvim/event/multiqueue.c:96
96 ../src/nvim/event/multiqueue.c: No such file or directory.
#0  0x000055555574ae54 in multiqueue_new_child (parent=0x0) at ../src/nvim/event/multiqueue.c:96
#1  0x0000555555683128 in do_os_system (argv=0x5555558bd540, input=input@entry=0x0, len=len@entry=0, output=output@entry=0x0, nread=nread@entry=0x7fffffffd0b0, silent=silent@entry=false, forward_output=false) at ../src/nvim/os/shell.c:250
#2  0x000055555568382b in os_call_shell (cmd=0x5555558be980 "unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/tmp/nvimTIHMJ0/0 ~src", opts=(kShellOptExpand | kShellOptSilent | kShellOptHideMess), extra_args=0x0) at ../src/nvim/os/shell.c:167
#3  0x00005555556c59d9 in call_shell (cmd=0x5555558be980 "unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/tmp/nvimTIHMJ0/0 ~src", opts=(kShellOptExpand | kShellOptSilent | kShellOptHideMess), extra_shell_arg=0x0) at ../src/nvim/misc1.c:2758
#4  0x000055555568694b in mch_expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd420, num_file=num_file@entry=0x7fffffffd6dc, file=file@entry=0x7fffffffd6e0, flags=flags@entry=43) at ../src/nvim/os_unix.c:405
#5  0x000055555568b200 in gen_expand_wildcards (flags=<optimized out>, file=<optimized out>, num_file=<optimized out>, pat=<optimized out>, num_pat=<optimized out>) at ../src/nvim/path.c:1174
#6  gen_expand_wildcards (num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>, num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>) at ../src/nvim/path.c:1142
#7  0x000055555568bcdc in expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd420, num_files=num_files@entry=0x7fffffffd6dc, files=files@entry=0x7fffffffd6e0, flags=flags@entry=43) at ../src/nvim/path.c:2029
#8  0x000055555568bf27 in expand_wildcards_eval (pat=<optimized out>, num_file=0x7fffffffd6dc, file=0x7fffffffd6e0, flags=43) at ../src/nvim/path.c:1997
#9  0x000055555571c800 in ExpandFromContext (xp=xp@entry=0x7fffffffd6b0, pat=<optimized out>, pat@entry=0x5555558bd5b0 "~src", num_file=num_file@entry=0x7fffffffd6dc, file=file@entry=0x7fffffffd6e0, options=options@entry=80) at ../src/nvim/ex_getln.c:4704
#10 0x000055555571df96 in ExpandOne (xp=0x7fffffffd6b0, str=0x5555558bd5b0 "~src", orig=0x0, options=80, mode=2) at ../src/nvim/ex_getln.c:3805
#11 0x0000555555688e49 in expand_env_esc (srcp=srcp@entry=0x5555558a4dcc <NameBuff+76> "~src", dst=dst@entry=0x5555558bd5b0 "~src", dstlen=<optimized out>, dstlen@entry=4096, esc=esc@entry=false, one=one@entry=true, prefix=prefix@entry=0x0) at ../src/nvim/os/env.c:389
#12 0x000055555568af00 in expand_env_save_opt (src=src@entry=0x5555558a4dcc <NameBuff+76> "~src", one=one@entry=true) at ../src/nvim/os/env.c:258
#13 0x000055555568b47d in gen_expand_wildcards (flags=<optimized out>, file=<optimized out>, num_file=<optimized out>, pat=<optimized out>, num_pat=<optimized out>) at ../src/nvim/path.c:1202
#14 gen_expand_wildcards (num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>, num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>) at ../src/nvim/path.c:1142
#15 0x000055555568bcdc in expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd990, num_files=num_files@entry=0x7fffffffdc4c, files=files@entry=0x7fffffffdc50, flags=flags@entry=43) at ../src/nvim/path.c:2029
#16 0x000055555568bf27 in expand_wildcards_eval (pat=<optimized out>, num_file=0x7fffffffdc4c, file=0x7fffffffdc50, flags=43) at ../src/nvim/path.c:1997
#17 0x000055555571c800 in ExpandFromContext (xp=xp@entry=0x7fffffffdc20, pat=<optimized out>, pat@entry=0x5555558a4dcc <NameBuff+76> "~src", num_file=num_file@entry=0x7fffffffdc4c, file=file@entry=0x7fffffffdc50, options=options@entry=80) at ../src/nvim/ex_getln.c:4704
#18 0x000055555571df96 in ExpandOne (xp=0x7fffffffdc20, str=0x5555558a4dcc <NameBuff+76> "~src", orig=0x0, options=80, mode=2) at ../src/nvim/ex_getln.c:3805
#19 0x0000555555688e49 in expand_env_esc (srcp=0x5555558b6510 ",.,/usr/share/doc,/home/osamu,/home/osamu/src/debian,/home/osamu/src/github,~src/local", dst=0x5555558a4dcc <NameBuff+76> "~src", dstlen=<optimized out>, esc=false, one=false, prefix=0x0) at ../src/nvim/os/env.c:389
#20 0x00005555556954a0 in option_expand (opt_idx=opt_idx@entry=29, val=0x5555558b6510 ",.,/usr/share/doc,/home/osamu,/home/osamu/src/debian,/home/osamu/src/github,~src/local", val@entry=0x0) at ../src/nvim/option.c:2075
#21 0x0000555555698079 in set_init_1 () at ../src/nvim/option.c:739
#22 0x00005555556e1920 in early_init () at ../src/nvim/main.c:217
#23 0x00005555555bd6e2 in main (argc=1, argv=0x7fffffffe0c8) at ../src/nvim/main.c:255
#0  0x000055555574ae54 in multiqueue_new_child (parent=0x0) at ../src/nvim/event/multiqueue.c:96
No locals.
#1  0x0000555555683128 in do_os_system (argv=0x5555558bd540, input=input@entry=0x0, len=len@entry=0, output=output@entry=0x0, nread=nread@entry=0x7fffffffd0b0, silent=silent@entry=false, forward_output=false) at ../src/nvim/os/shell.c:250
        has_input = false
        buf = {data = 0x0, cap = 0, len = 0}
        data_cb = 0x0
        prog = "/bin/bash\000\000\000\000\000\000\000\260\370\213UUU\000\000\240\301\377\377\377\177\000\000\235\000\000\000\000\000\000\000\004\"\036\367\377\177\000\000\030\000\000\000\060\000\000\000\060\301\377\377\377\177\000\000p\300\377\377\377\177\000\000\000\304\311P[\247)\323O\003\000\000\000\000\000\000j\370\213UUU\000\000\370\370\213UUU\000\000\377\377\377\377\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\240\301\377\377\377\177\000\000\071\274\035\367\377\177\000\000l\370\213UUU\000\000\000\304\311P[\247)\323\v\000\000\000\377\177\000\000\200\301\377\377\377\177\000\000\260\370\213UUU\000\000ѽ\035\367\377\177\000\000\220\301\377\377\377\177\000\000+"...
        uvproc = {process = {type = kProcessTypeUv, loop = 0x5555558a64c0 <main_loop>, data = 0x7fffffffb380, pid = 0, status = -1, refcount = 0, stopped_time = 0, cwd = 0x0, argv = 0x0, in = {closed = false, did_eof = false, uv = {pipe = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0, ipc = 0, pipe_fname = 0x0}, tcp = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0}, idle = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, idle_cb = 0x0, queue = {0x0, 0x0}}}, uvstream = 0x0, uvbuf = {base = 0x0, len = 0}, buffer = 0x0, fd = 0, read_cb = 0x0, write_cb = 0x0, cb_data = 0x0, close_cb = 0x0, internal_close_cb = 0x0, close_cb_data = 0x0, internal_data = 0x0, fpos = 0, curmem = 0, maxmem = 0, pending_reqs = 0, num_bytes = 0, events = 0x0}, out = {closed = false, did_eof = false, uv = {pipe = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0, ipc = 0, pipe_fname = 0x0}, tcp = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0}, idle = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, idle_cb = 0x0, queue = {0x0, 0x0}}}, uvstream = 0x0, uvbuf = {base = 0x0, len = 0}, buffer = 0x0, fd = 0, read_cb = 0x0, write_cb = 0x0, cb_data = 0x0, close_cb = 0x0, internal_close_cb = 0x0, close_cb_data = 0x0, internal_data = 0x0, fpos = 0, curmem = 0, maxmem = 0, pending_reqs = 0, num_bytes = 0, events = 0x0}, err = {closed = false, did_eof = false, uv = {pipe = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0, ipc = 0, pipe_fname = 0x0}, tcp = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0}, idle = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, idle_cb = 0x0, queue = {0x0, 0x0}}}, uvstream = 0x0, uvbuf = {base = 0x0, len = 0}, buffer = 0x0, fd = 0, read_cb = 0x0, write_cb = 0x0, cb_data = 0x0, close_cb = 0x0, internal_close_cb = 0x0, close_cb_data = 0x0, internal_data = 0x0, fpos = 0, curmem = 0, maxmem = 0, pending_reqs = 0, num_bytes = 0, events = 0x0}, cb = 0x0, internal_exit_cb = 0x0, internal_close_cb = 0x0, closed = false, detach = false, events = 0x0}, uv = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, exit_cb = 0x0, pid = 0, queue = {0x0, 0x0}, status = 0}, uvopts = {exit_cb = 0x0, file = 0x0, args = 0x0, env = 0x0, cwd = 0x0, flags = 0, stdio_count = 0, stdio = 0x0, uid = 0, gid = 0}, uvstdio = {{flags = UV_IGNORE, data = {stream = 0x0, fd = 0}}, {flags = UV_IGNORE, data = {stream = 0x0, fd = 0}}, {flags = UV_IGNORE, data = {stream = 0x0, fd = 0}}}}
        proc = 0x7fffffffb3a0
        events = <optimized out>
        status = <optimized out>
        exitcode = <optimized out>
#2  0x000055555568382b in os_call_shell (cmd=0x5555558be980 "unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/tmp/nvimTIHMJ0/0 ~src", opts=(kShellOptExpand | kShellOptSilent | kShellOptHideMess), extra_args=0x0) at ../src/nvim/os/shell.c:167
        input = {data = 0x0, cap = 0, len = 0}
        output = 0x0
        output_ptr = 0x0
        current_state = 1
        forward_output = <optimized out>
        nread = 0
        exitcode = <optimized out>
#3  0x00005555556c59d9 in call_shell (cmd=0x5555558be980 "unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/tmp/nvimTIHMJ0/0 ~src", opts=(kShellOptExpand | kShellOptSilent | kShellOptHideMess), extra_shell_arg=0x0) at ../src/nvim/misc1.c:2758
        retval = <optimized out>
        wait_time = 140737488344104
#4  0x000055555568694b in mch_expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd420, num_file=num_file@entry=0x7fffffffd6dc, file=file@entry=0x7fffffffd6e0, flags=flags@entry=43) at ../src/nvim/os_unix.c:405
        i = <optimized out>
        len = <optimized out>
        p = <optimized out>
        dir = <optimized out>
        extra_shell_arg = <optimized out>
        shellopts = (kShellOptExpand | kShellOptSilent | kShellOptHideMess)
        j = <optimized out>
        tempname = 0x5555558bc780 "/tmp/nvimTIHMJ0/0"
        command = <optimized out>
        fd = <optimized out>
        buffer = <optimized out>
        shell_style = <optimized out>
        check_spaces = <optimized out>
        did_find_nul = false
        ampersent = <optimized out>
        sh_vimglob_func = <synthetic pointer>
        is_fish_shell = <optimized out>
        fseek_res = <optimized out>
        templen = <optimized out>
        readlen = <optimized out>
#5  0x000055555568b200 in gen_expand_wildcards (flags=<optimized out>, file=<optimized out>, num_file=<optimized out>, pat=<optimized out>, num_pat=<optimized out>) at ../src/nvim/path.c:1174
        i = <optimized out>
        ga = {ga_len = -1, ga_maxlen = -1, ga_itemsize = -149019743, ga_growsize = 32767, ga_data = 0x5555558bf8b0}
        p = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        ga = <optimized out>
        p = <optimized out>
        recursive = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        i = <optimized out>
        i = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
#6  gen_expand_wildcards (num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>, num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>) at ../src/nvim/path.c:1142
        ga = <optimized out>
        p = <optimized out>
        add_pat = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
        i = <optimized out>
        i = <optimized out>
        ga = <optimized out>
        p = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        i = <optimized out>
        recursive = true
        i = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
#7  0x000055555568bcdc in expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd420, num_files=num_files@entry=0x7fffffffd6dc, files=files@entry=0x7fffffffd6e0, flags=flags@entry=43) at ../src/nvim/path.c:2029
        retval = <optimized out>
        i = <optimized out>
        j = <optimized out>
        p = <optimized out>
        non_suf_match = <optimized out>
#8  0x000055555568bf27 in expand_wildcards_eval (pat=<optimized out>, num_file=0x7fffffffd6dc, file=0x7fffffffd6e0, flags=43) at ../src/nvim/path.c:1997
        ret = 0
        eval_pat = 0x0
        exp_pat = 0x5555558bd5b0 "~src"
        ignored_msg = 0x0
        usedlen = 140737342655584
#9  0x000055555571c800 in ExpandFromContext (xp=xp@entry=0x7fffffffd6b0, pat=<optimized out>, pat@entry=0x5555558bd5b0 "~src", num_file=num_file@entry=0x7fffffffd6dc, file=file@entry=0x7fffffffd6e0, options=options@entry=80) at ../src/nvim/ex_getln.c:4704
        free_pat = 0
        i = <optimized out>
        regmatch = {regprog = 0x0, startp = {0x7ffff76aaa01 "getpwnam_r", 0x0, 0xd329a75b50c9c400 <error: Cannot access memory at address 0xd329a75b50c9c400>, 0x0, 0x7fffffffd5c0 "\001", 0x400 <error: Cannot access memory at address 0x400>, 0x0, 0x7fffffffd5b8 "", 0xd329a75b50c9c400 <error: Cannot access memory at address 0xd329a75b50c9c400>, 0x7ffff76aaa01 "getpwnam_r"}, endp = {0x0, 0x0, 0xffffffffffffff60 <error: Cannot access memory at address 0xffffffffffffff60>, 0x400 <error: Cannot access memory at address 0x400>, 0x7ffff76e5ee0 <resbuf> "0\224\212UUU", 0x0, 0x7ffff75ed86a <__getpwnam_r+570> "H\213D$8A\203\376\001\017\204", <incomplete sequence \357>, 0xf <error: Cannot access memory at address 0xf>, 0x5555558bd5b1 "src", 0x5555558a9430 "foo"}, rm_ic = 192}
        ret = <optimized out>
        flags = <optimized out>
#10 0x000055555571df96 in ExpandOne (xp=0x7fffffffd6b0, str=0x5555558bd5b0 "~src", orig=0x0, options=80, mode=2) at ../src/nvim/ex_getln.c:3805
        ss = 0x0
        findex = 0
        orig_save = 0x0
        orig_saved = 1
        i = <optimized out>
        non_suf_match = <optimized out>
#11 0x0000555555688e49 in expand_env_esc (srcp=srcp@entry=0x5555558a4dcc <NameBuff+76> "~src", dst=dst@entry=0x5555558bd5b0 "~src", dstlen=<optimized out>, dstlen@entry=4096, esc=esc@entry=false, one=one@entry=true, prefix=prefix@entry=0x0) at ../src/nvim/os/env.c:389
        xpc = {xp_context = 2, xp_pattern = 0x0, xp_pattern_len = 0, xp_arg = 0x0, xp_scriptID = -112, xp_backslash = 0, xp_shell = 0, xp_numfiles = 0, xp_files = 0x0, xp_line = 0x0, xp_col = 32}
        c = <optimized out>
        tail = <optimized out>
        var = <optimized out>
        copy_char = true
        mustfree = <optimized out>
        at_start = true
        prefix_len = 0
        src = 0x5555558a4dcc <NameBuff+76> "~src"
#12 0x000055555568af00 in expand_env_save_opt (src=src@entry=0x5555558a4dcc <NameBuff+76> "~src", one=one@entry=true) at ../src/nvim/os/env.c:258
        p = 0x5555558bd5b0 "~src"
#13 0x000055555568b47d in gen_expand_wildcards (flags=<optimized out>, file=<optimized out>, num_file=<optimized out>, pat=<optimized out>, num_pat=<optimized out>) at ../src/nvim/path.c:1202
        i = <optimized out>
        ga = {ga_len = 0, ga_maxlen = 0, ga_itemsize = 8, ga_growsize = 30, ga_data = 0x0}
        p = 0x5555558a4dcc <NameBuff+76> "~src"
        add_pat = -1
        did_expand_in_path = false
        ga = <optimized out>
        p = <optimized out>
        recursive = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        i = <optimized out>
        i = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
#14 gen_expand_wildcards (num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>, num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>) at ../src/nvim/path.c:1142
        ga = <optimized out>
        p = <optimized out>
        add_pat = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
        i = <optimized out>
        i = <optimized out>
        ga = <optimized out>
        p = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        i = <optimized out>
        recursive = true
        i = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
#15 0x000055555568bcdc in expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd990, num_files=num_files@entry=0x7fffffffdc4c, files=files@entry=0x7fffffffdc50, flags=flags@entry=43) at ../src/nvim/path.c:2029
        retval = <optimized out>
        i = <optimized out>
        j = <optimized out>
        p = <optimized out>
        non_suf_match = <optimized out>
#16 0x000055555568bf27 in expand_wildcards_eval (pat=<optimized out>, num_file=0x7fffffffdc4c, file=0x7fffffffdc50, flags=43) at ../src/nvim/path.c:1997
        ret = 0
        eval_pat = 0x0
        exp_pat = 0x5555558a4dcc <NameBuff+76> "~src"
        ignored_msg = 0x0
        usedlen = 140737342655584
#17 0x000055555571c800 in ExpandFromContext (xp=xp@entry=0x7fffffffdc20, pat=<optimized out>, pat@entry=0x5555558a4dcc <NameBuff+76> "~src", num_file=num_file@entry=0x7fffffffdc4c, file=file@entry=0x7fffffffdc50, options=options@entry=80) at ../src/nvim/ex_getln.c:4704
        free_pat = 0
        i = <optimized out>
        regmatch = {regprog = 0x7fffffffda50, startp = {0x7ffff76aaa01 "getpwnam_r", 0x0, 0xd329a75b50c9c400 <error: Cannot access memory at address 0xd329a75b50c9c400>, 0x0, 0x7fffffffdb30 "\001", 0x400 <error: Cannot access memory at address 0x400>, 0x0, 0x7fffffffdb28 "", 0xd329a75b50c9c400 <error: Cannot access memory at address 0xd329a75b50c9c400>, 0x7ffff76aaa01 "getpwnam_r"}, endp = {0x0, 0x0, 0xffffffffffffff60 <error: Cannot access memory at address 0xffffffffffffff60>, 0x400 <error: Cannot access memory at address 0x400>, 0x7ffff76e5ee0 <resbuf> "0\224\212UUU", 0x0, 0x7ffff75ed86a <__getpwnam_r+570> "H\213D$8A\203\376\001\017\204", <incomplete sequence \357>, 0x1ef <error: Cannot access memory at address 0x1ef>, 0x5555558a4dcd <NameBuff+77> "src", 0x5555558a9430 "foo"}, rm_ic = 48}
        ret = <optimized out>
        flags = <optimized out>
#18 0x000055555571df96 in ExpandOne (xp=0x7fffffffdc20, str=0x5555558a4dcc <NameBuff+76> "~src", orig=0x0, options=80, mode=2) at ../src/nvim/ex_getln.c:3805
        ss = 0x0
        findex = 0
        orig_save = 0x0
        orig_saved = 1
        i = <optimized out>
        non_suf_match = <optimized out>
#19 0x0000555555688e49 in expand_env_esc (srcp=0x5555558b6510 ",.,/usr/share/doc,/home/osamu,/home/osamu/src/debian,/home/osamu/src/github,~src/local", dst=0x5555558a4dcc <NameBuff+76> "~src", dstlen=<optimized out>, esc=false, one=false, prefix=0x0) at ../src/nvim/os/env.c:389
        xpc = {xp_context = 2, xp_pattern = 0x0, xp_pattern_len = 0, xp_arg = 0x0, xp_scriptID = 0, xp_backslash = 0, xp_shell = 0, xp_numfiles = -1, xp_files = 0x0, xp_line = 0x0, xp_col = 0}
        c = <optimized out>
        tail = <optimized out>
        var = <optimized out>
        copy_char = true
        mustfree = <optimized out>
        at_start = true
        prefix_len = 0
        src = 0x5555558b655c "~src/local"
#20 0x00005555556954a0 in option_expand (opt_idx=opt_idx@entry=29, val=0x5555558b6510 ",.,/usr/share/doc,/home/osamu,/home/osamu/src/debian,/home/osamu/src/github,~src/local", val@entry=0x0) at ../src/nvim/option.c:2075
No locals.
#21 0x0000555555698079 in set_init_1 () at ../src/nvim/option.c:739
        p = <optimized out>
        opt_idx = 29
        backupdir = <optimized out>
        backupdir_len = <optimized out>
        p = <optimized out>
#22 0x00005555556e1920 in early_init () at ../src/nvim/main.c:217
No locals.
#23 0x00005555555bd6e2 in main (argc=1, argv=0x7fffffffe0c8) at ../src/nvim/main.c:255
        fname = 0x0
        params = {argc = 1, argv = 0x7fffffffe0c8, use_vimrc = 0x0, n_commands = 0, commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, cmds_tofree = "\000\000\000\000\000\000\000\000\000", n_pre_commands = 0, pre_commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, edit_type = 0, tagname = 0x0, use_ef = 0x0, input_isatty = false, output_isatty = false, err_isatty = false, no_swap_file = 0, use_debug_break_level = -1, window_count = -1, window_layout = 0, diff_mode = 0, listen_addr = 0x0}
        reading_tty = <optimized out>
        reading_excmds = <optimized out>
        early_ui = <optimized out>

Thread 1 (Thread 0x7ffff750cd00 (LWP 8805)):
#0  0x000055555574ae54 in multiqueue_new_child (parent=0x0) at ../src/nvim/event/multiqueue.c:96
No locals.
#1  0x0000555555683128 in do_os_system (argv=0x5555558bd540, input=input@entry=0x0, len=len@entry=0, output=output@entry=0x0, nread=nread@entry=0x7fffffffd0b0, silent=silent@entry=false, forward_output=false) at ../src/nvim/os/shell.c:250
        has_input = false
        buf = {data = 0x0, cap = 0, len = 0}
        data_cb = 0x0
        prog = "/bin/bash\000\000\000\000\000\000\000\260\370\213UUU\000\000\240\301\377\377\377\177\000\000\235\000\000\000\000\000\000\000\004\"\036\367\377\177\000\000\030\000\000\000\060\000\000\000\060\301\377\377\377\177\000\000p\300\377\377\377\177\000\000\000\304\311P[\247)\323O\003\000\000\000\000\000\000j\370\213UUU\000\000\370\370\213UUU\000\000\377\377\377\377\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\240\301\377\377\377\177\000\000\071\274\035\367\377\177\000\000l\370\213UUU\000\000\000\304\311P[\247)\323\v\000\000\000\377\177\000\000\200\301\377\377\377\177\000\000\260\370\213UUU\000\000ѽ\035\367\377\177\000\000\220\301\377\377\377\177\000\000+"...
        uvproc = {process = {type = kProcessTypeUv, loop = 0x5555558a64c0 <main_loop>, data = 0x7fffffffb380, pid = 0, status = -1, refcount = 0, stopped_time = 0, cwd = 0x0, argv = 0x0, in = {closed = false, did_eof = false, uv = {pipe = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0, ipc = 0, pipe_fname = 0x0}, tcp = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0}, idle = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, idle_cb = 0x0, queue = {0x0, 0x0}}}, uvstream = 0x0, uvbuf = {base = 0x0, len = 0}, buffer = 0x0, fd = 0, read_cb = 0x0, write_cb = 0x0, cb_data = 0x0, close_cb = 0x0, internal_close_cb = 0x0, close_cb_data = 0x0, internal_data = 0x0, fpos = 0, curmem = 0, maxmem = 0, pending_reqs = 0, num_bytes = 0, events = 0x0}, out = {closed = false, did_eof = false, uv = {pipe = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0, ipc = 0, pipe_fname = 0x0}, tcp = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0}, idle = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, idle_cb = 0x0, queue = {0x0, 0x0}}}, uvstream = 0x0, uvbuf = {base = 0x0, len = 0}, buffer = 0x0, fd = 0, read_cb = 0x0, write_cb = 0x0, cb_data = 0x0, close_cb = 0x0, internal_close_cb = 0x0, close_cb_data = 0x0, internal_data = 0x0, fpos = 0, curmem = 0, maxmem = 0, pending_reqs = 0, num_bytes = 0, events = 0x0}, err = {closed = false, did_eof = false, uv = {pipe = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0, ipc = 0, pipe_fname = 0x0}, tcp = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, write_queue_size = 0, alloc_cb = 0x0, read_cb = 0x0, connect_req = 0x0, shutdown_req = 0x0, io_watcher = {cb = 0x0, pending_queue = {0x0, 0x0}, watcher_queue = {0x0, 0x0}, pevents = 0, events = 0, fd = 0}, write_queue = {0x0, 0x0}, write_completed_queue = {0x0, 0x0}, connection_cb = 0x0, delayed_error = 0, accepted_fd = 0, queued_fds = 0x0}, idle = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, idle_cb = 0x0, queue = {0x0, 0x0}}}, uvstream = 0x0, uvbuf = {base = 0x0, len = 0}, buffer = 0x0, fd = 0, read_cb = 0x0, write_cb = 0x0, cb_data = 0x0, close_cb = 0x0, internal_close_cb = 0x0, close_cb_data = 0x0, internal_data = 0x0, fpos = 0, curmem = 0, maxmem = 0, pending_reqs = 0, num_bytes = 0, events = 0x0}, cb = 0x0, internal_exit_cb = 0x0, internal_close_cb = 0x0, closed = false, detach = false, events = 0x0}, uv = {data = 0x0, loop = 0x0, type = UV_UNKNOWN_HANDLE, close_cb = 0x0, handle_queue = {0x0, 0x0}, u = {fd = 0, reserved = {0x0, 0x0, 0x0, 0x0}}, next_closing = 0x0, flags = 0, exit_cb = 0x0, pid = 0, queue = {0x0, 0x0}, status = 0}, uvopts = {exit_cb = 0x0, file = 0x0, args = 0x0, env = 0x0, cwd = 0x0, flags = 0, stdio_count = 0, stdio = 0x0, uid = 0, gid = 0}, uvstdio = {{flags = UV_IGNORE, data = {stream = 0x0, fd = 0}}, {flags = UV_IGNORE, data = {stream = 0x0, fd = 0}}, {flags = UV_IGNORE, data = {stream = 0x0, fd = 0}}}}
        proc = 0x7fffffffb3a0
        events = <optimized out>
        status = <optimized out>
        exitcode = <optimized out>
#2  0x000055555568382b in os_call_shell (cmd=0x5555558be980 "unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/tmp/nvimTIHMJ0/0 ~src", opts=(kShellOptExpand | kShellOptSilent | kShellOptHideMess), extra_args=0x0) at ../src/nvim/os/shell.c:167
        input = {data = 0x0, cap = 0, len = 0}
        output = 0x0
        output_ptr = 0x0
        current_state = 1
        forward_output = <optimized out>
        nread = 0
        exitcode = <optimized out>
#3  0x00005555556c59d9 in call_shell (cmd=0x5555558be980 "unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/tmp/nvimTIHMJ0/0 ~src", opts=(kShellOptExpand | kShellOptSilent | kShellOptHideMess), extra_shell_arg=0x0) at ../src/nvim/misc1.c:2758
        retval = <optimized out>
        wait_time = 140737488344104
#4  0x000055555568694b in mch_expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd420, num_file=num_file@entry=0x7fffffffd6dc, file=file@entry=0x7fffffffd6e0, flags=flags@entry=43) at ../src/nvim/os_unix.c:405
        i = <optimized out>
        len = <optimized out>
        p = <optimized out>
        dir = <optimized out>
        extra_shell_arg = <optimized out>
        shellopts = (kShellOptExpand | kShellOptSilent | kShellOptHideMess)
        j = <optimized out>
        tempname = 0x5555558bc780 "/tmp/nvimTIHMJ0/0"
        command = <optimized out>
        fd = <optimized out>
        buffer = <optimized out>
        shell_style = <optimized out>
        check_spaces = <optimized out>
        did_find_nul = false
        ampersent = <optimized out>
        sh_vimglob_func = <synthetic pointer>
        is_fish_shell = <optimized out>
        fseek_res = <optimized out>
        templen = <optimized out>
        readlen = <optimized out>
#5  0x000055555568b200 in gen_expand_wildcards (flags=<optimized out>, file=<optimized out>, num_file=<optimized out>, pat=<optimized out>, num_pat=<optimized out>) at ../src/nvim/path.c:1174
        i = <optimized out>
        ga = {ga_len = -1, ga_maxlen = -1, ga_itemsize = -149019743, ga_growsize = 32767, ga_data = 0x5555558bf8b0}
        p = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        ga = <optimized out>
        p = <optimized out>
        recursive = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        i = <optimized out>
        i = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
#6  gen_expand_wildcards (num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>, num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>) at ../src/nvim/path.c:1142
        ga = <optimized out>
        p = <optimized out>
        add_pat = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
        i = <optimized out>
        i = <optimized out>
        ga = <optimized out>
        p = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        i = <optimized out>
        recursive = true
        i = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
#7  0x000055555568bcdc in expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd420, num_files=num_files@entry=0x7fffffffd6dc, files=files@entry=0x7fffffffd6e0, flags=flags@entry=43) at ../src/nvim/path.c:2029
        retval = <optimized out>
        i = <optimized out>
        j = <optimized out>
        p = <optimized out>
        non_suf_match = <optimized out>
#8  0x000055555568bf27 in expand_wildcards_eval (pat=<optimized out>, num_file=0x7fffffffd6dc, file=0x7fffffffd6e0, flags=43) at ../src/nvim/path.c:1997
        ret = 0
        eval_pat = 0x0
        exp_pat = 0x5555558bd5b0 "~src"
        ignored_msg = 0x0
        usedlen = 140737342655584
#9  0x000055555571c800 in ExpandFromContext (xp=xp@entry=0x7fffffffd6b0, pat=<optimized out>, pat@entry=0x5555558bd5b0 "~src", num_file=num_file@entry=0x7fffffffd6dc, file=file@entry=0x7fffffffd6e0, options=options@entry=80) at ../src/nvim/ex_getln.c:4704
        free_pat = 0
        i = <optimized out>
        regmatch = {regprog = 0x0, startp = {0x7ffff76aaa01 "getpwnam_r", 0x0, 0xd329a75b50c9c400 <error: Cannot access memory at address 0xd329a75b50c9c400>, 0x0, 0x7fffffffd5c0 "\001", 0x400 <error: Cannot access memory at address 0x400>, 0x0, 0x7fffffffd5b8 "", 0xd329a75b50c9c400 <error: Cannot access memory at address 0xd329a75b50c9c400>, 0x7ffff76aaa01 "getpwnam_r"}, endp = {0x0, 0x0, 0xffffffffffffff60 <error: Cannot access memory at address 0xffffffffffffff60>, 0x400 <error: Cannot access memory at address 0x400>, 0x7ffff76e5ee0 <resbuf> "0\224\212UUU", 0x0, 0x7ffff75ed86a <__getpwnam_r+570> "H\213D$8A\203\376\001\017\204", <incomplete sequence \357>, 0xf <error: Cannot access memory at address 0xf>, 0x5555558bd5b1 "src", 0x5555558a9430 "foo"}, rm_ic = 192}
        ret = <optimized out>
        flags = <optimized out>
#10 0x000055555571df96 in ExpandOne (xp=0x7fffffffd6b0, str=0x5555558bd5b0 "~src", orig=0x0, options=80, mode=2) at ../src/nvim/ex_getln.c:3805
        ss = 0x0
        findex = 0
        orig_save = 0x0
        orig_saved = 1
        i = <optimized out>
        non_suf_match = <optimized out>
#11 0x0000555555688e49 in expand_env_esc (srcp=srcp@entry=0x5555558a4dcc <NameBuff+76> "~src", dst=dst@entry=0x5555558bd5b0 "~src", dstlen=<optimized out>, dstlen@entry=4096, esc=esc@entry=false, one=one@entry=true, prefix=prefix@entry=0x0) at ../src/nvim/os/env.c:389
        xpc = {xp_context = 2, xp_pattern = 0x0, xp_pattern_len = 0, xp_arg = 0x0, xp_scriptID = -112, xp_backslash = 0, xp_shell = 0, xp_numfiles = 0, xp_files = 0x0, xp_line = 0x0, xp_col = 32}
        c = <optimized out>
        tail = <optimized out>
        var = <optimized out>
        copy_char = true
        mustfree = <optimized out>
        at_start = true
        prefix_len = 0
        src = 0x5555558a4dcc <NameBuff+76> "~src"
#12 0x000055555568af00 in expand_env_save_opt (src=src@entry=0x5555558a4dcc <NameBuff+76> "~src", one=one@entry=true) at ../src/nvim/os/env.c:258
        p = 0x5555558bd5b0 "~src"
#13 0x000055555568b47d in gen_expand_wildcards (flags=<optimized out>, file=<optimized out>, num_file=<optimized out>, pat=<optimized out>, num_pat=<optimized out>) at ../src/nvim/path.c:1202
        i = <optimized out>
        ga = {ga_len = 0, ga_maxlen = 0, ga_itemsize = 8, ga_growsize = 30, ga_data = 0x0}
        p = 0x5555558a4dcc <NameBuff+76> "~src"
        add_pat = -1
        did_expand_in_path = false
        ga = <optimized out>
        p = <optimized out>
        recursive = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        i = <optimized out>
        i = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
#14 gen_expand_wildcards (num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>, num_pat=<optimized out>, pat=<optimized out>, num_file=<optimized out>, file=<optimized out>, flags=<optimized out>) at ../src/nvim/path.c:1142
        ga = <optimized out>
        p = <optimized out>
        add_pat = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
        i = <optimized out>
        i = <optimized out>
        ga = <optimized out>
        p = <optimized out>
        add_pat = <optimized out>
        did_expand_in_path = <optimized out>
        i = <optimized out>
        recursive = true
        i = <optimized out>
        tmp_add_pat = <optimized out>
        t = <optimized out>
#15 0x000055555568bcdc in expand_wildcards (num_pat=num_pat@entry=1, pat=pat@entry=0x7fffffffd990, num_files=num_files@entry=0x7fffffffdc4c, files=files@entry=0x7fffffffdc50, flags=flags@entry=43) at ../src/nvim/path.c:2029
        retval = <optimized out>
        i = <optimized out>
        j = <optimized out>
        p = <optimized out>
        non_suf_match = <optimized out>
#16 0x000055555568bf27 in expand_wildcards_eval (pat=<optimized out>, num_file=0x7fffffffdc4c, file=0x7fffffffdc50, flags=43) at ../src/nvim/path.c:1997
        ret = 0
        eval_pat = 0x0
        exp_pat = 0x5555558a4dcc <NameBuff+76> "~src"
        ignored_msg = 0x0
        usedlen = 140737342655584
#17 0x000055555571c800 in ExpandFromContext (xp=xp@entry=0x7fffffffdc20, pat=<optimized out>, pat@entry=0x5555558a4dcc <NameBuff+76> "~src", num_file=num_file@entry=0x7fffffffdc4c, file=file@entry=0x7fffffffdc50, options=options@entry=80) at ../src/nvim/ex_getln.c:4704
        free_pat = 0
        i = <optimized out>
        regmatch = {regprog = 0x7fffffffda50, startp = {0x7ffff76aaa01 "getpwnam_r", 0x0, 0xd329a75b50c9c400 <error: Cannot access memory at address 0xd329a75b50c9c400>, 0x0, 0x7fffffffdb30 "\001", 0x400 <error: Cannot access memory at address 0x400>, 0x0, 0x7fffffffdb28 "", 0xd329a75b50c9c400 <error: Cannot access memory at address 0xd329a75b50c9c400>, 0x7ffff76aaa01 "getpwnam_r"}, endp = {0x0, 0x0, 0xffffffffffffff60 <error: Cannot access memory at address 0xffffffffffffff60>, 0x400 <error: Cannot access memory at address 0x400>, 0x7ffff76e5ee0 <resbuf> "0\224\212UUU", 0x0, 0x7ffff75ed86a <__getpwnam_r+570> "H\213D$8A\203\376\001\017\204", <incomplete sequence \357>, 0x1ef <error: Cannot access memory at address 0x1ef>, 0x5555558a4dcd <NameBuff+77> "src", 0x5555558a9430 "foo"}, rm_ic = 48}
        ret = <optimized out>
        flags = <optimized out>
#18 0x000055555571df96 in ExpandOne (xp=0x7fffffffdc20, str=0x5555558a4dcc <NameBuff+76> "~src", orig=0x0, options=80, mode=2) at ../src/nvim/ex_getln.c:3805
        ss = 0x0
        findex = 0
        orig_save = 0x0
        orig_saved = 1
        i = <optimized out>
        non_suf_match = <optimized out>
#19 0x0000555555688e49 in expand_env_esc (srcp=0x5555558b6510 ",.,/usr/share/doc,/home/osamu,/home/osamu/src/debian,/home/osamu/src/github,~src/local", dst=0x5555558a4dcc <NameBuff+76> "~src", dstlen=<optimized out>, esc=false, one=false, prefix=0x0) at ../src/nvim/os/env.c:389
        xpc = {xp_context = 2, xp_pattern = 0x0, xp_pattern_len = 0, xp_arg = 0x0, xp_scriptID = 0, xp_backslash = 0, xp_shell = 0, xp_numfiles = -1, xp_files = 0x0, xp_line = 0x0, xp_col = 0}
        c = <optimized out>
        tail = <optimized out>
        var = <optimized out>
        copy_char = true
        mustfree = <optimized out>
        at_start = true
        prefix_len = 0
        src = 0x5555558b655c "~src/local"
#20 0x00005555556954a0 in option_expand (opt_idx=opt_idx@entry=29, val=0x5555558b6510 ",.,/usr/share/doc,/home/osamu,/home/osamu/src/debian,/home/osamu/src/github,~src/local", val@entry=0x0) at ../src/nvim/option.c:2075
No locals.
#21 0x0000555555698079 in set_init_1 () at ../src/nvim/option.c:739
        p = <optimized out>
        opt_idx = 29
        backupdir = <optimized out>
        backupdir_len = <optimized out>
        p = <optimized out>
#22 0x00005555556e1920 in early_init () at ../src/nvim/main.c:217
No locals.
#23 0x00005555555bd6e2 in main (argc=1, argv=0x7fffffffe0c8) at ../src/nvim/main.c:255
        fname = 0x0
        params = {argc = 1, argv = 0x7fffffffe0c8, use_vimrc = 0x0, n_commands = 0, commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, cmds_tofree = "\000\000\000\000\000\000\000\000\000", n_pre_commands = 0, pre_commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, edit_type = 0, tagname = 0x0, use_ef = 0x0, input_isatty = false, output_isatty = false, err_isatty = false, no_swap_file = 0, use_debug_break_level = -1, window_count = -1, window_layout = 0, diff_mode = 0, listen_addr = 0x0}
        reading_tty = <optimized out>
        reading_excmds = <optimized out>
        early_ui = <optimized out>

Reply | Threaded
Open this post in threaded view
|

Bug#930079: Info received (Bug#930079: Segmentation fault (core dumped))

Osamu Aoki
In reply to this post by Osamu Aoki
Control: tag -1 - unreproducible
Control: tag -1 - moreinfo
Control: retitle -1 coredump on broken $CDPATH

How to reproduce problem:

---
$ CDPATH= nvim
 ... runs great
$ CDPATH=~bogus nvim
Segmentation fault (core dumped)
---

Here, I have no use called "bugus" on this machine.
(Please don't ask me why I had this stupid line.)

I think if broken $CDPATH with non-existing user name exists in $CDPATH,
it should ignore it as other programs (or exit with warning.)

Osamu

> 930079: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930079
> Debian Bug Tracking System
> Contact [hidden email] with problems

Reply | Threaded
Open this post in threaded view
|

Bug#930079: Segmentation fault (core dumped) with CDPATH=~bogus

Osamu Aoki
In reply to this post by Osamu Aoki
Hi,

Reported to upstream as:

 https://github.com/neovim/neovim/issues/10172

Regards,

Osamu

Reply | Threaded
Open this post in threaded view
|

Bug#930079: Fixed upstream

Osamu Aoki
In reply to this post by Osamu Aoki