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

Jesper Schmitz Mouridsen jsm at FreeBSD.org
Thu Feb 11 13:25:30 UTC 2021


On 11.02.2021 14.22, Jesper Schmitz Mouridsen wrote:
> On 11.02.2021 04.13, Mark Millard wrote:
>> 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.
> Below gdb output and nvmecontrol identify nvme0
>
>
> Type "apropos word" to search for commands related to "word"...
>
> Reading symbols from newfs...
> Reading symbols from /usr/lib/debug//sbin/newfs.debug...
> (gdb) b newfs.c:142
> Breakpoint 1 at 0x2129d8: file /usr/src/sbin/newfs/newfs.c, line 142.
> (gdb) c
> The program is not being run.
> (gdb) start /dev/nda0p1
> Temporary breakpoint 2 at 0x2129d8: file /usr/src/sbin/newfs/newfs.c, 
> line 142.
> Starting program: /sbin/newfs /dev/nda0p1
>
> Breakpoint 1, main (argc=2, argv=0xffffffffea60)
>     at /usr/src/sbin/newfs/newfs.c:142
> warning: Source file is more recent than executable.
> 142             reserved = 0;
> (gdb)  print &disk.d_sbunion.d_fs
> $1 = (struct fs *) 0x237fa0 <disk+64>
> (gdb) print (&disk.d_sbunion.d_fs)+1
>
> $2 = (struct fs *) 0x238500 <disk+1440>
>
> nvmecontrol identify nvme0
> Controller Capabilities/Features
> ================================
> Vendor ID:                   2646
> Subsystem Vendor ID:         2646
> Serial Number:
> Model Number:                KINGSTON SA2000M8250G
> Firmware Version:            S5Z42105
> Recommended Arb Burst:       6
> IEEE OUI Identifier:         b7 26 00
> Multi-Path I/O Capabilities: Not Supported
> Max Data Transfer Size:      131072 bytes
> Controller ID:               0x0001
> Version:                     1.3.0
>
> Admin Command Set Attributes
> ============================
> Security Send/Receive:       Supported
> Format NVM:                  Supported
> Firmware Activate/Download:  Supported
> Namespace Managment:         Not Supported
> Device Self-test:            Supported
> Directives:                  Not Supported
> NVMe-MI Send/Receive:        Not Supported
> Virtualization Management:   Not Supported
> Doorbell Buffer Config:      Not Supported
> Get LBA Status:              Not Supported
> Sanitize:                    crypto, block,
> Abort Command Limit:         5
> Async Event Request Limit:   8
> Number of Firmware Slots:    2
> Firmware Slot 1 Read-Only:   No
> Per-Namespace SMART Log:     Yes
> Error Log Page Entries:      256
> Number of Power States:      5
> Total NVM Capacity:          0 bytes
> Unallocated NVM Capacity:    0 bytes
> Firmware Update Granularity: 00 (Not Reported)
> Host Buffer Preferred Size:  0 bytes
> Host Buffer Minimum Size:    0 bytes
>
> NVM Command Set Attributes
> ==========================
> Submission Queue Entry Size
>   Max:                       64
>   Min:                       64
> Completion Queue Entry Size
>   Max:                       16
>   Min:                       16
> Number of Namespaces:        1
> Compare Command:             Supported
> Write Uncorrectable Command: Supported
> Dataset Management Command:  Supported
> Write Zeroes Command:        Supported
> Save Features:               Supported
> Reservations:                Not Supported
> Timestamp feature:           Supported
> Verify feature:              Not Supported
> Fused Operation Support:     Not Supported
> Format NVM Attributes:       Crypto Erase, Per-NS Erase, Per-NS Format
> Volatile Write Cache:        Present, flush all
>
> NVM Subsystem Name:          (null)
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
forgot kern.maxphys: 1048576


More information about the freebsd-arm mailing list