I recently upgraded my moosefs install and now have issues compiling my
Chicken based project "Megatest" on moosefs. I've asked for help on the
moosefs email list but this got me thinking, what could my compilation of
Megatest possibly be doing that pushes the filesystem? So I thought I'd try
on some other fuse based filesystems and what better than try the fuse
chicken egg. Amazingly it *almost* works!

Results so far (using hashfs.scm from the fuse egg examples directory):

1. Can't open a fossil on hashfs:

matt@mars:~/data/testhashfs/delme$ fossil open ~/fossils/megatest.fossil
SQLITE_NOTADB: statement aborts at 5: [ATTACH DATABASE
'/home/matt/data/testhashfs/delme/.fslckout' AS 'localdb'] file is
encrypted or is not a database
fossil: file is encrypted or is not a database: {ATTACH DATABASE
'/home/matt/data/testhashfs/delme/.fslckout' AS 'localdb'}

2. On hashfs Megatest compile gets through making the .o files but fails to
link with an error:

matt@mars:~/data/testhashfs/megatest$ make
csc  common.o items.o launch.o ods.o runconfig.o server.o configf.o db.o
keys.o margs.o megatest-version.o process.o runs.o tasks.o tests.o
genexample.o http-transport.o nmsg-transport.o filedb.o client.o synchash.o
daemon.o mt.o ezsteps.o lock-queue.o sdb.o rmt.o api.o tdb.o
rpc-transport.o portlogger.o archive.o env.o megatest.o -o mtest
/usr/bin/ld: error: common.o: file too short
collect2: error: ld returned 1 exit status

3. du -sh returns zero even for a non-empty directory.

This email is not a bug report and I'm not asking for any of these to be
"fixed" as hashfs.scm is just an example but the short file from compiling
common.scm seems interesting and perhaps is related to the moosefs issue.
Anyone have suggestions on things to look for in a source file that might
be challenging for a filesystem? For the record, both fossil open and
building/running Megatest work fine on sshfs, another fuse based filesystem.

I pasted the instructions I gave to the Moosefs folks for reproducing the
problem below in case it is useful.



How to reproduce:

1. Install chicken + IUP gui (alternative: use Makefile.installall from
utils dir in Megatest)

wget http://www.kiatoa.com/matt/chicken_4.11rc2_x86.tar.gz
cd /opt;tar xf /tmp/chicken.tar.gz
source /opt/chicken/4.11rc2_x86_64/setup-chicken4x.sh

2. Get Megatest source for v1.61 (project is at https://www.kiatoa.com/

 wget http://www.kiatoa.com/matt/megatest_v1.61_src.tar.gz
tar xf /tmp/megatest.tar.gz
cd megatest
make clean;make -j && make install
cd tests
source fixpath.sh
make dashboard

========== results ==========

cd fullrun && /mfs/tmp/megatest/bin/dashboard -skip-version-check -rows 20 &
Error: segmentation violation

    Call history:

    dcommon.scm:68: hash-table-set!
    tree.scm:12: ##sys#require
    tree.scm:13: ##sys#require
    tree.scm:15: ##sys#require
    tree.scm:17: ##sys#require
    tree.scm:17: ##sys#require
    tree.scm:17: ##sys#require
    altdb.scm:2: make-hash-table
    altdb.scm:3: ##sys#require
    altdb.scm:3: hash-table-set!
    vg.scm:13: ##sys#require
    vg.scm:16: ##sys#require
    vg.scm:16: ##sys#require
    vg_records.scm:4: ##sys#require
    vg_records.scm:5: make-exception
    vg_records.scm:17: ##sys#require          <--
Chicken-users mailing list

Reply via email to