Debian Bug report logs - #499078
jfsutils: Bus Error when running fsck.jfs on sparc

version graph

Package: jfsutils; Maintainer for jfsutils is Stefan Hornburg (Racke) <racke@linuxia.de>; Source for jfsutils is src:jfsutils.

Reported by: Ivan Jager <aij+debian@andrew.cmu.edu>

Date: Tue, 16 Sep 2008 01:42:01 UTC

Severity: critical

Tags: moreinfo, patch

Found in version jfsutils/1.1.11-1

Fixed in version jfsutils/1.1.12-2.1

Done: Steve McIntyre <93sam@debian.org>

Bug is archived. No further changes may be made.

Forwarded to https://sourceforge.net/tracker/?func=detail&atid=712756&aid=2113843&group_id=128802

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. Full text and rfc822 format available.

Acknowledgement sent to Ivan Jager <aij+debian@andrew.cmu.edu>:
New Bug report received and forwarded. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Ivan Jager <aij+debian@andrew.cmu.edu>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: jfsutils: Bus Error when running fsck.jfs on sparc
Date: Mon, 15 Sep 2008 21:38:58 -0400
Package: jfsutils
Version: 1.1.11-1
Severity: critical
Tags: patch
Justification: breaks the whole system

I lost power on my server a while back. Fortunately, I am running a journaling
filesystem, JFS, so it shouldn't be a big deal. Unfortunately, fsck.jfs
dies with a bus error when trying to replay the journal on my root filesystem.

I got my system running again, by copying the root FS to an amd64 box (which
doesn't enforce alignment requirements), running fsck.jfs on it, and copying
it back. (I kept a copy of the original filesystem so I could reproduce the
bug.)

I have a patch which fixes the first unaligned access, but there is at least
one more.

Here is the original backtrace (I did apt-get source and compiled with -g):
aij@ypane:~$ gdb ~/deb/jfsutils-1.1.11/fsck/jfs_fsck
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-linux-gnu"...Using host libthread_db library "/lib/v9/libthread_db.so.1".

(gdb) run md0.orig
Starting program: /home/aij/deb/jfsutils-1.1.11/fsck/jfs_fsck md0.orig
/home/aij/deb/jfsutils-1.1.11/fsck/jfs_fsck version 1.1.11, 05-Jun-2006
processing started: 9/15/2008 18.43.40
Using default parameter: -p
The current device is:  md0.orig
Block size in bytes:  4096
Filesystem size in blocks:  1464816
**Phase 0 - Replay Journal Log

Program received signal SIGBUS, Bus error.
0x0005f5f0 in ujfs_swap_superblock (sblk=0xffff232c) at jfs_endian.c:554
554             sblk->s_size = __le64_to_cpu(sblk->s_size);
(gdb) bt
#0  0x0005f5f0 in ujfs_swap_superblock (sblk=0xffff232c) at jfs_endian.c:554
#1  0x00059df0 in ujfs_put_superblk (fp=0x1786c8, sb=0xb4568, is_primary=1)
    at super.c:172
#2  0x0005562c in phase0_processing () at xchkdsk.c:1877
#3  0x00050ef0 in main (argc=2, argv=0xffff34f4) at xchkdsk.c:333
(gdb) 


The patch to fix that (buf needs proper alignment):
----- cut here -----
--- libfs/super.c.orig  2005-11-22 15:43:55.000000000 -0500
+++ libfs/super.c       2008-09-15 21:03:27.936428396 -0400
@@ -162,14 +162,14 @@
  */
 int ujfs_put_superblk(FILE *fp, struct superblock *sb, int16_t is_primary)
 {
-       char buf[SIZE_OF_SUPER];
+       struct superblock buf[(SIZE_OF_SUPER+sizeof(*sb)-1)/sizeof(*sb)];
        int rc;
 
        memset(buf, 0, SIZE_OF_SUPER);
        memcpy(buf, sb, sizeof (*sb));
 
        /* swap if on big endian machine */
-       ujfs_swap_superblock((struct superblock *) buf);
+       ujfs_swap_superblock(buf);
 
        rc = ujfs_rw_diskblocks(fp, (is_primary ? SUPER1_OFF : SUPER2_OFF),
                                SIZE_OF_SUPER, buf, PUT);
------ cut here -----


And a new backtrace:
aij@ypane:~$ gdb ~/deb/jfsutils-1.1.11/fsck/jfs_fsck
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-linux-gnu"...Using host libthread_db library "/usr/lib/debug/libthread_db.so.1".

(gdb) run md0.orig
Starting program: /home/aij/deb/jfsutils-1.1.11/fsck/jfs_fsck md0.orig
/home/aij/deb/jfsutils-1.1.11/fsck/jfs_fsck version 1.1.11, 05-Jun-2006
processing started: 9/15/2008 21.9.54
Using default parameter: -p
The current device is:  md0.orig
Block size in bytes:  4096
Filesystem size in blocks:  1464816
**Phase 0 - Replay Journal Log

Program received signal SIGBUS, Bus error.
0x0006a6e8 in updatePage (ld=0xffa6f2c0, logaddr=1572600) at log_work.c:2809
2809                                            rc = markImap(&vopen[vol].fsimap_lst,
(gdb) bt
#0  0x0006a6e8 in updatePage (ld=0xffa6f2c0, logaddr=1572600)
    at log_work.c:2809
#1  0x00065ae0 in doAfter (ld=0xffa6f2c0, logaddr=1572600) at log_work.c:633
#2  0x00061a98 in jfs_logredo (pathname=0xffa6f5f8 "md0.orig", fp=0x1786c8,
    use_2nd_aggSuper=0) at logredo.c:691
#3  0x00055664 in phase0_processing () at xchkdsk.c:1880
#4  0x00050ef0 in main (argc=2, argv=0xffa6f4d4) at xchkdsk.c:333
(gdb) print dip
$1 = (struct dinode *) 0xbe794
(gdb) print &dip->di_ixpxd
$2 = (pxd_t *) 0xbe7a4
(gdb) print sizeof(pxd_t)
$3 = 8
(gdb) x/i 0x0006a6e8
0x6a6e8 <updatePage+4300>:      ldd  [ %g1 + 0x10 ], %g2
(gdb) print/x $g1
$5 = 0xbe794
(gdb)

Clearly the problem here is that dip is only 4 byte aligned, but it has an
8-byte field, which requires 8-byte alignment.

Fixing that may be as simple as 8-byte aligning afterdata, but I'm yet unsure
about all the other variables dip depends on... I'll be happy to test any
patches for this. ;)

Ivan

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: sparc (sparc64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-6-sparc64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages jfsutils depends on:
ii  lib 2.3.6.ds1-13etch7                    GNU C Library: Shared libraries
ii  lib 1.39+1.40-WIP-2006.11.14+dfsg-2etch1 universally unique id library

jfsutils recommends no packages.

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. Full text and rfc822 format available.

Acknowledgement sent to Stefan Hornburg <racke@linuxia.de>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. Full text and rfc822 format available.

Message #10 received at 499078@bugs.debian.org (full text, mbox):

From: Stefan Hornburg <racke@linuxia.de>
To: Ivan Jager <aij+debian@andrew.cmu.edu>, 499078@bugs.debian.org
Subject: Re: Bug#499078: jfsutils: Bus Error when running fsck.jfs on sparc
Date: Tue, 16 Sep 2008 09:29:03 +0200
Ivan Jager wrote:
> Package: jfsutils
> Version: 1.1.11-1
> Severity: critical
> Tags: patch
> Justification: breaks the whole system
> 
> I lost power on my server a while back. Fortunately, I am running a journaling
> filesystem, JFS, so it shouldn't be a big deal. Unfortunately, fsck.jfs
> dies with a bus error when trying to replay the journal on my root filesystem.
> 
> I got my system running again, by copying the root FS to an amd64 box (which
> doesn't enforce alignment requirements), running fsck.jfs on it, and copying
> it back. (I kept a copy of the original filesystem so I could reproduce the
> bug.)
> 
> I have a patch which fixes the first unaligned access, but there is at least
> one more.

Thanks very much for your extensive report and investigation. I checked the
source for jfsutils 1.1.13 and the function seems to be have the same flaw.

I'm going to report this bug upstream.

Regards
         Racke


-- 
LinuXia Systems => http://www.linuxia.de/
Expert Interchange Consulting and System Administration
ICDEVGROUP => http://www.icdevgroup.org/
Interchange Development Team





Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. Full text and rfc822 format available.

Acknowledgement sent to Stefan Hornburg <racke@linuxia.de>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. Full text and rfc822 format available.

Message #15 received at 499078@bugs.debian.org (full text, mbox):

From: Stefan Hornburg <racke@linuxia.de>
To: 499078@bugs.debian.org
Cc: control@bugs.debian.org
Subject: Bug forwarded to tracker at sourceforge.net
Date: Tue, 16 Sep 2008 11:47:54 +0200
forwarded 499078 https://sourceforge.net/tracker/?func=detail&atid=712756&aid=2113843&group_id=128802
thanks

The bug has been entered into the sourceforge.net tracker.

Regards
         Racke

-- 
LinuXia Systems => http://www.linuxia.de/
Expert Interchange Consulting and System Administration
ICDEVGROUP => http://www.icdevgroup.org/
Interchange Development Team





Noted your statement that Bug has been forwarded to https://sourceforge.net/tracker/?func=detail&atid=712756&aid=2113843&group_id=128802. Request was from Stefan Hornburg <racke@linuxia.de> to control@bugs.debian.org. (Tue, 16 Sep 2008 10:15:09 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. Full text and rfc822 format available.

Acknowledgement sent to Ivan Jager <aij+nospam@andrew.cmu.edu>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. Full text and rfc822 format available.

Message #22 received at 499078@bugs.debian.org (full text, mbox):

From: Ivan Jager <aij+nospam@andrew.cmu.edu>
To: 499078@bugs.debian.org
Subject: Patch
Date: Thu, 18 Sep 2008 17:04:50 -0400 (EDT)
[Message part 1 (text/plain, inline)]
Ok, this is enough to be able to replay the journal log. I'm assuming *dip 
was never updated through aliasing, but it would be good if someone could 
double check that.

Running fsck -f still dies, but at least this should be enough to recover 
from a power failure.

--
Ivan
[jfsutils-1.1.11-alignment-aij2.patch (text/plain, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Mon, 13 Oct 2008 17:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Luk Claes <luk@debian.org>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Mon, 13 Oct 2008 17:36:02 GMT) Full text and rfc822 format available.

Message #27 received at 499078@bugs.debian.org (full text, mbox):

From: Luk Claes <luk@debian.org>
To: 499078@bugs.debian.org
Subject: Re: jfsutils: Bus Error when running fsck.jfs on sparc
Date: Mon, 13 Oct 2008 19:33:59 +0200
Hi

Any news from upstream? Can we expect an upload shortly?

Cheers

Luk




Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Mon, 13 Oct 2008 18:21:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Stefan Hornburg (Racke)" <racke@linuxia.de>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Mon, 13 Oct 2008 18:21:05 GMT) Full text and rfc822 format available.

Message #32 received at 499078@bugs.debian.org (full text, mbox):

From: "Stefan Hornburg (Racke)" <racke@linuxia.de>
To: Luk Claes <luk@debian.org>, 499078@bugs.debian.org
Subject: Re: Bug#499078: jfsutils: Bus Error when running fsck.jfs on sparc
Date: Mon, 13 Oct 2008 20:19:54 +0200
Luk Claes wrote:
> Hi
> 
> Any news from upstream? Can we expect an upload shortly?
> 

No word from upstream.

Regards
         Racke


-- 
LinuXia Systems => http://www.linuxia.de/
Expert Interchange Consulting and System Administration
ICDEVGROUP => http://www.icdevgroup.org/
Interchange Development Team





Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Mon, 13 Oct 2008 20:33:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Luk Claes <luk@debian.org>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Mon, 13 Oct 2008 20:33:03 GMT) Full text and rfc822 format available.

Message #37 received at 499078@bugs.debian.org (full text, mbox):

From: Luk Claes <luk@debian.org>
To: "Stefan Hornburg (Racke)" <racke@linuxia.de>
Cc: 499078@bugs.debian.org
Subject: Re: Bug#499078: jfsutils: Bus Error when running fsck.jfs on sparc
Date: Mon, 13 Oct 2008 22:31:18 +0200
Stefan Hornburg (Racke) wrote:
> Luk Claes wrote:
>> Hi
>>
>> Any news from upstream? Can we expect an upload shortly?
>>
> 
> No word from upstream.

Will you upload a version that at least takes care of being able to
recover from a power failure like the patch submitter proposes?

Cheers

Luk




Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Mon, 13 Oct 2008 20:57:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Stefan Hornburg (Racke)" <racke@linuxia.de>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Mon, 13 Oct 2008 20:57:02 GMT) Full text and rfc822 format available.

Message #42 received at 499078@bugs.debian.org (full text, mbox):

From: "Stefan Hornburg (Racke)" <racke@linuxia.de>
To: Luk Claes <luk@debian.org>, 499078@bugs.debian.org
Subject: Re: Bug#499078: jfsutils: Bus Error when running fsck.jfs on sparc
Date: Mon, 13 Oct 2008 22:53:52 +0200
Luk Claes wrote:
> Stefan Hornburg (Racke) wrote:
>> Luk Claes wrote:
>>> Hi
>>>
>>> Any news from upstream? Can we expect an upload shortly?
>>>
>> No word from upstream.
> 
> Will you upload a version that at least takes care of being able to
> recover from a power failure like the patch submitter proposes?

We have to ensure that a patched version will not fail on the
other architectures.

I couldn't promise to upload a new version, but I can certainly
look into it.

Regards
        Racke

-- 
LinuXia Systems => http://www.linuxia.de/
Expert Interchange Consulting and System Administration
ICDEVGROUP => http://www.icdevgroup.org/
Interchange Development Team





Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Tue, 14 Oct 2008 21:51:15 GMT) Full text and rfc822 format available.

Acknowledgement sent to Thomas Viehmann <tv@beamnet.de>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Tue, 14 Oct 2008 21:51:15 GMT) Full text and rfc822 format available.

Message #47 received at 499078@bugs.debian.org (full text, mbox):

From: Thomas Viehmann <tv@beamnet.de>
To: 499078@bugs.debian.org
Subject: some (ugly) poking into fsck.jfs -f
Date: Tue, 14 Oct 2008 23:50:45 +0200
[Message part 1 (text/plain, inline)]
Hi,

so here is a diff to something

Note that all of this is in a totally unacceptable state, I just thought
I'd diff up the dir where I randomly patched stuff shown in gdb when the
bus error hits in case someone else wants to know what is up.

Kind regards

T.
-- 
Thomas Viehmann, http://thomas.viehmann.net/
[jfsutils-a-little-further-in-progress.diff (text/x-patch, inline)]
diff -urN jfsutils-1.1.12~/debian/changelog jfsutils-1.1.12/debian/changelog
--- jfsutils-1.1.12~/debian/changelog	2008-10-14 23:39:32.000000000 +0200
+++ jfsutils-1.1.12/debian/changelog	2008-10-14 23:37:49.000000000 +0200
@@ -1,3 +1,10 @@
+jfsutils (1.1.12-2.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * 
+
+ -- Thomas Viehmann <tviehmann@sperger.debian.org>  Mon, 06 Oct 2008 21:27:06 +0000
+
 jfsutils (1.1.12-2) unstable; urgency=low
 
   * use different linking parameter on alpha to avoid FTBFS (Closes: #490881)
diff -urN jfsutils-1.1.12~/debian/rules jfsutils-1.1.12/debian/rules
--- jfsutils-1.1.12~/debian/rules	2008-10-14 23:39:32.000000000 +0200
+++ jfsutils-1.1.12/debian/rules	2008-10-14 23:38:05.000000000 +0200
@@ -24,6 +24,10 @@
 ifeq ($(DEB_BUILD_ARCH),alpha)
 	LDFLAGS += -Wl,--no-relax
 endif
+ifeq ($(DEB_BUILD_ARCH),sparc)
+ ## -O2 makes memcpy not work for unaligned data
+	CFLAGS += -O0
+endif
 
 DEB_CONFIGURE_USER_FLAGS := --sbindir=/sbin
 DEB_MAKE_INSTALL_TARGET := install DESTDIR=$(CURDIR)/debian/tmp
diff -urN jfsutils-1.1.12~/fsck/fsckmeta.c jfsutils-1.1.12/fsck/fsckmeta.c
--- jfsutils-1.1.12~/fsck/fsckmeta.c	2006-06-05 21:31:40.000000000 +0200
+++ jfsutils-1.1.12/fsck/fsckmeta.c	2008-10-14 23:37:36.000000000 +0200
@@ -3541,14 +3541,14 @@
 
 	if ((!inorecptr->selected_to_rls) && (!inorecptr->ignore_alloc_blks)) {
 		/* no problems found in the tree yet */
-		if (inoptr->di_nblocks != agg_recptr->this_inode.all_blks) {
+	  if (__read64s_ua(inoptr->di_nblocks) != __read64s_ua(agg_recptr->this_inode.all_blks)) {
 			/* number of blocks is wrong.  tree must be bad */
 #ifdef _JFS_DEBUG
 			printf("bad num blocks: agg ino: %ld(t)  "
 			       "di_nblocks = %lld(t)  "
 			       "this_inode.all_blks = %lld(t)\n",
-			       inoidx, inoptr->di_nblocks,
-			       agg_recptr->this_inode.all_blks);
+			       inoidx, __read64s_ua(inoptr->di_nblocks),
+			       __read64s_ua(agg_recptr->this_inode.all_blks));
 #endif
 			inorecptr->selected_to_rls = 1;
 			inorecptr->ignore_alloc_blks = 1;
@@ -3570,8 +3570,8 @@
 				max_size = agg_recptr->this_inode.data_size;
 			}
 
-			if ((inoptr->di_size > max_size)
-			    || (inoptr->di_size < min_size)) {
+			if ((__read64s_ua(inoptr->di_size) > max_size)
+			    || (__read64s_ua(inoptr->di_size) < min_size)) {
 				/*
 				 * object size (in bytes) is wrong.
 				 * tree must be bad.
@@ -3581,7 +3581,7 @@
 				       "minsize = %lld(t)  maxsize = %lld(t)  "
 				       "di_size = %lld(t)\n",
 				       inoidx, min_size, max_size,
-				       inoptr->di_size);
+				       __read64s_ua(inoptr->di_size));
 #endif
 				inorecptr->selected_to_rls = 1;
 				inorecptr->ignore_alloc_blks = 1;
diff -urN jfsutils-1.1.12~/fsck/fsckpfs.c jfsutils-1.1.12/fsck/fsckpfs.c
--- jfsutils-1.1.12~/fsck/fsckpfs.c	2007-08-23 06:01:40.000000000 +0200
+++ jfsutils-1.1.12/fsck/fsckpfs.c	2008-10-14 23:37:37.000000000 +0200
@@ -2324,6 +2324,12 @@
 		agg_recptr->ino_buf_1st_ino = (iag_num << L2INOSPERIAG)
 		    + (iag_extidx << L2INOSPEREXT);
 		agg_recptr->ino_fsnum = it_number;
+		printf("#1, %p\n",agg_recptr);
+		printf("#2, %p\n",&(agg_recptr->ino_ixpxd));
+		printf("#3, %p\n",iag_ptr);
+		printf("#4, %p\n",iag_ptr->inoext);
+		printf("#5, %p\n",&(iag_ptr->inoext[iag_extidx]));
+
 		memcpy((void *)&(agg_recptr->ino_ixpxd),
 		       (void *) &(iag_ptr->inoext[iag_extidx]), sizeof (pxd_t));
 		is_aggregate ? (agg_recptr->ino_for_aggregate = -1) :
diff -urN jfsutils-1.1.12~/fsck/fsckwsp.c jfsutils-1.1.12/fsck/fsckwsp.c
--- jfsutils-1.1.12~/fsck/fsckwsp.c	2006-06-05 21:31:40.000000000 +0200
+++ jfsutils-1.1.12/fsck/fsckwsp.c	2008-10-14 23:42:03.000000000 +0200
@@ -21,6 +21,9 @@
 #include <time.h>
 #include <unistd.h>
 #include <errno.h>
+#include <sys/types.h>
+#include <jfs_types.h>
+#include <jfs_byteorder.h>
 
 /* defines and includes common among the fsck.jfs modules */
 #include "xfsckint.h"
@@ -1163,7 +1166,7 @@
 
 	/* got the fileset IT inode */
 	agg_recptr->fset_imap.num_iags =
-	    (inoptr->di_size / SIZE_OF_MAP_PAGE) - 1;
+	  (__read64s_ua(inoptr->di_size) / SIZE_OF_MAP_PAGE) - 1;
 	/*
 	 * a high estimate of the inodes
 	 * allocated for the fileset
@@ -1473,6 +1476,7 @@
 	time_t Current_Time;
 	int64_t this_device_offset = 0;
 	int I_am_logredo = 0;
+	struct fsck_blk_map_hdr blkmp_ctlptr;
 
 	ewbmc_rc =
 	    alloc_wrksp(sizeof (struct fsck_blk_map_hdr), dynstg_blkmap_hdr,
@@ -1481,30 +1485,32 @@
 	if (ewbmc_rc == FSCK_OK) {
 		/* allocated and initialized blk map ctl page */
 		/* fill eyecatcher */
-		strncpy(agg_recptr->blkmp_ctlptr->hdr.eyecatcher,
+		memcpy(&blkmp_ctlptr, &agg_recptr->blkmp_ctlptr, sizeof(blkmp_ctlptr));
+		strncpy(blkmp_ctlptr.hdr.eyecatcher,
 			fbmh_eyecatcher_string, strlen(fbmh_eyecatcher_string));
-		agg_recptr->blkmp_ctlptr->hdr.super_buff_addr = (char *) sb_ptr;
-		agg_recptr->blkmp_ctlptr->hdr.agg_record_addr =
+		blkmp_ctlptr.hdr.super_buff_addr = (char *) sb_ptr;
+		blkmp_ctlptr.hdr.agg_record_addr =
 		    (char *) agg_recptr;
-		agg_recptr->blkmp_ctlptr->hdr.bmap_record_addr =
+		blkmp_ctlptr.hdr.bmap_record_addr =
 		    (char *) bmap_recptr;
-		agg_recptr->blkmp_ctlptr->hdr.fscklog_full =
+		blkmp_ctlptr.hdr.fscklog_full =
 		    agg_recptr->fscklog_full;
-		agg_recptr->blkmp_ctlptr->hdr.fscklog_buf_allocated =
+		blkmp_ctlptr.hdr.fscklog_buf_allocated =
 		    agg_recptr->fscklog_buf_allocated;
-		agg_recptr->blkmp_ctlptr->hdr.fscklog_buf_alloc_err =
+		blkmp_ctlptr.hdr.fscklog_buf_alloc_err =
 		    agg_recptr->fscklog_buf_alloc_err;
-		agg_recptr->blkmp_ctlptr->hdr.fscklog_agg_offset =
+		blkmp_ctlptr.hdr.fscklog_agg_offset =
 		    agg_recptr->ondev_fscklog_byte_offset;
 
 		Current_Time = time(NULL);
 		fsck_DateTime = localtime(&Current_Time);
-		sprintf(&(agg_recptr->blkmp_ctlptr->hdr.start_time[0]),
+		sprintf(&(blkmp_ctlptr.hdr.start_time[0]),
 			"%d/%d/%d %d:%02d:%02d", fsck_DateTime->tm_mon + 1,
 			fsck_DateTime->tm_mday,
 			(fsck_DateTime->tm_year + 1900),
 			fsck_DateTime->tm_hour, fsck_DateTime->tm_min,
 			fsck_DateTime->tm_sec);
+	        memcpy(&agg_recptr->blkmp_ctlptr, &blkmp_ctlptr, sizeof(blkmp_ctlptr));
 
 		if (!(agg_recptr->processing_readonly)) {
 			/*
diff -urN jfsutils-1.1.12~/include/jfs_byteorder.h jfsutils-1.1.12/include/jfs_byteorder.h
--- jfsutils-1.1.12~/include/jfs_byteorder.h	2005-11-22 21:43:54.000000000 +0100
+++ jfsutils-1.1.12/include/jfs_byteorder.h	2008-10-14 23:37:30.000000000 +0200
@@ -25,6 +25,7 @@
 #elif HAVE_ENDIAN_H
 # include <endian.h>
 #endif
+#include <string.h>
 
 #define __swab16(x) \
 ({ \
@@ -53,6 +54,7 @@
 		(((uint32_t)(__x) & (uint32_t)0xff000000UL) >> 24) )); \
 })
 
+
 #define __swab64(x) \
 ({ \
 	uint64_t __x = (x); \
@@ -67,6 +69,52 @@
 		(uint64_t)(((uint64_t)(__x) & (uint64_t)0xff00000000000000ULL) >> 56) )); \
 })
 
+static inline void __inplace_swab64_nonaligned(unsigned char *c1) {
+  uint64_t tmp;
+  unsigned char* c2 = (unsigned char *) &tmp+7;
+  *c2-- = *c1++;
+  *c2-- = *c1++;
+  *c2-- = *c1++;
+  *c2-- = *c1++;
+  *c2-- = *c1++;
+  *c2-- = *c1++;
+  *c2-- = *c1++;
+  *c2 = *c1++;
+  memcpy(c1-8,c2,8);
+}
+
+typedef union {
+  uint64_t a;
+  struct {
+    uint32_t b1;
+    uint32_t b2;
+  };
+} uint64_as_uint32_t;
+typedef union {
+  int64_t a;
+  struct {
+    uint32_t b1;
+    uint32_t b2;
+  };
+} int64_as_uint32_t;
+
+static inline int64_t __read_nonaligned_s64 (int64_as_uint32_t c1) {
+  int64_as_uint32_t c2;
+  c2.b1 = c1.b1;
+  c2.b2 = c1.b2;
+  return c2.a;
+}
+
+static inline uint64_t __read_nonaligned_u64 (uint64_as_uint32_t c1) {
+  uint64_as_uint32_t c2;
+  c2.b1 = c1.b1;
+  c2.b2 = c1.b2;
+  return c2.a;
+}
+
+// ifdef for SPARC only
+#define __read64u_ua(x) __read_nonaligned_u64((uint64_as_uint32_t) x)
+#define __read64s_ua(x) __read_nonaligned_s64((int64_as_uint32_t) x)
 
 #if (BYTE_ORDER == LITTLE_ENDIAN)
 	#define __cpu_to_le16(x) ((uint16_t)(x))
@@ -77,6 +125,7 @@
 	#define __le24_to_cpu(x) ((uint32_t)(x))
 	#define __le32_to_cpu(x) ((uint32_t)(x))
 	#define __le64_to_cpu(x) ((uint64_t)(x))
+	#define __inplace_le64_to_cpu_nonaligned(x)
 #elif (BYTE_ORDER == BIG_ENDIAN)
 	#define __cpu_to_le16(x) __swab16(x)
 	#define __cpu_to_le24(x) __swab24(x)
@@ -86,6 +135,7 @@
 	#define __le24_to_cpu(x) __swab24(x)
 	#define __le32_to_cpu(x) __swab32(x)
 	#define __le64_to_cpu(x) __swab64(x)
+	#define __inplace_le64_to_cpu_nonaligned(x) (__inplace_swab64_nonaligned((unsigned char *)(&x)))
 #else
 # error "JFS works only on big- or littleendian machines"
 #endif
diff -urN jfsutils-1.1.12~/jfsutils.spec jfsutils-1.1.12/jfsutils.spec
--- jfsutils-1.1.12~/jfsutils.spec	2007-08-24 22:26:01.000000000 +0200
+++ jfsutils-1.1.12/jfsutils.spec	1970-01-01 01:00:00.000000000 +0100
@@ -1,43 +0,0 @@
-Name      : jfsutils
-Version   : 1.1.12
-Release   : 1
-Group     : System/Kernel
-
-Summary   : IBM JFS utility programs
-
-Copyright : GPL
-Packager  : JFS/Linux team <shaggy@austin.ibm.com>
-URL       : http://jfs.sourceforge.net/
-
-Buildroot : %{_tmppath}/%{name}-%{version}
-Source    : %{name}-%{version}.tar.gz
-
-
-%Description
-Utilities for managing IBM's Journaled File System (JFS) under Linux.  The
-following utilities are available: jfs_fsck - initiate replay of the JFS
-transaction log, and check and repair a JFS formatted device. jfs_fscklog -
-extract a log from the JFS fsck workspace into a file and/or display it.
-jfs_logdump - dump a JFS formatted device's journal log. jfs_mkfs - create
-a JFS formatted partition. jfs_tune - adjust tunable parameters of the JFS
-file system. jfs_debugfs - shell-type JFS file system editor.
-
-
-%Prep
-%setup -q
-
-%Build
-CFLAGS="${RPM_OPT_FLAGS}" ./configure --mandir=/usr/share/man/en/
-make
-
-%Install
-make install DESTDIR=${RPM_BUILD_ROOT}
-
-%Clean
-rm -rf ${RPM_BUILD_ROOT}
-
-%Files
-%defattr(-,root,root)
-/sbin/*
-%{_mandir}/en/man8/*
-%doc AUTHORS COPYING INSTALL NEWS README ChangeLog
diff -urN jfsutils-1.1.12~/libfs/fsckwsp.h jfsutils-1.1.12/libfs/fsckwsp.h
--- jfsutils-1.1.12~/libfs/fsckwsp.h	2005-11-22 21:43:55.000000000 +0100
+++ jfsutils-1.1.12/libfs/fsckwsp.h	2008-10-14 23:37:41.000000000 +0200
@@ -394,7 +394,7 @@
 struct fsck_agg_record {
 	char eyecatcher[8];
 	uint32_t ondev_jlog_fsblk_length;
-	int64_t ondev_jlog_fsblk_offset;
+        int64_t ondev_jlog_fsblk_offset;
 	int64_t ondev_wsp_byte_length;
 	int64_t ondev_wsp_byte_offset;
 	uint32_t ondev_wsp_fsblk_length;
diff -urN jfsutils-1.1.12~/libfs/jfs_endian.c jfsutils-1.1.12/libfs/jfs_endian.c
--- jfsutils-1.1.12~/libfs/jfs_endian.c	2006-11-02 23:37:13.000000000 +0100
+++ jfsutils-1.1.12/libfs/jfs_endian.c	2008-10-14 23:37:41.000000000 +0200
@@ -77,8 +77,8 @@
 	di->di_number = __le32_to_cpu(di->di_number);
 	di->di_gen = __le32_to_cpu(di->di_gen);
 
-	di->di_size = __le64_to_cpu(di->di_size);
-	di->di_nblocks = __le64_to_cpu(di->di_nblocks);
+	__inplace_le64_to_cpu_nonaligned(di->di_size);
+	__inplace_le64_to_cpu_nonaligned(di->di_nblocks);
 	di->di_nlink = __le32_to_cpu(di->di_nlink);
 	di->di_uid = __le32_to_cpu(di->di_uid);
 	di->di_gid = __le32_to_cpu(di->di_gid);
@@ -352,26 +352,25 @@
 	fsck_bmap_h->cbblrec.fs_blksize = __le32_to_cpu(fsck_bmap_h->cbblrec.fs_blksize);
 	fsck_bmap_h->cbblrec.lv_blksize = __le32_to_cpu(fsck_bmap_h->cbblrec.lv_blksize);
 	fsck_bmap_h->cbblrec.fs_lv_ratio = __le32_to_cpu(fsck_bmap_h->cbblrec.fs_lv_ratio);
-	fsck_bmap_h->cbblrec.fs_last_metablk = __le64_to_cpu(fsck_bmap_h->cbblrec.fs_last_metablk);
-	fsck_bmap_h->cbblrec.fs_first_wspblk = __le64_to_cpu(fsck_bmap_h->cbblrec.fs_first_wspblk);
+	__inplace_le64_to_cpu_nonaligned(fsck_bmap_h->cbblrec.fs_last_metablk);
+	__inplace_le64_to_cpu_nonaligned(fsck_bmap_h->cbblrec.fs_first_wspblk);
 	fsck_bmap_h->cbblrec.total_bad_blocks =
 	    __le32_to_cpu(fsck_bmap_h->cbblrec.total_bad_blocks);
 	fsck_bmap_h->cbblrec.resolved_blocks = __le32_to_cpu(fsck_bmap_h->cbblrec.resolved_blocks);
 	fsck_bmap_h->cbblrec.reloc_extents = __le32_to_cpu(fsck_bmap_h->cbblrec.reloc_extents);
-	fsck_bmap_h->cbblrec.reloc_blocks = __le64_to_cpu(fsck_bmap_h->cbblrec.reloc_blocks);
+	__inplace_le64_to_cpu_nonaligned(fsck_bmap_h->cbblrec.reloc_blocks);
 	fsck_bmap_h->cbblrec.LVM_lists = __le32_to_cpu(fsck_bmap_h->cbblrec.LVM_lists);
 
 	fsck_bmap_h->hdr.last_entry_pos = __le32_to_cpu(fsck_bmap_h->hdr.last_entry_pos);
 	fsck_bmap_h->hdr.next_entry_pos = __le32_to_cpu(fsck_bmap_h->hdr.next_entry_pos);
 	fsck_bmap_h->hdr.return_code = __le32_to_cpu(fsck_bmap_h->hdr.return_code);
 
-	fsck_bmap_h->hdr.fscklog_agg_offset = __le64_to_cpu(fsck_bmap_h->hdr.fscklog_agg_offset);
+	__inplace_le64_to_cpu_nonaligned(fsck_bmap_h->hdr.fscklog_agg_offset);
 	fsck_bmap_h->hdr.num_logwrite_errors = __le32_to_cpu(fsck_bmap_h->hdr.num_logwrite_errors);
 
 	/* struct fscklog_error logerr[125] */
 	for (i = 0; i < 125; i++) {
-		fsck_bmap_h->hdr.logerr[i].err_offset =
-		    __le64_to_cpu(fsck_bmap_h->hdr.logerr[i].err_offset);
+		__inplace_le64_to_cpu_nonaligned(fsck_bmap_h->hdr.logerr[i].err_offset);
 		fsck_bmap_h->hdr.logerr[i].bytes_written =
 		    __le32_to_cpu(fsck_bmap_h->hdr.logerr[i].bytes_written);
 		fsck_bmap_h->hdr.logerr[i].io_retcode =
@@ -416,7 +415,7 @@
 
 	/* iag in jfs_logmgr.h */
 
-	ia_t->agstart = __le64_to_cpu(ia_t->agstart);
+	__inplace_le64_to_cpu_nonaligned(ia_t->agstart);
 	ia_t->iagnum = __le32_to_cpu(ia_t->iagnum);
 	ia_t->inofreefwd = __le32_to_cpu(ia_t->inofreefwd);
 	ia_t->inofreeback = __le32_to_cpu(ia_t->inofreeback);
@@ -598,8 +597,8 @@
 	/* xtpage_t in jfs_xtree.h */
 
 	/* struct xtheader header; */
-	xtp_t->header.next = __le64_to_cpu(xtp_t->header.next);
-	xtp_t->header.prev = __le64_to_cpu(xtp_t->header.prev);
+	__inplace_le64_to_cpu_nonaligned(xtp_t->header.next);
+	__inplace_le64_to_cpu_nonaligned(xtp_t->header.prev);
 
 	xtp_t->header.maxentry = __le16_to_cpu(xtp_t->header.maxentry);
 	xtp_t->header.rsrvd2 = __le16_to_cpu(xtp_t->header.rsrvd2);
diff -urN jfsutils-1.1.12~/libfs/log_work.c jfsutils-1.1.12/libfs/log_work.c
--- jfsutils-1.1.12~/libfs/log_work.c	2006-06-04 23:37:29.000000000 +0200
+++ jfsutils-1.1.12/libfs/log_work.c	2008-10-14 23:37:41.000000000 +0200
@@ -2412,7 +2412,7 @@
 	xad_t *xad_p;
 	pxd_t pxd1;
 	struct iag_data *imp;
-	struct dinode *dip = 0;
+	struct dinode dip;
 	int32_t xlen, xlength;
 	int16_t nword;
 	int8_t upd_possible = 0;
@@ -2713,7 +2713,7 @@
 			 */
 
 			if (ino_rem == 0) {	/* inode base segment  */
-				dip = (struct dinode *) data;
+				memcpy(&dip, data, sizeof(dip));
 				if (ln == 1) {
 					/* ibase only */
 					if (db->db_ibase & mask_8)
@@ -2798,7 +2798,7 @@
 				 * this case, we will mark block map to show
 				 * the whole inode extent (all 4 pages) as
 				 * allocated */
-				allocate = (dip->di_nlink != 0);
+				allocate = (dip.di_nlink != 0);
 				inoext_alloc |= allocate;
 				/*
 				 * There is only one fileset per aggregate, so
@@ -2807,8 +2807,8 @@
 				 */
 				if (ld->log.redopage.inode == FILESYSTEM_I) {
 					rc = markImap(&vopen[vol].fsimap_lst,
-						      __le32_to_cpu(dip->di_number),
-						      dip->di_ixpxd, allocate, vol);
+						      __le32_to_cpu(dip.di_number),
+						      dip.di_ixpxd, allocate, vol);
 					if (rc) {
 						fsck_send_msg(lrdo_UPPGMIMPFAIL, rc);
 						return (rc);
@@ -2824,7 +2824,7 @@
 				 */
 
 				if (!allocate)
-					doNoRedoFile(ld, __le32_to_cpu(dip->di_number));
+					doNoRedoFile(ld, __le32_to_cpu(dip.di_number));
 			}
 		} else if ((ld->log.redopage.type & (LOG_BTROOT | LOG_XTREE))
 			   == (LOG_BTROOT | LOG_XTREE)) {
@@ -3107,7 +3107,7 @@
 				/*
 				 * figure out which IAG and which extent
 				 */
-				iag_num = INOTOIAG(__le32_to_cpu(dip->di_number));
+				iag_num = INOTOIAG(__le32_to_cpu(dip.di_number));
 
 				imp = vopen[vol].fsimap_lst.imap_wsp[(iag_num + 1)
 				    ].imap_data;
@@ -3121,18 +3121,18 @@
 					    ].imap_data;
 				}
 				/* end first touch to this IAG */
-				ino = __le32_to_cpu(dip->di_number) & (INOSPERIAG - 1);
+				ino = __le32_to_cpu(dip.di_number) & (INOSPERIAG - 1);
 				extno = ino >> L2INOSPEREXT;
 				/*
 				 * make sure the IAG points to it correctly
 				 */
-				imp->inoext[extno] = dip->di_ixpxd;
+				imp->inoext[extno] = dip.di_ixpxd;
 			}
 			/* end fileset owned */
 			/*
 			 * make sure the block map shows it allocated
 			 */
-			rc = markBmap((struct dmap *) vopen[vol].bmap_ctl, dip->di_ixpxd, 1, vol);
+			rc = markBmap((struct dmap *) vopen[vol].bmap_ctl, dip.di_ixpxd, 1, vol);
 			if (rc) {
 				fsck_send_msg(lrdo_UPPGMBMPFAIL, rc);
 				return (rc);
diff -urN jfsutils-1.1.12~/libfs/super.c jfsutils-1.1.12/libfs/super.c
--- jfsutils-1.1.12~/libfs/super.c	2005-11-22 21:43:55.000000000 +0100
+++ jfsutils-1.1.12/libfs/super.c	2008-10-14 23:37:41.000000000 +0200
@@ -162,14 +162,14 @@
  */
 int ujfs_put_superblk(FILE *fp, struct superblock *sb, int16_t is_primary)
 {
-	char buf[SIZE_OF_SUPER];
+	struct superblock buf[(SIZE_OF_SUPER+sizeof(*sb)-1)/sizeof(*sb)];
 	int rc;
 
 	memset(buf, 0, SIZE_OF_SUPER);
 	memcpy(buf, sb, sizeof (*sb));
 
 	/* swap if on big endian machine */
-	ujfs_swap_superblock((struct superblock *) buf);
+	ujfs_swap_superblock(buf);
 
 	rc = ujfs_rw_diskblocks(fp, (is_primary ? SUPER1_OFF : SUPER2_OFF),
 				SIZE_OF_SUPER, buf, PUT);

Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Sun, 26 Oct 2008 20:48:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kees Cook <kees@outflux.net>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Sun, 26 Oct 2008 20:48:04 GMT) Full text and rfc822 format available.

Message #52 received at 499078@bugs.debian.org (full text, mbox):

From: Kees Cook <kees@outflux.net>
To: 499078@bugs.debian.org, Ivan Jager <aij+debian@andrew.cmu.edu>
Subject: alignment patch
Date: Sun, 26 Oct 2008 13:45:21 -0700
[Message part 1 (text/plain, inline)]
Hi,

How about this patch as an alternative, which doesn't change the
semantics of the array, but makes sure it is aligned.

Thanks,

-Kees

-- 
Kees Cook                                            @outflux.net
[jfsutils-alignment.patch (text/x-diff, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Mon, 27 Oct 2008 18:21:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ivan Jager <aij+nospam@andrew.cmu.edu>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Mon, 27 Oct 2008 18:21:03 GMT) Full text and rfc822 format available.

Message #57 received at 499078@bugs.debian.org (full text, mbox):

From: Ivan Jager <aij+nospam@andrew.cmu.edu>
To: Kees Cook <kees@outflux.net>
Cc: 499078@bugs.debian.org, Ivan Jager <aij+debian@andrew.cmu.edu>
Subject: Re: alignment patch
Date: Mon, 27 Oct 2008 14:19:15 -0400 (EDT)
Hi Kees,

On Sun, 26 Oct 2008, Kees Cook wrote:
> How about this patch as an alternative, which doesn't change the
> semantics of the array, but makes sure it is aligned.

After applying only your patch, it still crashes in log_work.c. (So, I 
guess it works as well as my patch to super.c, although that wasn't the 
part I was worried about.)

I did think of patching super.c by specifying alignment, but didn't think 
upstream would accept use of GCC extensions. Also, declaring the array as 
what it is used as just seems cleaner overall, although it does allocate 
an extra 136 bytes on the stack. (Is that the semantic change you are 
worried about?)

Anyways, the semantic change I was worried about was the change to dip in 
log_work.c, since I'm not entirely sure whether something else might be 
changing *data.

Ivan




Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Wed, 03 Dec 2008 11:36:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mark Purcell <msp@debian.org>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Wed, 03 Dec 2008 11:36:05 GMT) Full text and rfc822 format available.

Message #62 received at 499078@bugs.debian.org (full text, mbox):

From: Mark Purcell <msp@debian.org>
To: "Stefan Hornburg (Racke)" <racke@linuxia.de>, 499078@bugs.debian.org
Cc: Luk Claes <luk@debian.org>, Ivan Jager <aij@andrew.cmu.edu>, 499078-submitter@bugs.debian.org
Subject: Re: Bug#499078: jfsutils: Bus Error when running fsck.jfs on sparc
Date: Wed, 3 Dec 2008 22:30:37 +1100
On Tuesday 14 October 2008 07:53:52 Stefan Hornburg (Racke) wrote:
> We have to ensure that a patched version will not fail on the
> other architectures.
>
> I couldn't promise to upload a new version, but I can certainly
> look into it.

Racke,

This RC bug against your package seems to of stalled.

Can you advise your proposed way forward for this bug for lenny?
Maybe worth discussing on debian-release as well.

Thanks,
Mark




Message sent on to Ivan Jager <aij+debian@andrew.cmu.edu>:
Bug#499078. (Wed, 03 Dec 2008 11:36:09 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Thu, 25 Dec 2008 22:33:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Steve McIntyre <steve@einval.com>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Thu, 25 Dec 2008 22:33:05 GMT) Full text and rfc822 format available.

Message #70 received at 499078@bugs.debian.org (full text, mbox):

From: Steve McIntyre <steve@einval.com>
To: Ivan Jager <aij@andrew.cmu.edu>, 499078@bugs.debian.org
Subject: Looking into #499078 some more
Date: Thu, 25 Dec 2008 22:30:29 +0000
Hi Ivan,

Is there any chance you could post the filesystem image you have
somewhere I could download it, please? I appreciate there are
sensitive files in it (it's your root filesystem!), but I'm hoping to
be able to work on a full fix and for that I'll need some raw data to
test on my sparc machine here.

Thanks,
-- 
Steve McIntyre, Cambridge, UK.                                steve@einval.com
< liw> everything I know about UK hotels I learned from "Fawlty Towers"





Tags added: moreinfo Request was from Steve McIntyre <steve@einval.com> to control@bugs.debian.org. (Sun, 04 Jan 2009 17:39:06 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Sun, 08 Feb 2009 05:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ivan Jager <aij+nospam@andrew.cmu.edu>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Sun, 08 Feb 2009 05:30:02 GMT) Full text and rfc822 format available.

Message #77 received at 499078@bugs.debian.org (full text, mbox):

From: Ivan Jager <aij+nospam@andrew.cmu.edu>
To: Steve McIntyre <steve@einval.com>, 499078@bugs.debian.org
Subject: Re: Bug#499078: Looking into #499078 some more
Date: Sun, 8 Feb 2009 00:26:30 -0500 (EST)
[Message part 1 (text/plain, inline)]
On Thu, 25 Dec 2008, Steve McIntyre wrote:
> Hi Ivan,
>
> Is there any chance you could post the filesystem image you have
> somewhere I could download it, please? I appreciate there are
> sensitive files in it (it's your root filesystem!), but I'm hoping to
> be able to work on a full fix and for that I'll need some raw data to
> test on my sparc machine here.

Sorry for taking so long to get back to you. I meant to get this done 
sooner. Anyways, here is a much smaller filesystem image which exhibits 
the same problemms. This was created by taking an lvm snapshot while 
copying linux sources to an otherwise empty filesystem, so it should be ok 
to distribute as widely as you'd like. (And this seems to be a pretty 
effective way to reproduce it.)

I had previously created an image by actually powering off the machine, 
but had made it much bigger and didn't remember to zero the partition 
first, so it didn't compress well. Anyways, I believe an lvm snapshot is 
just a cleaner way to get a dirty filesystem image, but if you prefer I 
actually fail power to the machine, I could do that within the week.

Ivan
[test2_32MB.jfs.broken.bz2 (application/octet-stream, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Stefan Hornburg (Racke) <racke@linuxia.de>:
Bug#499078; Package jfsutils. (Sun, 29 Nov 2009 20:09:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to Steve McIntyre <steve@einval.com>:
Extra info received and forwarded to list. Copy sent to Stefan Hornburg (Racke) <racke@linuxia.de>. (Sun, 29 Nov 2009 20:09:09 GMT) Full text and rfc822 format available.

Message #82 received at 499078@bugs.debian.org (full text, mbox):

From: Steve McIntyre <steve@einval.com>
To: 499078@bugs.debian.org
Subject: Re: Looking into #499078 some more
Date: Sun, 29 Nov 2009 19:26:58 +0000
[Message part 1 (text/plain, inline)]
Finally found the time to sit down with a sparc box and work through
this. NMU diff attached.

-- 
Steve McIntyre, Cambridge, UK.                                steve@einval.com
  Mature Sporty Personal
  More Innovation More Adult
  A Man in Dandism
  Powered Midship Specialty
[jfs-nmu.diff (text/x-diff, attachment)]

Reply sent to Steve McIntyre <93sam@debian.org>:
You have taken responsibility. (Sun, 29 Nov 2009 22:03:12 GMT) Full text and rfc822 format available.

Notification sent to Ivan Jager <aij+debian@andrew.cmu.edu>:
Bug acknowledged by developer. (Sun, 29 Nov 2009 22:03:13 GMT) Full text and rfc822 format available.

Message #87 received at 499078-close@bugs.debian.org (full text, mbox):

From: Steve McIntyre <93sam@debian.org>
To: 499078-close@bugs.debian.org
Subject: Bug#499078: fixed in jfsutils 1.1.12-2.1
Date: Sun, 29 Nov 2009 22:00:30 +0000
Source: jfsutils
Source-Version: 1.1.12-2.1

We believe that the bug you reported is fixed in the latest version of
jfsutils, which is due to be installed in the Debian FTP archive:

jfsutils-udeb_1.1.12-2.1_i386.udeb
  to main/j/jfsutils/jfsutils-udeb_1.1.12-2.1_i386.udeb
jfsutils_1.1.12-2.1.diff.gz
  to main/j/jfsutils/jfsutils_1.1.12-2.1.diff.gz
jfsutils_1.1.12-2.1.dsc
  to main/j/jfsutils/jfsutils_1.1.12-2.1.dsc
jfsutils_1.1.12-2.1_i386.deb
  to main/j/jfsutils/jfsutils_1.1.12-2.1_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 499078@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Steve McIntyre <93sam@debian.org> (supplier of updated jfsutils package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sun, 29 Nov 2009 19:16:16 +0000
Source: jfsutils
Binary: jfsutils jfsutils-udeb
Architecture: source i386
Version: 1.1.12-2.1
Distribution: unstable
Urgency: low
Maintainer: Stefan Hornburg (Racke) <racke@linuxia.de>
Changed-By: Steve McIntyre <93sam@debian.org>
Description: 
 jfsutils   - utilities for managing the JFS filesystem
 jfsutils-udeb - A stripped-down version of jfsutils, for debian-installer (udeb)
Closes: 499078
Changes: 
 jfsutils (1.1.12-2.1) unstable; urgency=low
 .
   * Non-maintainer upload.
   * Fix alignment problem causing SIGBUS on sparc. Closes: #499078
Checksums-Sha1: 
 bcd5aed175df72aca291965424d0bfc1f4e2a6a8 1046 jfsutils_1.1.12-2.1.dsc
 b5e97d6e07338d93025ba68ae33ab98b6159f0dd 3932 jfsutils_1.1.12-2.1.diff.gz
 d5d3186fd29bd5c21b36c94e1f32c30938665e47 269752 jfsutils_1.1.12-2.1_i386.deb
 13edbba3aa25421c65b994ce1e1de779e2a747e9 238544 jfsutils-udeb_1.1.12-2.1_i386.udeb
Checksums-Sha256: 
 1782395f476441113cab5dbf589ac605f986aca3557b444ddf7393367179b2ea 1046 jfsutils_1.1.12-2.1.dsc
 014003361a04d4dccc51a326bd905a8bd34dba52f0e2c5eee54c91304f55e56d 3932 jfsutils_1.1.12-2.1.diff.gz
 65cd11018bd642a2a1f488a318d4f2c8257dc2360d746086a921c38e0adcef60 269752 jfsutils_1.1.12-2.1_i386.deb
 036b105669e546ca59305a7c93418cc7106be1ce739ec1e8313b6288dd421510 238544 jfsutils-udeb_1.1.12-2.1_i386.udeb
Files: 
 9673678c1e9039004ee1b907097055dc 1046 admin optional jfsutils_1.1.12-2.1.dsc
 8821e19eb927330a813442ecced2c3ed 3932 admin optional jfsutils_1.1.12-2.1.diff.gz
 e40d2acbdffab7cd52e96cbc96e2a757 269752 admin optional jfsutils_1.1.12-2.1_i386.deb
 5bbb30361f1b620c1a89695f75aecd3e 238544 debian-installer optional jfsutils-udeb_1.1.12-2.1_i386.udeb
Package-Type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAksSy2YACgkQfDt5cIjHwfevtQCfdI3Cm+NITS5OK/rP8ZdrlXn2
EiQAoIIA9jN+PVi3TEdMx7QZGsiik+zh
=cTYA
-----END PGP SIGNATURE-----





Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 07 Mar 2011 09:55:40 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Fri Apr 18 19:55:20 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.