Crash when mounting installation ISO under QEMU/KVM

OpenVMS virtualization: OpenVMS on VirtualBox, VMWare, Hyper-V, KVM, and more.
Post Reply
User avatar

Topic author
martinv
Master
Posts: 104
Joined: Fri Jun 14, 2019 11:05 pm
Reputation: 0
Location: Goslar, Germany
Status: Offline
Contact:

Crash when mounting installation ISO under QEMU/KVM

Post by martinv » Mon Aug 07, 2023 7:21 am

Hi!

Installation of OpenVMS V9.2-1 under QEMU 1:6.2+dfsg-2ubuntu6.12 using KVM on Ubuntu 22.04.2 LTS on an HPE Proliant DL380 Gen10.
Start command is:

Code: Select all

VM_NAME=emuvms
NUMCPUS=2
RAMSIZE=8G
KBD_LANG=de
CONSOLE_PORT=12345
UEFI_IMAGE=$BASEDIR/OVMF.fd
SYSDISK_IMAGE=$BASEDIR/sysdisk.vmdk
INST_IMAGE=$BASEDIR/X860921OE.ISO
MACADDR=$($SCRIPT_DIR/qemu-mac-hasher $VM_NAME)
QMP_SOCKET=$BASEDIR/qmp-socket

UEFI_DEVICE="-drive file=$UEFI_IMAGE,if=pflash,format=raw"
SYSDISK_DEVICE="-device ide-hd,bus=ahci.0,drive=disk -drive id=disk,file=$SYSDISK_IMAGE,if=none,format=raw"
INST_DEVICE="-device ide-cd,bus=ahci.4,drive=cd -drive id=cd,file=$INST_IMAGE,if=none,readonly=on"
CONSOLE_DEVICE="-chardev socket,id=opa0,port=$CONSOLE_PORT,host=127.0.0.1,server=on,wait=off -serial chardev:opa0"
NET_DEVICE="-net nic,model=e1000,macaddr=$MACADDR -net bridge,br=vmsbr0"
QMP_DEVICE="-qmp unix:$QMP_SOCKET,server,wait=off"

/usr/bin/qemu-system-x86_64 \
-name $VM_NAME \
-machine q35,accel=kvm \
-cpu host \
-smp cpus=$NUMCPUS,sockets=1,cores=$NUMCPUS,threads=1 \
-m size=$RAMSIZE \
-k $KBD_LANG \
-rtc base=localtime,clock=rt \
-device ich9-ahci,id=ahci \
-nographic \
$QMP_DEVICE \
$UEFI_DEVICE \
$CONSOLE_DEVICE \
$SYSDISK_DEVICE \
$INST_DEVICE \
$NET_DEVICE \
&
Logged into the serial console via netcat, and then

Code: Select all

  SYSTEM       job terminated at  7-AUG-2023 13:09:11.55

  Accounting information:
  Buffered I/O count:               8034      Peak working set size:      13760
  Direct I/O count:                 3864      Peak virtual size:         300528
  Page faults:                     15248      Mounted volumes:                0
  Charged CPU time:        0 00:00:03.98      Elapsed time:       0 00:00:15.39

 Welcome to OpenVMS (TM) x86_64 Operating System, Version V9.2-1

Username: system
Password:
VMS Software, Inc. OpenVMS (TM) x86_64 Operating System, V9.2-1
    Last interactive login on Monday,  7-AUG-2023 13:07:48.21
    Last non-interactive login on Monday,  7-AUG-2023 07:56:44.66
$
$
$ sho dev d

Device                  Device           Error   Volume          Free  Trans Mnt
 Name                   Status           Count    Label         Blocks Count Cnt
DSA0:                   Mounted              0 X86SYS          3776400   234   1
$3$DKA0:      (EMUVMS)  ShadowSetMember      0 (member of DSA0:)
$3$DKA400:    (EMUVMS)  Online wrtlck        0
$3$DMM0:      (EMUVMS)  Offline              0
$ mount /nowrite /override=ident $3$dka400:

MMG$PAGEFAULT IPLHI:
  Fault_VA:  0000000000000002
  Err Code:  0000000000000002
  MMF_Flags: 8000000000000000
  Intstk_p:  FFFFFFFF8DDD8770
  RIP:       FFFF830008C728A0
  Int_ps:    0000000000000800

*** Page Fault IPL Too High ***



VSI Dump Kernel SYSBOOT May 16 2023 13:21:17


**** OpenVMS x86_64 Operating System V9.2-1   - BUGCHECK ****

** Bugcheck code = 0000035C: PGFIPLHI, Pagefault with IPL too high
** Crash Time:             7-AUG-2023 13:09:40.00
** Crash CPU: 00000000    Primary CPU: 00000000    Node Name: EMUVMS
** Highest CPU number:    00000001
** Active CPUs:           00000000.00000003
** Current Process:       "SYSTEM"
** Current PSB ID:        00000001
** Image Name:            DSA0:[SYS0.SYSCOMMON.][SYSEXE]VMOUNT.EXE

** Dumping error logs to system disk shadow set member $3$DKA0:
** Error logs dumped to $3$DKA0:[SYS0.SYSEXE]SYS$ERRLOG.DMP
** (used 148 out of 160 available blocks)
** Dumping memory to system disk shadow set master member $3$DKA0:

**** Starting interleaved memory dump at  7-AUG-2023 13:10:23.35 ****
** Determining system configuration...

%SMP-I-CPUTRN, CPU #1 has joined the active set.

** 1 secondary CPU has been started
** 21 processes to be dumped (includes 8 key processes)
** Calculating dump size...
.0%....100%.
** Size of dump without any compression: 826144 blocks.
** Compressing and writing memory...
.0%......................39%...............................66%..................
.83%............100%.

%SMP-I-CPUTRN, CPU #1 was removed from the active set.

** Memory dumped to $3$DKA0:[SYS0.SYSEXE]SYSDUMP.DMP
** (used 148243 out of 16249280 available blocks)

**** Completed interleaved memory dump at  7-AUG-2023 13:10:28.78 ****
** Time to write memory dump:                5.42


Restarting the system...
Any ideas on where the problem is?

TIA,
Martin

Added in 1 hour 28 minutes 48 seconds:
The CLUE information is

Code: Select all

Crashdump Summary Information:
------------------------------
Crash Time:         7-AUG-2023 13:09:40.00
Bugcheck Type:     PGFIPLHI, Pagefault with IPL too high
Node:              EMUVMS  (Standalone)
CPU Type:          QEMU Standard PC (Q35 + ICH9, 2009)
VMS Version:       V9.2-1
Current Process:   SYSTEM
Current Image:     DSA0:[SYS0.SYSCOMMON.][SYSEXE]VMOUNT.EXE
Failing PC:        FFFF8300.08C728A0    SYS$DKDRIVER+8001CEA0   (MODE_SENSE_COMMON + 000035D0 / line 41556)
Failing PS:        00000000.00000000
Module:            SYS$DKDRIVER    (Link Date/Time: 16-MAY-2023 13:33:41.93)
Offset:            8001CEA0

Boot Time:          7-AUG-2023 13:08:54.00
System Uptime:               0 00:00:46.00
Crash/Primary CPU: 0./0.
System/CPU Type:   0000
Saved Processes:   21
Pagesize:          8 KByte (8192 bytes)
Physical Memory:   7934 MByte (2621440 PFNs, discontiguous memory)
Dumpfile Pagelets: 0 blocks
Dump Flags:        olddump,writecomp,errlogcomp
Dump Type:         raw,full,shared_mem
EXE$GL_FLAGS:      init,bugdump
Paging Files:      1 Pagefile and 0 Swapfiles installed

Stack Pointers:
KSP = FFFFFFFF.8DDD83D0   ESP = 00000000.7FF8B1B8   SSP = 00000000.7FF9CA28
USP = 00000000.7ACC1AE8

General Registers:
RAX = 00000000.00000600   RDI = 00000000.00100002   RSI = 00000000.0000035C
RDX = FFFFFFFF.8DDD8770   RCX = 00000000.00000002   R8  = 80000000.00000000
R9  = 00000000.00000008   RBX = FFFFFFFF.8DDD9F00   RBP = FFFFFFFF.8DDD84F0
R10 = 00000000.0000035C   R11 = 00000000.0000035C   R12 = FFFFFFFF.8DDD83E8
R13 = 00000000.00000010   R14 = FFFFFFFF.8B100AE0   R15 = 00000000.00009706
RIP = FFFF8300.0879F9D2   RSP = FFFFFFFF.8DDD83D8   SS  = 00000000.00000010

Pagefault Information:

Crashdump Summary Information:
------------------------------
Faulting Virtual Address        00000000.00000002
Memory Management Flags         80000000.00000000   (Write Fault)
Faulting IPL                    00000008

Exception Frame:
Exception taken at RIP FFFF8300.08C728A0 from Kernel mode
Trap Type      0000000E (Page Fault)
Address      = FFFFFFFF.8DDD8770         Prev Frame     = 00000000.7FF7BC20
RAX = 00000000.00000002   RDI = FFFFFFFF.822B2A00   RSI = FFFFFFFF.820B54C0
RDX = 00000000.00000001   RCX = 00000000.00000002   R8  = 00000000.00000000
R9  = FFFFFFFF.8DDD8801   RBX = FFFFFFFF.8DDD9F00   RBP = FFFFFFFF.8DDD8DB0
R10 = 00000000.00000001   R11 = FFFF8300.080A6100   R12 = FFFFFFFF.8DDD9DE8
R13 = 00000000.00000010   R14 = FFFFFFFF.8B100AE0   R15 = 00000000.000046FF
RIP = FFFF8300.08C728A0   RSP = FFFFFFFF.8DDD8950   SS  = 00000000.00000010

System Registers:
Page Table Base Register (PTBR)                           00000000.00651198
Processor Base Register (PRBR)                            FFFFFFFF.82000000
Privileged Context Block Base (PCBB)                      FFFFFFFF.8C004080
System Control Block Base (SCBB)                          00000000.00000000
Software Interrupt Summary Register (SISR)                00000000.00000000
Address Space Number (ASN)                                00000000.00000000
AST Summary / AST Enable (ASTSR_ASTEN)                    00000000.0000000F
Interrupt Priority Level (IPL)                            00000000.0000001F

Crashdump Summary Information:
------------------------------
Failing Instruction:
MODE_SENSE_COMMON + 000035D0 / line 41556:  movb    $00,(%rcx)

Instruction Stream (about last 10 instructions):
MODE_SENSE_COMMON + 00003590 / line 41549:  movl    %eax,-000003E0(%rbp)
MODE_SENSE_COMMON + 00003596 / line 41553:  movl    -000003E0(%rbp),%eax
MODE_SENSE_COMMON + 0000359C / line 41553:  andl    $00000001,%eax
MODE_SENSE_COMMON + 000035A1 / line 41553:  sarl    $00,%eax
MODE_SENSE_COMMON + 000035A4 / line 41553:  cmpl    $00000000,%eax
MODE_SENSE_COMMON + 000035A9 / line 41553:  setne   %r9l
MODE_SENSE_COMMON + 000035AD / line 41553:  testb   $01,%r9l
MODE_SENSE_COMMON + 000035B1 / line 41553:  jne     05
MODE_SENSE_COMMON + 000035B3 / line 41553:  jmpq    000000F8
MODE_SENSE_COMMON + 000035B8 / line 41556:  movl    -000003D4(%rbp),%eax
MODE_SENSE_COMMON + 000035BE / line 41556:  addl    $0000002C,%eax
MODE_SENSE_COMMON + 000035C3 / line 41556:  movslq  %eax,%rcx
MODE_SENSE_COMMON + 000035C6 / line 41556:  movl    (%rcx),%eax
MODE_SENSE_COMMON + 000035C8 / line 41556:  addl    $00000002,%eax
MODE_SENSE_COMMON + 000035CD / line 41556:  movslq  %eax,%rcx
MODE_SENSE_COMMON + 000035D0 / line 41556:  movb    $00,(%rcx)
MODE_SENSE_COMMON + 000035D3 / line 41559:  movl    -000003D4(%rbp),%eax
MODE_SENSE_COMMON + 000035D9 / line 41559:  movl    -00000148(%rbp),%edx
MODE_SENSE_COMMON + 000035DF / line 41559:  addl    $00000070,%eax

SDA> clue errlog
Dumpfile Errorlog Entry Information:
------------------------------------
Sequence  Date        Time            Error Message Type
--------  ----------- -----------     --------------------------------
       0   7-AUG-2023 13:08:55.08     Volume Mount
       1   7-AUG-2023 13:08:56.12     Volume Mount
       2   7-AUG-2023 13:08:56.36     System Service Message
       0   7-AUG-2023 13:08:55.08     Volume Mount
       1   7-AUG-2023 13:08:56.12     Volume Mount
       2   7-AUG-2023 13:08:56.36     System Service Message
       3   7-AUG-2023 13:09:40.00  *  Crash Entry

Config Entry and Errlog Entries written to CLUE$ERRLOG.SYS file.
Use System Event Analyzer or Error Log Viewer to analyze.
Last edited by martinv on Tue Aug 08, 2023 1:06 am, edited 2 times in total.
There is something wrong with everything that is popular.
(Charles Fort)

User avatar

volkerhalle
Master
Posts: 198
Joined: Fri Aug 14, 2020 11:31 am
Reputation: 0
Status: Offline

Re: Crash when mounting installation ISO under QEMU/KVM

Post by volkerhalle » Tue Aug 08, 2023 3:13 am

Martin,

looks like a problem in SYS$DKDRIVER routine MODE_SENSE_COMMON when processing 'unexpected' mode sense data coming from the 'QEMU/KVM virtualized' drive. Can you mount that .ISO in the same way using another Hypervisor ?

I could successfully mount the V9.2-1 ISO using V9.2-1 on VMware Workstation Player 16

$ mount/over=id/nowrite $1$DKA100:
%MOUNT-I-MOUNTED, X860921OE mounted on _$1$DKA100: (VOLKER)

And thanks for posting the CLUE file ;-)

Volker.
Last edited by volkerhalle on Tue Aug 08, 2023 3:39 am, edited 1 time in total.

User avatar

Topic author
martinv
Master
Posts: 104
Joined: Fri Jun 14, 2019 11:05 pm
Reputation: 0
Location: Goslar, Germany
Status: Offline
Contact:

Re: Crash when mounting installation ISO under QEMU/KVM

Post by martinv » Tue Aug 08, 2023 7:45 am

Volker,

thanks for confirming my thoughts about this. Something must be odd with my DVD-ROM drive configuration - this is the first time I get to configure a QEMU. virtualization..

Unfortunately, I can't look into this issue any further - the system is on its way to the customer. But I will certainly set up another QEMU VMS system. I already would have done so, but I haven't managed to set up nested virtualization in my Ubuntu system (running inside Virtualbox).

cu,
Martin
There is something wrong with everything that is popular.
(Charles Fort)

Post Reply