Crashes since update 13.4.6 (Beta) x64

Since version 12, Opus has never crashed for me. Since the last update, it crashes a lot, especially when I close the main window. Logs have been submitted; submission ID is 245.

According to WhoCrashed, the culprit is program.sys. However, I do not have a program.sys file on my computer. (I used "Everything" to search.)

Many thanks, and apologies for the crash.

We've fixed that for the next update.

Until then, the problem happens if you have a dual file display in Thumbnails, List, or Large/Small Icons modes and close it. If you avoid that it should be OK.

1 Like

Crashed a few times today for no reason. (13.4.8 (Beta) x64 Build 8867) Here's the !analyze -v report:

This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(4898.6b6c): Access violation - code c0000005 (first/second chance not available)
For analysis of this file, run !analyze -v
00007ffb`262cd064 c3 ret
0:044> !analyze -v

  •                                                                         *
  •                    Exception Analysis                                   *
  •                                                                         *


Key  : AV.Fault
Value: Execute

Key  : Analysis.CPU.mSec
Value: 2968

Key  : Analysis.Elapsed.mSec
Value: 3827

Key  : Analysis.IO.Other.Mb
Value: 0

Key  : Analysis.IO.Read.Mb
Value: 0

Key  : Analysis.IO.Write.Mb
Value: 0

Key  : Analysis.Init.CPU.mSec
Value: 233

Key  : Analysis.Init.Elapsed.mSec
Value: 8992

Key  : Analysis.Memory.CommitPeak.Mb
Value: 184

Key  : CLR.BuiltBy

Key  : CLR.Engine
Value: CLR

Value: 1

Key  : CLR.Version
Value: 4.8.9232.0

Key  : Failure.Bucket
Value: BAD_INSTRUCTION_PTR_NOSOS_c0000005_msi.dll!Unloaded

Key  : Failure.Hash
Value: {527eabc7-0bcf-c433-1f8c-2d0f4b34c905}

Key  : Timeline.Process.Start.DeltaSec
Value: 9544

Key  : WER.OS.Branch
Value: vb_release

Key  : WER.OS.Version
Value: 10.0.19041.1

Key  : WER.Process.Version

FILE_IN_CAB: dopus.20240411.091530.dmp


CONTEXT: (.ecxr)
rax=0000017a74e32b30 rbx=00000040b0ddef00 rcx=0000017a74e32b30
rdx=0000000000000000 rsi=0000000000000000 rdi=0000017a7d94eee0
rip=00007ffaffdb39a0 rsp=00000040b0ddea08 rbp=00000040b0ddeb10
r8=00000040b0ddeee8 r9=0000000000000001 r10=0000000000008000
r11=00000040b0ddee30 r12=0000000000000000 r13=00000040b0ddf140
r14=0000000000000000 r15=00000040b0dff240
iopl=0 nv up ei pl zr na po nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
00007ffaffdb39a0 48895c2410 mov qword ptr [rsp+10h],rbx ss:00000040b0ddea18=0000000000000000
Resetting default scope

ExceptionAddress: 00007ffaffdb39a0 (msi!MsiOpenDatabaseW)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000008
Parameter[1]: 00007ffaffdb39a0
Attempt to execute non-executable address 00007ffaffdb39a0

PROCESS_NAME: dopus.exe

EXECUTE_ADDRESS: 7ffaffdb39a0

00007ffa`ffdb39a0 48895c2410 mov qword ptr [rsp+10h],rbx

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.


EXCEPTION_PARAMETER1: 0000000000000008

EXCEPTION_PARAMETER2: 00007ffaffdb39a0

ADDITIONAL_DEBUG_TEXT: SOS.DLL is not loaded for managed code. Analysis might be incomplete

00000040b0ddea08 00007ff6c35b8e45 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : msi!MsiOpenDatabaseW
00000040b0ddea10 00007ff6c35b98f6 : 02aaaaaaaaaaaaaa 0000017a7d94e230 ffffffffffffffff 00007ff600000000 : dopus!XMLDeleteAllNodeAttributes+0x7f7ac5
00000040b0ddeed0 00007ff6c35da4e9 : 0000017a7d94e250 0000017a73b50000 00000040b0dff240 0000000000000000 : dopus!XMLDeleteAllNodeAttributes+0x7f8576
00000040b0dff1d0 00007ff6c392e7e2 : 0000000000000000 0000000000000000 0000017a73b50000 0000017a11a148c0 : dopus!XMLDeleteAllNodeAttributes+0x819169
00000040b0dff410 00007ffa513c23f4 : 0000017a73001610 00000040b0dff401 0000000000000001 0000000000000001 : dopus!GetCompileDateAsSystemTime+0xec052
00000040b0dffb20 00007ffa5149862e : 0000017a725ea900 0000000000000000 0000000000000000 0000000000000000 : dopuslib!IsWow64+0x34
00000040b0dffb50 00007ffb25407344 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : dopuslib!DummyDllFunctionToAvoidSymbolConfusion+0xd226e
00000040b0dffb80 00007ffb262826b1 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : kernel32!BaseThreadInitThunk+0x14
00000040b0dffbb0 0000000000000000 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : ntdll!RtlUserThreadStart+0x21

SYMBOL_NAME: msi.dll!Unloaded+239a0


IMAGE_NAME: msi.dll

STACK_COMMAND: ~44s; .ecxr ; kb


OS_VERSION: 10.0.19041.1

BUILDLAB_STR: vb_release


OSNAME: Windows 10

FAILURE_ID_HASH: {527eabc7-0bcf-c433-1f8c-2d0f4b34c905}

Followup: MachineOwner

Something has unloaded msi.dll which is part of Windows, making it crash when called.

We don't explicitly load or unload it once Opus is up and running, so it looks like either a bug in the OS itself, or something a shell extension or similar in-process tool is doing that causes it to be unloaded (e.g. calling FreeLibrary on it too many times).

If there's a way to reproduce it, we can see if it also happens here, which would check if it's an OS bug.

Ok, that's helpful, knowing it's not an Opus issue. Being a software engineer myself, I'll investigate this on my system.

1 Like

Hasn't crashed for two days. Although this was an isolated problem, specific to my computer, I am writing about how I fixed it in case someone else encounters the same problem. Since msi.dll cannot be easily overwritten, even in safe mode or with third-party “paste on system reboot” software, I had to take a different approach.

  1. Use a program like Veeam, Macrium or Acronis to back up your PC before continuing. Not that these steps are very unlikely to cause any system issues, but they do include altering system files, so better be safe than sorry.
  2. Go to the Windows site and download the corresponding Tool for your system
  3. Open the Tool and choose "Create Installation Media" > Next > ISO file > download the ISO file somewhere on your C-drive, e.g. C:\ISO > Mount the ISO-file in Explorer > Take note of the Drive Letter (e.g. E:)
  4. Go back to CMD and write: DISM.exe /Get-ImageInfo /ImageFile:[Drive Letter]:\sources\install.esd /Index:1
  5. Write in CMD: DISM.exe /Export-Image /SourceImageFile:[Drive Letter]:\sources\install.esd /SourceIndex:1 /DestinationImageFile:C:\install.wim /Compress:fast /CheckIntegrity
  6. Create a new dir: C:\MountDir
  7. Write in CMD: DISM.exe /Mount-Wim /WimFile:C:\install.wim /index:1 /MountDir:C:\MountDir /ReadOnly
  8. Open C:\MountDir\System32 and copy msi.dll. Paste the file in a new directory somewhere else, as this file will be used later.
  9. Write in CMD: DISM.exe /Unmount-Wim /MountDir:C:\MountDir /discard. This will empty the directory and unmount the DISM image.
  10. Delete the folders C:\MountDir, C:\ISO (unmount first) and the file C:\install.wim.
  11. Create any boot disk, e.g., Hiren’s BootCD PE x64, and boot the computer with it.
  12. Copy the msi.dll file from the directory you copied it to earlier, and paste it into C:\Windows\System32, replacing the existing file.
  13. Reboot into your default Windows.