newfs segfault (was:nvme dma returns EFBIG (27))

Mark Millard marklmi at yahoo.com
Thu Feb 11 03:13:54 UTC 2021


On 2021-Feb-10, at 15:01, Jesper Schmitz Mouridsen <jsm at FreeBSD.org> wrote:

> On 10.02.2021 23.08, Emmanuel Vadot wrote:
>> On Wed, 10 Feb 2021 22:55:27 +0100
>> Jesper Schmitz Mouridsen <jsm at FreeBSD.org> wrote:
>> 
>>> Hi
>>> 
>>> I can dd blocks from /dev/nda0p0 but I cannot run newfs.
>>> 
>>> It prints nvme0: nvme_payload_map: err  27.  and ctrl+t shows it is
>>> stuck in physwri
>>> 
>>> https://github.com/freebsd/freebsd-src/blob/a6dc68c0e0f8a24ffaf0b4e78e58141ef7897047/sys/dev/nvme/nvme_qpair.c#L1003
>>> 
>>> https://github.com/freebsd/freebsd-src/blob/c6c70c074633569447be4bfd2b694a1c294015bd/sys/dev/nvme/nvme_qpair.c#L567
>>> 
>>> I could format as ext4 under Linux.
>>> 
>>> Any hints or pointers are welcome.
>>> 
>>> Thanks
>>> 
>>> Jesper
>>  What board ?
>>  What version of FreeBSD ?
>>  dmesg ?
>> 
>>  Any of the above is *always* required for trying to reproduce and
>> finding bugs.
>> 
>>  Cheers,
>> 
> I was on FreeBSD generic 13.0-ALPHA1 on
> 
> on FreeBSD generic 13.0-ALPHA2 FreeBSD 13.0-ALPHA2 #0 c256201-g02611ef8ee9
> 
> newfs /dev/nda0p1v now core dumps.
> 
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  isblock (cp=0x100247f9f <error: Cannot access memory at address 0x100247f9f>, h=0, fs=<optimized out>) at /usr/src/sbin/newfs/mkfs.c:1085
> 1085    /usr/src/sbin/newfs/mkfs.c: No such file or directory.
> (gdb) bt
> #0  isblock (cp=0x100247f9f <error: Cannot access memory at address 0x100247f9f>, h=0, fs=<optimized out>) at /usr/src/sbin/newfs/mkfs.c:1085
> #1  alloc (size=4096, mode=mode at entry=16893) at /usr/src/sbin/newfs/mkfs.c:1001
> #2  0x0000000000215d20 in fsinit (utime=<optimized out>) at /usr/src/sbin/newfs/mkfs.c:948
> #3  mkfs (pp=<optimized out>, pp at entry=0x0, fsys=<optimized out>, fsys at entry=0xffffffffee26 "/dev/nda0p1") at /usr/src/sbin/newfs/mkfs.c:611
> #4  0x00000000002133ec in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/sbin/newfs/newfs.c:405
> 
> It is on my pinebookpro. nvmecontrol devlist
>  nvme0: KINGSTON SA2000M8250G
>     nvme0ns1 (238475MB)

Care to try somehting like . . .

# gdb newfs
. . .
Reading symbols from newfs...
Reading symbols from /usr/lib/debug//sbin/newfs.debug...
(gdb) start /dev/nda0p1v
Temporary breakpoint 1 at 0x2129f8: file /usr/fbsd/mm-src/sbin/newfs/newfs.c, line 142.
. . .
Temporary breakpoint 1, main (argc=1, argv=0xffffffffeb80) at /usr/fbsd/mm-src/sbin/newfs/newfs.c:142
142             reserved = 0;
(gdb) print &disk.d_sbunion.d_fs
???
(gdb) print (&disk.d_sbunion.d_fs)+1
???

I'm curious about the ??? figures reports vs. the 0x100247f9f
in your backtrace. (Not that I'm sure what to do with the
reported information.) The start causes some libraries to
load, which is why I indicated to use it.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-arm mailing list