Hello, On Thu, 26 Mar 2020, Jiri Slaby wrote:
gdb /usr/lib/dracut/dracut-install ... Reading symbols from /usr/lib/dracut/dracut-install... Reading symbols from /usr/lib/debug/usr/lib/dracut/dracut-install-050+suse.58.g0b998bee-lp151.8.1.x86_64.debug... (gdb)
... (gdb) r -d -D /var/tmp/dracut.TEST/initramfs -N i2o_scsi --kerneldir /lib/modules/5.5.11-24.g794b2e9-default/ -m usb_storage Starting program: /usr/lib/dracut/dracut-install -d -D /var/tmp/dracut.TEST/initramfs -N i2o_scsi --kerneldir /lib/modules/5.5.11-24.g794b2e9-default/ -m usb_storage [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7a9d2d7 in __GI__IO_default_xsputn (f=0x7fffff7ff5d0, data=<optimized out>, n=40) at genops.c:429 429 genops.c: No such file or directory. (gdb) bt
#0 0x00007ffff7a9d2d7 in __GI__IO_default_xsputn (f=0x7fffff7ff5d0, data=<optimized out>, n=40) at genops.c:429 #1 0x00007ffff7a6f4c5 in _IO_vfprintf_internal (s=s@entry=0x7fffff7ff5d0, format=format@entry=0x7ffff780d041 "%s/%s.bin", ap=ap@entry=0x7fffff7ff750) at vfprintf.c:1643 #2 0x00007ffff7b26ab9 in ___vsnprintf_chk (s=0x7fffff7ff840 "", maxlen=<optimized out>, flags=1, slen=<optimized out>, format=0x7ffff780d041 "%s/%s.bin", args=args@entry=0x7fffff7ff750) at vsnprintf_chk.c:63 #3 0x00007ffff7b269e5 in ___snprintf_chk (s=s@entry=0x7fffff7ff840 "", maxlen=maxlen@entry=4096, flags=flags@entry=1, slen=slen@entry=4096, format=format@entry=0x7ffff780d041 "%s/%s.bin") at snprintf_chk.c:34 #4 0x00007ffff77eef02 in snprintf (__fmt=0x7ffff780d041 "%s/%s.bin", __n=4096, __s=0x7fffff7ff840 "") at /usr/include/bits/stdio2.h:64 #5 kmod_search_moddep (ctx=<optimized out>, name=0x7fffff8008b0 "uas") at libkmod/libkmod.c:579
Could you dump ctx here? I.e. do "up" until you get to this frame and then "p *ctx" here. It looks like ctx->dirname is empty. So get_kernel_release is defunct... If so, I would debug kmod_new and get_kernel_release by adding a break point to kmod_new and stepping. Do not forget to install kmod debugsource.
No need for any of this really. The fact that there were ca. 80000 frames upstack all containing the same function calling itself does show that the segfault simply is stack exhaustion and Seife found the culprit for that already. Ciao, Michael. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org