Bug#1037541: libguestfs: FTBFS: supermin: error: lstat: Value too large for defined data type: /var/tmp/supermin2b73c8.tmpdir/base.d/init

2023-06-14 Thread Richard W.M. Jones
[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1037541]

I think what's happening here is we are using the 31/32 bit lstat
functions in OCaml:

  
https://github.com/ocaml/ocaml/blob/3d50c168062e9fdbacf739a73738b10108ff3628/otherlibs/unix/unix.mli#L500

(I guess st_size which is signed 31 bits on armv7, but 63 bits on 64 bit
platforms).  We ought to be using the 64 bit version instead:

  
https://github.com/ocaml/ocaml/blob/3d50c168062e9fdbacf739a73738b10108ff3628/otherlibs/unix/unix.mli#L544

The specific problem will be that the size of some file has grown
larger than 1GB resulting in this runtime error, although that seems unusual.

Now we *ought* to be using those functions already because we should
always be doing:

  open Unix
  open Unix.LargeFile

to use the "LargeFile" (64 bit) versions of the functions.  I had a
quick look through the code to see where we are using 'open Unix'
without 'open Unix.LargeFile' but I couldn't find the place, leaving
me confused.

(Of course the other problem is that Fedora has abandoned all 32 bit
platforms long ago so we never test this ...)

Practically my recommendation is to exclude the whole virt stack on
armv7 since it has been years since we tested it.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org



Bug#1037541: libguestfs: FTBFS: supermin: error: lstat: Value too large for defined data type: /var/tmp/supermin2b73c8.tmpdir/base.d/init

2023-06-14 Thread Hilko Bengen
* Sebastian Ramacher:

> Source: libguestfs
> Version: 1:1.50.1-1
> Severity: serious
> Tags: ftbfs
> Justification: fails to build from source (but built successfully in the past)
> X-Debbugs-Cc: sramac...@debian.org

… and it also fails to build on armhf. Likely a 32bit-arch-specific
issue. My guess is that somewhere within supermin, off_t is still at a
32bit value and the filesystem image generated during the tests is
larger than that.

Cheers,
-Hilko



Bug#1037541: libguestfs: FTBFS: supermin: error: lstat: Value too large for defined data type: /var/tmp/supermin2b73c8.tmpdir/base.d/init

2023-06-13 Thread Sebastian Ramacher
Source: libguestfs
Version: 1:1.50.1-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: sramac...@debian.org

https://buildd.debian.org/status/fetch.php?pkg=libguestfs=i386=1%3A1.50.1-1=1686678530=0

tar: etc: implausibly old time stamp -9223372036854775808
tar: usr/sbin/guestfsd: implausibly old time stamp -9223372036854775808
tar: usr/sbin: implausibly old time stamp -9223372036854775808
tar: usr: implausibly old time stamp -9223372036854775808
supermin: build: visiting 
/<>/debian/build-4/appliance/supermin.d/excludefiles type 
uncompressed excludefiles
supermin: build: visiting 
/<>/debian/build-4/appliance/supermin.d/hostfiles type 
uncompressed hostfiles
supermin: build: visiting 
/<>/debian/build-4/appliance/supermin.d/init.tar.gz type gzip base 
image (tar)
tar: init: implausibly old time stamp -9223372036854775808
supermin: build: visiting 
/<>/debian/build-4/appliance/supermin.d/packages type uncompressed 
packages
supermin: build: visiting 
/<>/debian/build-4/appliance/supermin.d/udev-rules.tar.gz type 
gzip base image (tar)
tar: etc/udev/rules.d/99-guestfs-serial.rules: implausibly old time stamp 
-9223372036854775808
tar: etc/udev/rules.d: implausibly old time stamp -9223372036854775808
tar: etc/udev: implausibly old time stamp -9223372036854775808
tar: etc: implausibly old time stamp -9223372036854775808
supermin: mapping package names to installed packages
supermin: resolving full list of package dependencies
supermin: build: 247 packages, including dependencies
supermin: build: 10324 files
supermin: build: 5081 files, after matching excludefiles
supermin: build: 5084 files, after adding hostfiles
supermin: build: 5084 files, after removing unreadable files
supermin: build: 5085 files, after munging
supermin: kernel: looking for kernel using environment variables ...
supermin: kernel: looking for kernels in /lib/modules/*/vmlinuz ...
supermin: kernel: looking for kernels in /boot ...
supermin: kernel: kernel version of /boot/vmlinuz-6.1.0-9-686-pae = 
6.1.0-9-686-pae (from content)
supermin: kernel: picked modules path /lib/modules/6.1.0-9-686-pae
supermin: kernel: picked vmlinuz /boot/vmlinuz-6.1.0-9-686-pae
supermin: kernel: kernel_version 6.1.0-9-686-pae
supermin: kernel: modpath /lib/modules/6.1.0-9-686-pae
supermin: ext2: creating empty ext2 filesystem 
'/<>/debian/build-4/tmp/.guestfs-2952/appliance.d.cs96n5v2/root'
supermin: ext2: populating from base image
supermin: error: lstat: Value too large for defined data type: 
/var/tmp/supermin2b73c8.tmpdir/base.d/init
libguestfs: error: /usr/bin/supermin exited with error status 1, see debug 
messages above
libguestfs: closing guestfs handle 0x57dcea80 (state 0)
libguestfs: command: run: rm
libguestfs: command: run: \ -rf 
/<>/debian/build-4/tmp/libguestfsLo9Elv
make[2]: *** [Makefile:1763: quickcheck] Error 1
make[2]: Leaving directory '/<>/debian/build-4'
make[1]: *** [debian/rules:133: override_dh_auto_test] Error 2
make[1]: Leaving directory '/<>'

Cheers
-- 
Sebastian Ramacher