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]"