Re: jfs_fsck segfaults

Christian Kujau <[email protected]>
Newsgroups gmane.comp.file-systems.jfs.general
Message-ID <[email protected]>
On Wed, 2 Sep 2015, Jernej Simončič wrote:
> On Saturday, August 29, 2015, 11:24:58, Christian Kujau wrote:
> 
> > If you still have the partition image - can you try running jfs_fsck on
> > that image on another system? Maybe the segfault got triggered by a memory
> > error?
> 
> I just tried booting SystemRescueCD 4.5.2 in VMWare on my workstation,
> and attached a copy of the partition image with the loop driver there.
> jfs_fsck still segfaulted:

Thanks for the GDB output - unfortunately I'm not able to tell what went 
wrong here. Maybe Dave (Cc'ed) can read the GDB output?

Also, you wouldn't be able to share the disk image, no?

Christian.

> ,-----
> | % jfs_fsck -v -a -p /dev/loop1
> | jfs_fsck version 1.1.15, 04-Mar-2011
> | processing started: 9/2/2015 19:51:47
> | The current device is:  /dev/loop1
> | Open(...READ/WRITE EXCLUSIVE...) returned rc = 0
> | Primary superblock is valid.
> | The type of file system for the device is JFS.
> | Block size in bytes:  4096
> | Filesystem size in blocks:  2097152
> | **Phase 0 - Replay Journal Log
> | LOGREDO:  Log record for Sync Point at:    0x011f85e4
> | LOGREDO:  Beginning to update the Inode Allocation Map.
> | zsh: segmentation fault  jfs_fsck -v -a -p /dev/loop1
> `-----
> 
> My server is based on SuperMicro X8DT3 board with Xeon E5620 and ECC
> reg. RAM, so undetected memory errors should be fairly unlikely.
> 
> > Does "gdb" on the core file reveal anything interesting? E.g.
> >  gdb -c ./core /usr/sbin/jfs_fsck -ex bt
> 
> Unfortunately not, seems like there's no debug symbols. Instead I
> checked out the latest jfsutils sources, and compiled that with -g
> -ggdb, here's what happens when I run jfs_fsck in gdb:
> 
> # gdb --args ./jfs_fsck -a -p -v /dev/loop18
> GNU gdb (Gentoo 7.9.1 vanilla) 7.9.1
> Copyright (C) 2015 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-pc-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://bugs.gentoo.org/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from ./jfs_fsck...done.
> (gdb) r
> Starting program: /root/pkg/jfs/jfsutils/fsck/jfs_fsck -a -p -v /dev/loop18
> /root/pkg/jfs/jfsutils/fsck/jfs_fsck version 1.1.15, Sep  2 2015
> processing started: 9/2/2015 20:57:20
> The current device is:  /dev/loop18
> Open(...READ/WRITE EXCLUSIVE...) returned rc = 0
> Primary superblock is valid.
> The type of file system for the device is JFS.
> Block size in bytes:  4096
> Filesystem size in blocks:  2097152
> **Phase 0 - Replay Journal Log
> LOGREDO:  Log record for Sync Point at:    0x011f85e4
> LOGREDO:  Beginning to update the Inode Allocation Map.
> Correcting Inode Allocation Group F-585027579 invalid Allocation Group (29366).
> 
> Program received signal SIGSEGV, Segmentation fault.
> iMapRead (vol=0, page_number=382326830, page_buffer=0x72b000) at log_map.c:814
> 814             imr_rc = ujfs_rw_diskblocks(vopen[vol].fp,
> (gdb) bt f
> #0  iMapRead (vol=0, page_number=382326830, page_buffer=0x72b000) at log_map.c:814
>         imr_rc = 0
> #1  0x000000000043ec7c in writeImap (vol=0, fsimap=..., dp=0x6d2980 <buffer+352256>) at log_map.c:1090
>         imap_ctl = 0x729000
>         rc = 0
>         k = 100
>         iagpages = 147
>         npages = 148
>         next_iag = 382326829
>         iagfree = 0
>         numinos = 4096
>         agno = 0
>         iagp = 0x72a000
>         iag_pg = 0x72b000
>         next_imap_page = 102
>         iag_datarec = 0x732a00
>         maplen = 1024
>         inoext_arrlen = 1024
> #2  0x000000000043e795 in updateMaps (vol=0) at log_map.c:940
>         rc = 0
>         dip = 0x6d2980 <buffer+352256>
>         pxd1 = {len = 1, addr1 = 0, addr2 = 13}
> #3  0x0000000000436348 in jfs_logredo (pathname=0x7fffffffd976 "/dev/loop18", fp=0x71d780, use_2nd_aggSuper=0) at logredo.c:786
>         rc = 0
>         k = 0
>         logaddr = 18816552
>         nextaddr = 18816496
>         lastaddr = 18816552
>         nlogrecords = 4257
>         syncrecord = 18843108
>         ld = {logtid = 2569532, backchain = 18816496, type = 8, length = 20, aggregate = 0, log = {redopage = {fileset = 16, inode = 172077, type = 8, l2linesize = 1, pxd = {len = 1, addr1 = 0,
>                 addr2 = 720921}}, noredopage = {fileset = 16, inode = 172077, type = 8, rsrvd = 1, pxd = {len = 1, addr1 = 0, addr2 = 720921}}, updatemap = {fileset = 16, inode = 172077, type = 8, nxd = 1,
>               pxd = {len = 1, addr1 = 0, addr2 = 720921}}, noredoinoext = {fileset = 16, iagnum = 172077, inoext_idx = 65544, pxd = {len = 1, addr1 = 0, addr2 = 720921}}, syncpt = {sync = 16}, freextent = {
>               type = 16, nextent = 172077}, noredofile = {fileset = 16, inode = 172077}, newpage = {fileset = 16, inode = 172077, type = 65544, pxd = {len = 1, addr1 = 0, addr2 = 720921}}}}
>         lowest_lr_byte = 8200
>         highest_lr_byte = 33554396
>         log_has_wrapped = 0
>         logend = 19296148
>         in_use = 0
> #4  0x00000000004315ad in phase0_processing () at xchkdsk.c:1888
>         p0_rc = 0
>         agg_blks = 2097152
>         use_2ndary_superblock = 0
> #5  0x000000000042e723 in main (argc=5, argv=0x7fffffffd608) at xchkdsk.c:333
>         rc = 0
>         Current_Time = 140737488344576
> (gdb)
> 
> Hopefully this helps.
> 
> -- 
> < Jernej Simončič ><><><><>< http://eternallybored.org/ >
> 
> A memorandum is written not to inform the reader but to protect the writer.
>        -- Acheson's Rule of the Bureaucracy
> 
> 
> ------------------------------------------------------------------------------
> Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
> Get real-time metrics from all of your servers, apps and tools
> in one place.
> SourceForge users - Click here to start your Free Trial of Datadog now!
> http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
> _______________________________________________
> Jfs-discussion mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jfs-discussion
> 

-- 
BOFH excuse #175:

OS swapped to disk

------------------------------------------------------------------------------
_______________________________________________
Jfs-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jfs-discussion
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.