Skip to content

Can't create indexes for .7z archives #177

@cheebusjeebus

Description

@cheebusjeebus

He mounts ok, But his index location always is :memory: Is he a bug? Kindly see below behaviors (long messages!):

$ ratarmount --debug 3 --recreate-index --index-file ~/test-archive.index.sqlite test-archive.7z
[Info]     ratarmount.actions: No mount point specified. Automatically inferred:      actions.py:168
           /file-testings/test-archive
[Debug]    ratarmountcore.mountsource.factory: Try to open with: libarchive           factory.py:334
[Info]     ratarmountcore.mountsource.archives: Trying to open archive with           archives.py:46
           libarchive backend.
Creating new SQLite index database at :memory:
Creating offset dictionary for /file-testings/test-archive.7z ...
[Info]     ratarmountcore.mountsource.formats.libarchive: Successfully opened type libarchive.py:308
           '7-Zip' with libarchive. Using filters: []
[Info]     ratarmountcore.SQLiteIndex: Resorting files by path ...                SQLiteIndex.py:817
Creating offset dictionary for /file-testings/test-archive.7z took 0.01s
[Info]     ratarmountcore.mountsource.factory: Opened archive with libarchive         factory.py:337
           backend.
Created mount point at: /file-testings/test-archive
[Debug]    fuse: Set libFUSE callback for 'getattr' to wrapped <bound method         mfusepy.py:1214
           FUSE.getattr_fuse_2 of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping
           <bound method FuseMount.getattr of <ratarmount.FuseMount.FuseMount object
           at 0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'readlink' to wrapped <bound method        mfusepy.py:1214
           FUSE.readlink of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.readlink of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Leave libFUSE value for 'getdir' uninitialized.                     mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'mknod' uninitialized.                   mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'mkdir' uninitialized.                   mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'unlink' uninitialized.                  mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'rmdir' uninitialized.                   mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'symlink' uninitialized.                 mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'rename' uninitialized.                  mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'link' uninitialized.                    mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'chmod' uninitialized.                   mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'chown' uninitialized.                   mfusepy.py:1192
[Debug]    fuse: Set libFUSE callback for 'truncate' to wrapped <bound method        mfusepy.py:1214
           FUSE.truncate_fuse_2 of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping
           <bound method FuseMount.truncate of <ratarmount.FuseMount.FuseMount
           object at 0x7f4757d62510>>
[Debug]    fuse: Leave libFUSE value for 'utime' uninitialized.                      mfusepy.py:1192
[Debug]    fuse: Set libFUSE callback for 'open' to wrapped <bound method FUSE.open  mfusepy.py:1214
           of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound method
           FuseMount.open of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'read' to wrapped <bound method FUSE.read  mfusepy.py:1214
           of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound method
           FuseMount.read of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'write' to wrapped <bound method           mfusepy.py:1214
           FUSE.write of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.write of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'statfs' to wrapped <bound method          mfusepy.py:1214
           FUSE.statfs of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.statfs of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'flush' to wrapped <bound method           mfusepy.py:1214
           FUSE.flush of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.flush of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'release' to wrapped <bound method         mfusepy.py:1214
           FUSE.release of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.release of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'fsync' to wrapped <bound method           mfusepy.py:1214
           FUSE.fsync of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.fsync of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Leave libFUSE callback for 'setxattr' uninitialized.                mfusepy.py:1192
[Debug]    fuse: Set libFUSE callback for 'getxattr' to wrapped <bound method        mfusepy.py:1214
           FUSE.getxattr of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.getxattr of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'listxattr' to wrapped <bound method       mfusepy.py:1214
           FUSE.listxattr of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping
           <bound method FuseMount.listxattr of <ratarmount.FuseMount.FuseMount
           object at 0x7f4757d62510>>
[Debug]    fuse: Leave libFUSE callback for 'removexattr' uninitialized.             mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'opendir' uninitialized.                 mfusepy.py:1192
[Debug]    fuse: Set libFUSE callback for 'readdir' to wrapped <bound method         mfusepy.py:1214
           FUSE.readdir_fuse_2 of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping
           <bound method FuseMount.readdir of <ratarmount.FuseMount.FuseMount object
           at 0x7f4757d62510>>
[Debug]    fuse: Leave libFUSE callback for 'releasedir' uninitialized.              mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'fsyncdir' uninitialized.                mfusepy.py:1192
[Debug]    fuse: Set libFUSE callback for 'init' to wrapped <bound method            mfusepy.py:1214
           FUSE.init_fuse_2 of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping
           <bound method FuseMount.init of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Leave libFUSE callback for 'destroy' uninitialized.                 mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'access' uninitialized.                  mfusepy.py:1192
[Debug]    fuse: Set libFUSE callback for 'create' to wrapped <bound method          mfusepy.py:1214
           FUSE.create of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.create of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'ftruncate' to wrapped <bound method       mfusepy.py:1214
           FUSE.ftruncate of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping
           <bound method FuseMount.truncate of <ratarmount.FuseMount.FuseMount
           object at 0x7f4757d62510>>
[Debug]    fuse: Set libFUSE callback for 'fgetattr' to wrapped <bound method        mfusepy.py:1214
           FUSE.fgetattr of <mfusepy.FUSE object at 0x7f4757c78d70>> wrapping <bound
           method FuseMount.getattr of <ratarmount.FuseMount.FuseMount object at
           0x7f4757d62510>>
[Debug]    fuse: Leave libFUSE callback for 'lock' uninitialized.                    mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'utimens' uninitialized.                 mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'bmap' uninitialized.                    mfusepy.py:1192
[Debug]    fuse: Leave libFUSE value for 'flag_nullpath_ok' uninitialized.           mfusepy.py:1192
[Debug]    fuse: Leave libFUSE value for 'flag_nopath' uninitialized.                mfusepy.py:1192
[Debug]    fuse: Leave libFUSE value for 'flag_utime_omit_ok' uninitialized.         mfusepy.py:1192
[Debug]    fuse: Leave libFUSE value for 'flag_reserved' uninitialized.              mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'ioctl' uninitialized.                   mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'poll' uninitialized.                    mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'write_buf' uninitialized.               mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'read_buf' uninitialized.                mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'flock' uninitialized.                   mfusepy.py:1192
[Debug]    fuse: Leave libFUSE callback for 'fallocate' uninitialized.               mfusepy.py:1192
$ ratarmount --version
ratarmount 1.2.0

Level 2 Dependencies:

mfusepy 3.0.0
ratarmountcore 0.10.0
rich 14.1.0
rich-argparse 1.7.1

Level 3 Dependencies:

indexed_gzip 1.8.8
indexed_zstd 1.6.0
libarchive-c 5.1
markdown-it-py 4.0.0
Pygments 2.19.2
python-xz 0.5.0
rapidgzip 0.15.2
rarfile 4.2
requests 2.32.5

Level 4 Dependencies:

charset-normalizer 3.4.3
idna 3.10
mdurl 0.1.2
typing_extensions 4.15.0
urllib3 2.5.0

System Software:

cpython 3.13.7
libsqlite3 3.50.4
libfuse 2.9
fusermount 2.9.9

Versioned Loaded Shared Libraries:

ld-linux-x86-64 2
libacl 1.1.2302
libarchive 13.8.1
libbz2 1.0.8
libc 6
libcap 2.76
libcrypto 3
libffi 8.2.0
libfuse 2.9.9
libgcc_s 1
libicudata 76.1
libicuuc 76.1
liblz4 1.10.0
liblzma 5.8.1
libm 6
libmpdec 4.0.1
libnss_mymachines 2
libnss_resolve 2
libpython3.13 1.0
libsqlite3 3.50.4
libssl 3
libstdc++ 6.0.34
libxml2 16.1.0
libz 1.3.1
libzstd 1.5.7

Metadata

Metadata

Assignees

No one assigned

    Labels

    performanceSomething is slower than it could be

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions