Subject: Re: [bug#27661] ISO-9660 image working and ready

From: [email-masked] (Ludovic Courtès)
Date: Mon, 17 Jul 2017 10:25:08 +0200

Danny Milosavljevic <[email-masked]> skribis:

> Debugging:
>
> $ qemu-system-x86_64 -bios $(guix build ovmf)/share/firmware/ovmf_x64.bin -m 1G -enable-kvm -hda Zuefi -serial stdio
>
> Then add "console=ttyS0" to Linux cmdline in grub menu edit.
>
> I get:
>
> [    0.923605] scsi 0:0:0:0: Direct-Access     ATA      QEMU HARDDISK    2.5+ PQ: 0 ANSI: 5
> [    0.926558] sd 0:0:0:0: [sda] 2215580 512-byte logical blocks: (1.13 GB/1.06 GiB)
> [    0.928683] sd 0:0:0:0: [sda] Write Protect is off
> [    0.930155] sd 0:0:0:0: Attached scsi generic sg0 type 0
> [    0.931705] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [    0.934772] scsi 1:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     2.5+ PQ: 0 ANSI: 5
> [    0.949039] sr 1:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray
> [    0.952674] cdrom: Uniform CD-ROM driver Revision: 3.20
> [    0.955449]  sda: sda1 sda2 sda3 sda4
> [    0.956995] sd 0:0:0:0: [sda] Attached SCSI disk
> [    0.959031] sr 1:0:0:0: Attached scsi generic sg1 type 5
> GC Warning: Couldn't read /proc/stat
> Welcome, this is GNU's early boot Guile.
> Use '--repl' for an initrd REPL.
> loading '/gnu/store/48d1w55iy2vpcm5ass5lsp8almghszv8-system/boot'...
> [    1.235733] attempt to access beyond end of device
> [    1.237066] sda1: rw=0, want=949216, limit=76376
> [    1.238565] attempt to access beyond end of device
> [    1.240115] sda1: rw=0, want=949216, limit=76376
> [    1.242095] attempt to access beyond end of device
> [    1.243545] sda1: rw=0, want=949216, limit=76376
> ERROR: In procedure primitive-load:
> ERROR: In procedure fport_fill_input: Input/output error

It looks like the partition detection code in (gnu build file-systems)
tries to read beyond the end of disk or something.  Could you try adding
a few ‘pk’ or ‘format’ calls in there so see what’s going on?

Alternately, you could run the same QEMU command line that the
derivation spawns, so you would get a REPL (and backtrace).  For that
you can “ps aux | grep qemu” while the derivation is building, and
copy/paste the QEMU command from there.

HTH,
Ludo’.