-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lxcfs terminated with signal SIGSEGV #656
Comments
case 3 (lxcfs-5.0.2 fuse2 on almalinux 9.3)$gdb /usr/local/bin/lxcfs /data0/lxcfs/core.lxcfs.0.7e566a3e34d84d4095b98f420f9eb714.36559.1723806344000000
GNU gdb (GDB) Red Hat Enterprise Linux 10.2-13.el9
Copyright (C) 2021 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-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://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"...
Reading symbols from /usr/local/bin/lxcfs...
[New LWP 17329]
[New LWP 36559]
[New LWP 3542106]
[New LWP 36632]
[New LWP 3506561]
[New LWP 17320]
[New LWP 17332]
[New LWP 17322]
[New LWP 17338]
[New LWP 17343]
[New LWP 17348]
[New LWP 17356]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/local/bin/lxcfs /var/lib/lxcfs/ --enable-cfs --enable-pidfd --enable-loada'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f34c3caf91e in __GI___libc_free (mem=0x7f3338008) at malloc.c:3235
3235 if (chunk_is_mmapped (p)) /* release mmapped memory. */
[Current thread is 1 (Thread 0x7f34abfff640 (LWP 17329))]
(gdb) set pagination off
(gdb) bt full
#0 0x00007f34c3caf91e in __GI___libc_free (mem=0x7f3338008) at malloc.c:3235
ar_ptr = <optimized out>
p = <optimized out>
err = <optimized out>
#1 0x00007f34c4384e59 in do_release_file_info (fi=0x7f34abffec30) at ../src/utils.c:154
f = 0x7f3338008630
#2 0x00007f34c437a2d7 in proc_release (path=0x7f331c000bf0 "/proc/loadavg", fi=0x7f34abffec30) at ../src/proc_fuse.c:192
No locals.
#3 0x000055bea1eb2b1b in do_proc_release (path=0x7f331c000bf0 "/proc/loadavg", fi=0x7f34abffec30) at ../src/lxcfs.c:564
error = 0x0
__proc_release = 0x7f34c437a2bb <proc_release>
__func__ = "do_proc_release"
#4 0x000055bea1eb3771 in lxcfs_release (path=0x7f331c000bf0 "/proc/loadavg", fi=0x7f34abffec30) at ../src/lxcfs.c:908
ret = 32563
#5 0x00007f34c400ccb2 in fuse_do_release (f=f@entry=0x55bea3cdc810, ino=ino@entry=4, path=0x7f331c000bf0 "/proc/loadavg", fi=fi@entry=0x7f34abffec30) at fuse.c:3086
node = <optimized out>
unlink_hidden = 0
compatpath = <optimized out>
__PRETTY_FUNCTION__ = "fuse_do_release"
#6 0x00007f34c400f5a3 in fuse_lib_release (req=0x7f331c002ae0, ino=4, fi=0x7f34abffec30) at fuse.c:3874
f = 0x55bea3cdc810
d = {id = 0, cond = {__data = {__lock = 0, __futex = 0, __total_seq = 511101108348, __wakeup_seq = 390842024046, __woken_seq = 8, __mutex = 0xc2f10, __nwaiters = 469762080, __broadcast_seq = 32563}, __size = "\000\000\000\000\000\000\000\000|\000\000\000w\000\000\000n\000\000\000[\000\000\000\b\000\000\000\000\000\000\000\020/\f\000\000\000\000\000 \000\000\034\063\177\000", __align = 0}, finished = 128}
path = 0x7f331c000bf0 "/proc/loadavg"
err = <optimized out>
#7 0x00007f34c4015f44 in do_release (req=<optimized out>, nodeid=<optimized out>, inarg=<optimized out>) at fuse_lowlevel.c:1345
arg = <optimized out>
fi = {flags = 32768, fh_old = 139857959618096, writepage = 0, direct_io = 0, keep_cache = 0, flush = 0, nonseekable = 0, flock_release = 0, padding = 0, fh = 0, lock_owner = 0}
#8 0x00007f34c4016b6b in fuse_ll_process_buf (data=0x55bea3cdcb00, buf=0x7f34abffee00, ch=<optimized out>) at fuse_lowlevel.c:2441
f = 0x55bea3cdcb00
write_header_size = 80
bufv = {count = 1, idx = 0, off = 0, buf = {{size = 64, flags = 0, mem = 0x7f33f0000c30, fd = 0, pos = 0}}}
tmpbuf = {count = 1, idx = 0, off = 0, buf = {{size = 80, flags = 0, mem = 0x0, fd = -1, pos = 0}}}
in = 0x7f33f0000c30
inarg = 0x7f33f0000c58
req = <optimized out>
mbuf = 0x0
err = <optimized out>
res = <optimized out>
#9 0x00007f34c4013401 in fuse_do_work (data=0x7f33f0023fe0) at fuse_loop_mt.c:117
isforget = 0
ch = 0x55bea3cdc570
fbuf = {size = 64, flags = 0, mem = 0x7f33f0000c30, fd = 0, pos = 0}
res = <optimized out>
w = 0x7f33f0023fe0
mt = 0x7ffdf572e990
#10 0x00007f34c3c9f802 in start_thread (arg=<optimized out>) at pthread_create.c:443
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139864548805136, -713775302213435514, 139864200705600, 0, 139864599819568, 0, 608406904453922694, 608459526120079238}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#11 0x00007f34c3c3f450 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals.
(gdb) quit
Aug 16 19:05:44 kernel: lxcfs[17329]: segfault at 7f3338000 ip 00007f34c3caf91e sp 00007f34abffea80 error 4 in libc.so.6[7f34c3c28000+175000] likely on CPU 90 (core 26, socket 0)
Aug 16 19:05:44 kernel: Code: f9 ff 48 89 fd e9 b7 fd ff ff 66 90 f3 0f 1e fa 48 85 ff 0f 84 9b 00 00 00 55 48 8d 77 f0 53 48 83 ec 18 48 8b 1d e2 a4 14 00 <48> 8b 47 f8 64 8b 2b a8 02 75 37 48 8b 15 68 a4 14 00 64 48 83 3a
|
case 4: double free or corruption (fasttop) (lxcfs-5.0.2 fuse2 on rockylinux 8.7)$ gdb /usr/local/bin/lxcfs /data0/lxcfs/core.lxcfs.0.0cba0bdc82154b01a3a094f3bf35779f.41912.1727414072000000
GNU gdb (GDB) Rocky Linux 8.2-20.el8.0.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-redhat-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"...
Reading symbols from /usr/local/bin/lxcfs...done.
[New LWP 4016582]
[New LWP 41966]
[New LWP 41912]
[New LWP 3877292]
[New LWP 4016484]
[New LWP 4016494]
[New LWP 4016502]
[New LWP 4016504]
[New LWP 4016555]
[New LWP 4016561]
[New LWP 4016578]
[New LWP 4016583]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/local/bin/lxcfs /var/lib/lxcfs/ --enable-cfs --enable-pidfd --enable-loada'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 return ret;
[Current thread is 1 (Thread 0x7f4d057fa700 (LWP 4016582))]
(gdb)
(gdb) set pagination off
(gdb)
(gdb) bt full
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {16391, 7, 738226624, 0, 139972911661057, 3664408601, 139968781457640, 0, 94304808032056, 94304808031136, 94304804086150, 139973976158337, 0, 0, 2, 0}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x00007f4e3a5daea5 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {139971709278080, 139973978186427, 1752421524623658752, 0, 139971709251776, 0, 0, 139971709246880, 1752421524623658752, 0, 139968781458256, 139968781458192, 139968781458184, 139973978385280, 139968781457840, 139968781458096}}, sa_flags = 4096, sa_restorer = 0x7f4d057f99b0}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f4e3a64a097 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f4e3a7431f0 "%s\n") at ../sysdeps/posix/libc_fatal.c:181
ap = {{gp_offset = 24, fp_offset = 0, overflow_arg_area = 0x7f4d057f9ac0, reg_save_area = 0x7f4d057f9a50}}
fd = <optimized out>
list = <optimized out>
nlist = <optimized out>
cp = <optimized out>
written = <optimized out>
#3 0x00007f4e3a6514ec in malloc_printerr (str=str@entry=0x7f4e3a744e38 "double free or corruption (fasttop)") at malloc.c:5375
No locals.
#4 0x00007f4e3a652f34 in _int_free (av=0x7f4db4000020, p=0x7f4db40249b0, have_lock=<optimized out>) at malloc.c:4279
idx = 2
old = <optimized out>
old2 = <optimized out>
size = <optimized out>
fb = 0x7f4db4000040
nextchunk = <optimized out>
nextsize = <optimized out>
nextinuse = <optimized out>
prevsize = <optimized out>
bck = <optimized out>
fwd = <optimized out>
__PRETTY_FUNCTION__ = "_int_free"
#5 0x00007f4e3b400ec4 in do_release_file_info (fi=0x7f4d057f9cd0) at ../src/utils.c:158
f = 0x7f4db40249c0
#6 0x00007f4e3b3f62d7 in proc_release (path=0x7f4db4021da0 "/proc/stat", fi=0x7f4d057f9cd0) at ../src/proc_fuse.c:192
No locals.
#7 0x000055c50c58fb1b in do_proc_release (path=0x7f4db4021da0 "/proc/stat", fi=0x7f4d057f9cd0) at ../src/lxcfs.c:564
error = 0x0
__proc_release = 0x7f4e3b3f62bb <proc_release>
__func__ = "do_proc_release"
#8 0x000055c50c590771 in lxcfs_release (path=0x7f4db4021da0 "/proc/stat", fi=0x7f4d057f9cd0) at ../src/lxcfs.c:908
ret = 32589
#9 0x00007f4e3adc3cb2 in fuse_do_release (f=f@entry=0x55c50c958810, ino=ino@entry=6, path=0x7f4db4021da0 "/proc/stat", fi=fi@entry=0x7f4d057f9cd0) at fuse.c:3086
node = <optimized out>
unlink_hidden = 0
compatpath = <optimized out>
__PRETTY_FUNCTION__ = "fuse_do_release"
#10 0x00007f4e3adc65a3 in fuse_lib_release (req=0x7f4db4028c90, ino=6, fi=0x7f4d057f9cd0) at fuse.c:3874
f = 0x55c50c958810
d = {id = 214748364809, cond = {__data = {__lock = 91, __futex = 124, __total_seq = 0, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x6e00000077, __nwaiters = 3020065936, __broadcast_seq = 32589}, __size = "[\000\000\000|", '\000' <repeats 27 times>, "w\000\000\000n\000\000\000\220\214\002\264M\177\000", __align = 532575944795}, finished = -1275068384}
path = 0x7f4db4021da0 "/proc/stat"
err = <optimized out>
#11 0x00007f4e3adccf44 in do_release (req=<optimized out>, nodeid=<optimized out>, inarg=<optimized out>) at fuse_lowlevel.c:1345
arg = <optimized out>
fi = {flags = 32768, fh_old = 139971709258176, writepage = 0, direct_io = 0, keep_cache = 0, flush = 0, nonseekable = 0, flock_release = 0, padding = 0, fh = 0, lock_owner = 0}
#12 0x00007f4e3adcdb6b in fuse_ll_process_buf (data=0x55c50c958b00, buf=0x7f4d057f9ea0, ch=<optimized out>) at fuse_lowlevel.c:2441
f = 0x55c50c958b00
bufv = {count = 1, idx = 0, off = 0, buf = {{size = 48, flags = (unknown: 0), mem = 0x7f4d7c000ba0, fd = 0, pos = 0}}}
tmpbuf = {count = 1, idx = 0, off = 0, buf = {{size = 80, flags = (unknown: 0), mem = 0x0, fd = -1, pos = 0}}}
in = 0x7f4d7c000ba0
inarg = 0x7f4d7c000bc8
req = <optimized out>
mbuf = 0x0
err = <optimized out>
res = <optimized out>
#13 0x00007f4e3adca401 in fuse_do_work (data=0x7f4d7c000b60) at fuse_loop_mt.c:117
isforget = 0
ch = 0x55c50c958570
fbuf = {size = 48, flags = (unknown: 0), mem = 0x7f4d7c000ba0, fd = 0, pos = 0}
res = <optimized out>
w = 0x7f4d7c000b60
mt = 0x7ffff70af460
#14 0x00007f4e3a9871cf in start_thread (arg=<optimized out>) at pthread_create.c:479
ret = <optimized out>
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139968781461248, 6912704723403165139, 139968789851214, 139968789851215, 139968789851344, 139968781459392, -6812584297290248749, -6813197044643115565}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#15 0x00007f4e3a5f2e73 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb) quit
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The template below is mostly useful for bug reports and support questions.
Feel free to remove anything which doesn't apply to you and add more information where it makes sense.
Required information
uname -a
cat /proc/1/mounts
ps aux | grep lxcfs
Issue description
lxcfs terminated with signal SIGSEGV after running some days/months (7000+ nodes, crash 1-2 lxcfs per month)
case 1 (lxcfs-5.0.2 fuse2 on almalinux 9.3)
case 2 (lxcfs-5.0.2 fuse2 on rockylinux 8.7)
Steps to reproduce
randomly crashed
Information to attach
dmesg
)Required information
ps aux | grep lxcfs
) seeRequired information
Required information
The text was updated successfully, but these errors were encountered: