#605131 armel: null pointer in dir__enumerator on stat or commit

Package:
fsvs
Source:
fsvs
Description:
Full system versioning with metadata support
Submitter:
Seth Porter
Date:
2010-11-30 17:39:07 UTC
Severity:
important
#605131#5
Date:
2010-11-27 17:42:01 UTC
From:
To:
On a Marvell Sheevaplug, fsvs fails to stat or commit, with following message:

[quote]
root@mneme:/home/symmetry# fsvs stat /
.mC.      1594  /home/symmetry/.bash_history


An error occurred: Bad address (14)
  in dir__enumerator: Segmentation fault
root@mneme:/home/symmetry#
[/quote]

Discussion of this issue (similar environment) with the upstream author can be found in this thread: http://www.mail-archive.com/users@fsvs.tigris.org/msg00820.html

Same version is happy on my x86 boxes.

I downloaded deb source, added '--enable-debug' to the ./configure line in debian/rules, and compiled a local version; same symptoms. I then applied the "patch" (which seems to be strictly debug printouts) from http://www.mail-archive.com/users@fsvs.tigris.org/msg00826.html and rebuilt again; this version works (allows me to stat and commit, with the same filesystem and config where the debian distribution version does not).

Note that the debian source does not align exactly with the line numbers in that patch, so I had to apply it manually.

Concerns are two-fold:
* package is broken out of the box on the armel arch, or at least on a Sheevaplug
* an apparent no-op patch (unless I'm missing some side effect in the DEBUGP macro) actually fixes the problem. All I can think is that this patch, by referencing some fields, is forcing the compiler out of a broken optimization. If so, this could be a more general armel toolchain problem in squeeze.

Currently unknown if the same symptoms recur on more recent versions of fsvs (they're up to 1.2.2 now); I'm trying to keep this machine close to the Debian baseline, but I could try some experiments if requested.

#605131#10
Date:
2010-11-28 00:41:05 UTC
From:
To:
Just to rule it out, I went back to the stock Debian kernel instead of
the one from (I guess this URL is blacklisted? It's where I got my
kernel...) sheeva.with<dash>linux.com/sheeva , reverted to the Debian
version of fsvs, and confirmed that it reproduces independently of the
kernel (which was the only non-Debian part of the original config):

root@mneme-dev:/home/symmetry# uname -a
Linux mneme-dev 2.6.32-5-kirkwood #1 Sun Oct 31 11:19:32 UTC 2010
armv5tel GNU/Linux
root@mneme-dev:/home/symmetry# dpkg -l fsvs
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  fsvs           1.1.17-1       Full system versioning with metadata
support
root@mneme-dev:/home/symmetry# fsvs stat /
.mC.      4561  /root/.bash_history
.m..         0  /root/.aptitude/config


An error occurred: Bad address (14)
   in dir__enumerator: Segmentation fault
root@mneme-dev:/home/symmetry#

Thanks,
Seth

#605131#15
Date:
2010-11-30 17:25:25 UTC
From:
To:
I think this is a compiler issue, not directly related to FSVS.