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

Jesper Schmitz Mouridsen <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
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 <[email protected]> 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@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@entry=0x0, fsys=<optimized out>, fsys@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)
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.