Previous topicNext topic

Magic crash

Questions, comments, feedback, etc.
jphruelle
Posts: 7
Joined: Fri Nov 11, 2016 1:19 pm

Re: Magic crash

Post by jphruelle »

I asked about dumping in chatgpt, just to see... But I'm out of my depth here... maybe you'll find it amusing. ;)

Diagnosis
I analyzed the dump directly. It contains enough information to identify the precise nature of the crash, and there is one particularly clear element.
The crashing process is:
C:\Program Files\MagicBeta\Magic.exe
The crash is a Windows access violation:
Exception: 0xC0000005 = ACCESS_VIOLATION
Faulting thread: 11628
Faulting instruction address: 0x7FF726A82127
Offset inside Magic.exe: 0x3C2127
Type of access: read
Memory address being read: 0x0000000000000008
The particularly interesting part is the exact instruction being executed when the crash occurs:
mov rdx, [rcx]
At the same time, the CPU context shows:
RCX = 0x0000000000000008
So the program is effectively trying to perform:
read memory at address 0x8
which is an invalid address.
What this means
This is not a Windows crash, and there is currently no evidence that ffmpeg, avcodec, avformat, etc. are responsible.
The faulting instruction belongs to:
Magic.exe + 0x3C2127
rather than to a Windows system DLL or an FFmpeg library.
The execution path is therefore broadly:
Magic.exe

internal function

invalid pointer/object

RCX = 0x8

mov rdx,[rcx]

ACCESS_VIOLATION
In other words, Magic.exe is attempting to dereference a pointer that does not point to a valid object.
An interesting detail
The code immediately around the crash is:
48 83 EC 28 sub rsp,28
48 8B 02 mov rax,[rdx]
48 8B 11 mov rdx,[rcx] ← CRASH
48 3B D0 cmp rdx,rax
75 07 jne ...
This looks like a small internal function receiving two pointers as arguments, retrieving a value from each one, and then comparing them.
The first pointer (RDX) appears to be valid.
The second pointer (RCX) is:
0x8
So the problem is not simply "a bad instruction". An invalid object/pointer has reached this function.
What the dump also tells us
The process had loaded, among others:
Magic.exe
avformat-62.dll
avcodec-62.dll
avutil-60.dll
swscale-9.dll
swresample-6.dll
WMVCORE.DLL
the normal Windows system libraries
Steinberg / Native Instruments audio components
NVIDIA's nvoglv64.dll
However, the actual crash address belongs to Magic.exe itself.
So at this stage I see no evidence that FFmpeg or the audio/video driver is the culprit.
What I cannot determine from this dump alone
I can locate the crash very precisely, but I cannot yet determine which user operation triggered it, or exactly which internal variable/object became invalid.
To go further, ideally we would have:
The exact version of Magic.exe
Its debug symbols (.pdb), if available
Information about what Magic was doing at the exact moment of the crash
The dump does contain a usable call stack, so we can investigate further even without the PDB symbols. However, the PDB would allow us to translate something like:
Magic.exe + 0x3C2127
into something much more useful, such as:
SomeClass::SomeFunction(...)
That could give us a substantially better lead.
Bottom line
The dump is valid and useful for debugging.
The immediate cause is:
Magic.exe dereferences an invalid pointer whose value is 0x8, resulting in an ACCESS_VIOLATION at Magic.exe + 0x3C2127.

At this point, there is no evidence that Windows, FFmpeg, or the graphics/audio drivers caused the crash.
The logical next step is to reconstruct the call stack and execution path from the dump and determine which Magic function eventually passes this invalid pointer into the crashing routine. That is where we may be able to identify the actual underlying bug.
Magic
Site Admin
Posts: 3722
Joined: Wed Apr 09, 2014 9:28 pm

Re: Magic crash

Post by Magic »

We uploaded another new build, so give it a try and let me know how it goes. I'm pretty sure we've fixed this issue thanks to you posting the dump.
jphruelle
Posts: 7
Joined: Fri Nov 11, 2016 1:19 pm

Re: Magic crash

Post by jphruelle »

great.

Magic Performer v3.0b3 64-bit
Copyright (c) 2012-2026 Magic Music Visuals
All rights reserved.


The window opened, and I was able to load an old project. It correctly recognized the audio and 'Steinberg' sources... just press play and everything seems to run directly. I'm curious to dig deeper to see the differences with version 2.5. Great work behind the scenes ;-)
mojozart
Posts: 2
Joined: Thu Dec 20, 2018 8:44 am

Re: Magic crash

Post by mojozart »

v3.0b3 works for me, whereas v3.0b1 did not.
f1oat
Posts: 6
Joined: Fri Aug 07, 2026 10:05 pm

Re: Magic crash

Post by f1oat »

v3.0b3 works also here, many thanks for this quick fix :)
Post Reply