Failed assertion error opening file

Issue: game crash on attempt to upload crash report.
Crash (y/n): y
Platform (Windows/Mac/Linux): windows
Description: Ok so this one I think is caused by me renaming the mt2.rpt file. I expected the file to be replaced and it does look like it has been so.

MMORPG Tycoon 2
win64
0.12.28-ga206199
Checking supported resolutions…
Available Modes
0: 1600 x 900
1: 1440 x 900
2: 1366 x 768
3: 1360 x 768
4: 1280 x 800
5: 1280 x 768
6: 1280 x 720
7: 1280 x 600
8: 1152 x 864
9: 1024 x 768
10: 800 x 600
11: 640 x 480
12: 640 x 400
13: 512 x 384
14: 400 x 300
15: 320 x 240
16: 320 x 200
Initialising [1024x768] resolution…
Found 1 displays:
Display #0 Generic PnP Monitor (1600x900)

OpenGL Context:
Vendor: NVIDIA Corporation
Renderer: GeForce GT 540M/PCIe/SSE2
Version: 3.3.0 NVIDIA 372.70
Shading Language Version: 3.30 NVIDIA via Cg compiler
== Begin OpenGL limits ==
Max 3D texture size: 2048
Max array texture layers: 2048
Max clip distances: 8
Max samples in a color multisample texture: 32
Maximum atomic counters: 98304
Maximum fragment shader uniform components: 233472
Maximum geometry shader uniform components: 231424
Maximum combined texture image units: 192
Maximum combined uniform blocks: 84
Maximum cube map dimensions: 16384
Maximum samples in a multisample depth or depth-stencil texture: 32
Maximum simultaneous draw buffers: 8
Maximum simultaneous draw buffers with dual-source blending: 1
Recommended maximum number of vertex array indices: 1048576
Recommended maximum number of vertex array vertices: 1048576
Max fragment shader input components: 128
Max fragment shader uniform components: 4096
Maximum texels in the texel array of a texture buffer: 134217728
Maximum supported texture image units in a fragment shader: 32
Maximum texture size (rough estimate): 16384
Maximum uniform buffer binding points: 84
Maximum uniform block size: 65536
Maximum uniform locations: 65536
Maximum varying components: 124
Maximum floating point varying components: 124
Maximum atomic counters in vertex shaders: 16384
Maximum vertex attributes in vertex shader: 16
Maximum active shader storage blocks in a vertex shader: 16
Maximum texture image units in vertex shader: 32
Maximum uniform components in vertex shader: 4096
Maximum output components in vertex shader: 128
Maximum uniform blocks per vertex shader: 14
Maximum simultaneous viewports: 16
Maximum MSAA samples: 32
NVidia-only: Currently available video memory: 2040584
ATI-only: Currently available video memory: 2040584
== End OpenGL limits ==
VSync: ENABLED
TextureUnits: 32 from vertex shader, 192 total
Screen Ratio: 1.333333
– Initialising game “MMORPG”
TextInput was enabled by default; turning it off until we need it!
No joystick found. Using keyboard input.
Shown
Exposed
Event 0: Path event:/UI/window close end: min range 0.000000: max range 0.000000
Event 1: Path event:/UI/button slot deselect: min range 0.000000: max range 0.000000
Event 2: Path event:/UI/button slot desocket: min range 0.000000: max range 0.000000
Event 3: Path event:/old/general click: min range 0.000000: max range 0.000000
Event 4: Path event:/UI/general cancel: min range 0.000000: max range 0.000000
Event 5: Path event:/Title screens/loading screen world appear: min range 0.000000: max range 0.000000
Event 6: Path event:/UI/window open start: min range 0.000000: max range 0.000000
Event 7: Path event:/UI/button slot socket: min range 0.000000: max range 0.000000
Event 8: Path event:/Title screens/loading screen whoosh 01: min range 20.000000: max range 300.000000
Event 9: Path event:/Title screens/loading screen whoosh 02: min range 16.000000: max range 65.000000
Event 10: Path event:/Title screens/loading screen launch: min range 0.000000: max range 0.000000
Event 11: Path event:/UI/general notification: min range 0.000000: max range 0.000000
Event 12: Path event:/Title screens/loading screen white flash: min range 0.000000: max range 0.000000
Event 13: Path event:/UI/button click: min range 0.000000: max range 0.000000
Event 14: Path event:/UI/window close start: min range 0.000000: max range 0.000000
Event 15: Path event:/old/button release toggle on: min range 0.000000: max range 0.000000
Event 16: Path event:/UI/window open end: min range 0.000000: max range 0.000000
Event 17: Path event:/UI/window looping: min range 0.000000: max range 0.000000
Event 18: Path event:/Title screens/loading screen loop: min range 0.000000: max range 0.000000
Event 19: Path event:/UI/button click up new field: min range 0.000000: max range 0.000000
Bus 0: Path ‘bus:/UI/UI_UnD’: Volume: 1.000000
Bus 1: Path ‘bus:/UI’: Volume: 1.000000
Bus 2: Path ‘bus:/UI/UI_d1’: Volume: 1.000000
Bus 3: Path ‘bus:/UI/UI_d2’: Volume: 1.000000
Bus 4: Path ‘bus:/Reverb’: Volume: 1.000000
Bus 5: Path ‘bus:/’: Volume: 1.000000
Param 0: dramaticMIX [0.00-1.00] (default 0.00)
Rebuild front plate mesh
Rebuild front plate mesh
Sending crash report.
Sending crash report.
Platform: win64
Version: 0.12.28-ga206199
Rpt: -------------------

Error occurred on Monday, September 19, 2016 at 21:40:47.

MT2.exe caused an Access Violation at location 0000000000633944 in module MT2.exe Reading from location 000000003E83F480.

AddrPC Params
0000000000633944 0000000000000000 0000000000000000 0000000000000000 MT2.exe!mmoWindow::Update
00000000006D2D30 0000000000000000 0000000000000000 0000000000000000 MT2.exe!Update [/tmp/build/9ecbd07c/code/vectorstorm/VS/Graphics/VS_Scene.cpp @ 170]
00000000006D4117 00000000014DFD80 00000000033DF060 00000000014DFE20 MT2.exe!Update [/tmp/build/9ecbd07c/code/vectorstorm/VS/Graphics/VS_Screen.cpp @ 183]
000000000068DDB5 00000000033DCDE8 00000000033CCD20 00000000014DFE20 MT2.exe!Go [/tmp/build/9ecbd07c/code/vectorstorm/VS/Core/CORE_Game.cpp @ 201]
000000000068D57B 0000000000000000 0000000000979064 00000000001B0FC0 MT2.exe!Go [/tmp/build/9ecbd07c/code/vectorstorm/VS/Core/Core.cpp @ 129]
00000000004016DC 0000000000000000 0000000000000046 0000000000AEEE88 MT2.exe!SDL_main
00000000004013E8 0000000000000000 0000000000000000 00000000012BB370 MT2.exe!__tmainCRTStartup [/build/buildd/mingw-w64-4.0.2/build/x86_64-w64-mingw32-x86_64-w64-mingw32-crt/…/…/mingw-w64-crt/crt/crtexe.c @ 332]
00000000004014EB 0000000000000000 0000000000000000 0000000000000000 MT2.exe!WinMainCRTStartup [/build/buildd/mingw-w64-4.0.2/build/x86_64-w64-mingw32-x86_64-w64-mingw32-crt/…/…/mingw-w64-crt/crt/crtexe.c @ 184]
00007FFFE3D38644 0000000000000000 0000000000000000 0000000000000000 KERNEL32.DLL!BaseThreadInitThunk
00007FFFE4A66141 0000000000000000 0000000000000000 0000000000000000 ntdll.dll!RtlUserThreadStart

MT2.exe
ntdll.dll 6.2.14926.1000
KERNEL32.DLL 6.2.14926.1000
KERNELBASE.dll 6.2.14926.1000
msvcrt.dll 7.0.14926.1000
SHELL32.dll 6.2.14926.1000
libcurl-4.dll
ADVAPI32.dll 6.2.14926.1000
cfgmgr32.dll 6.2.14926.1000
sechost.dll 6.2.14926.1000
OPENGL32.dll 6.2.14926.1000
windows.storage.dll 6.2.14926.1000
RPCRT4.dll 6.2.14926.1000
USER32.dll 6.2.14926.1000
combase.dll 6.2.14926.1000
win32u.dll 6.2.14926.1000
WLDAP32.dll 6.2.14926.1000
ucrtbase.dll 6.2.14926.1000
WS2_32.dll 6.2.14926.1000
GDI32.dll 6.2.14926.1000
bcryptPrimitives.dll 6.2.14926.1000
gdi32full.dll 6.2.14926.1000
shlwapi.dll 6.2.14926.1000
kernel.appcore.dll 6.2.14926.1000
shcore.dll 6.2.14926.1000
GLU32.dll 6.2.14926.1000
powrprof.dll 6.2.14926.1000
profapi.dll 6.2.14926.1000
exchndl.dll 0.8.1.0
WSOCK32.dll 6.2.14926.1000
libphysfs.dll
PSAPI.DLL 6.2.14926.1000
SDL2_image.dll 2.0.0.0
SDL2.dll 2.0.3.0
mgwhelp.dll 0.8.1.0
fmodstudio64.dll 0.1.8.4
IMM32.dll 6.2.14926.1000
libpng16.dll
ole32.dll 6.2.14926.1000
VERSION.dll 6.2.14926.1000
OLEAUT32.dll 6.2.14926.1000
msvcp_win.dll 6.2.14926.1000
dbghelp.dll 6.3.9600.17298
WINMM.dll 6.2.14926.1000
fmod64.dll 0.1.8.4
WINMMBASE.dll 6.2.14926.1000
MSACM32.dll 6.2.14926.1000
steamclient64.dll 3.60.97.73
CRYPT32.dll 6.2.14926.1000
MSASN1.dll 6.2.14926.1000
imagehlp.dll 6.2.14926.1000
SETUPAPI.dll 6.2.14926.1000
IPHLPAPI.DLL 6.2.14926.1000
vstdlib_s64.dll 3.60.97.73
Secur32.dll 6.2.14926.1000
tier0_s64.dll 3.60.97.73
SSPICLI.DLL 6.2.14926.1000
CRYPTBASE.DLL 6.2.14926.1000
gameoverlayrenderer64.dll 3.60.97.73
userenv.dll 6.2.14926.1000
uxtheme.dll 6.2.14926.1000
ltc_help64-115528.dll 1.0.0.1
WINTRUST.dll 6.2.14926.1000
dwmapi.dll 6.2.14926.1000
clbcatq.dll 2001.12.10941.16384
dinput8.dll 6.2.14926.1000
HID.DLL 6.2.14926.1000
DEVOBJ.dll 6.2.14926.1000
XInput1_4.dll 6.2.14926.1000
MSCTF.dll 6.2.14926.1000
nvoglshim64.dll 21.21.13.7270
nvoglv64.DLL 21.21.13.7270
WTSAPI32.dll 6.2.14926.1000
ntmarta.dll 6.2.14926.1000
WINSTA.dll 6.2.14926.1000
MMDevApi.dll 6.2.14926.1000
PROPSYS.dll 7.0.14926.1000
wdmaud.drv 6.2.14926.1000
AVRT.dll 6.2.14926.1000
ksuser.dll 6.2.14926.1000
AUDIOSES.DLL 6.2.14926.1000
wintypes.dll 6.2.14926.1000
msacm32.drv 6.2.14926.1000
midimap.dll 6.2.14926.1000
dxgi.dll 6.2.14926.1000
d3d11.dll 6.2.14926.1000
nvumdshimx.dll 21.21.13.7270
nvinitx.dll 21.21.13.7270
detoured.dll 2.1.0.207
nvd3d9wrapx.dll 21.21.13.7270
nvdxgiwrapx.dll 21.21.13.7270
nvwgf2umx.dll 21.21.13.7270
bcrypt.dll 6.2.14926.1000
nvspcap64.dll 2.11.4.0
WINHTTP.dll 6.2.14926.1000
nvapi64.dll 21.21.13.7270
CRYPTSP.dll 6.2.14926.1000
rsaenh.dll 6.2.14926.1000
gpapi.dll 6.2.14926.1000
cryptnet.dll 6.2.14926.1000
WINNSI.DLL 6.2.14926.1000
NSI.dll 6.2.14926.1000
ltc_game64-115528.dll 1.0.0.1
mswsock.dll 6.2.14926.1000
DNSAPI.dll 6.2.14926.1000
mdnsNSP.dll 3.1.0.1
rasadhlp.dll 6.2.14926.1000
fwpuclnt.dll 6.2.14926.1000
WININET.dll 11.0.14926.1000
iertutil.dll 11.0.14926.1000
ondemandconnroutehelper.dll 6.2.14926.1000
urlmon.dll 11.0.14926.1000

Windows 6.2.9200
DrMingw 0.8.1

Clearing crash data.
Failed assertion: Error opening file ‘crashreports/crash.rpt’: The system cannot find the file specified.
Failed condition: (m_file != NULL)
at VS_File.cpp:50

When launching, the game moves the MT2.RPT file into another area (“crashreports/crash.rpt”), for safe-keeping before it uploads the file.

Are you saying that in between when the crash reporter popped up and when you clicked ‘Upload’, you went and renamed that file?

If so, that’s first-class QA “bang on everything to try to make it break” inventiveness. xD

It absolutely would cause exactly this assertion; I’d never even considered that somebody might do this, and that I should check that the file still exists now, even though it did exist earlier.

I just got this bug again and this time around I hadnt moved anything. I had double clicked the upload button though. I wonder if doing that makes it try and upload the file twice but its already been moved.

Going to see if i can repeat it and report back.

I bet that that’s what’s going on. I need to make sure windows won’t respond to the cursor while they’re closing. Maybe also while they’re opening.

yes its repeatable.

spamming the upload button creates the crash

Bumping this as a reminder to myself to check this bug again in the current build.

I’m pretty sure I made it so that game windows wouldn’t accept mouse clicks while they’re in their closing sequence, ages back. I need to double-check this specific crash to make sure that that fix actually solves this particular issue.

Yes, looks like the “prevent clicks into a closing window” fix fixed this as well. Marking as fixed.