When setting up an autodownload speedlimit via PHP tonight, openarena (0.8.5) crashed when autodownloading. I could see it request the file and start downloading, but after a couple hundred packets it crashed: "VM_Free(ui) on running vm". The problem was that I had forgotten to make it set the content-length in the HTTP header.
I'm running Windows XP.
This is the crashlog (maybe it's usefull if someone ever has this crash and posts a similar console log or something.. you never know):
Need paks: @baseoa/speedyctf.pk3@baseoa/speedyctf.pk3
URL: http://example.com/[...]/baseoa/speedyctf.pk3
----- CL_Shutdown -----
----- FS_Startup -----
Current search path:
C:\Documents and Settings\Luc.LUC2\Application Data\OpenArena\RMFServer\zz-proskins2.pk3 (8 files)
C:\Documents and Settings\Luc.LUC2\Application Data\OpenArena/RMFServer
C:\Program Files\openarena\openarena-0.8.5/RMFServer
C:\Documents and Settings\Luc.LUC2\Application Data\OpenArena\baseoa\z_oasago2f9_god-final.pk3 (11 files)
C:\Documents and Settings\Luc.LUC2\Application Data\OpenArena\baseoa\z_am_thornish-b2.pk3 (27 files)
[...]
C:\Documents and Settings\Luc.LUC2\Application Data\OpenArena\baseoa\7+.pk3 (6 files)
C:\Documents and Settings\Luc.LUC2\Application Data\OpenArena\baseoa\6++.pk3 (9 files)
C:\Documents and Settings\Luc.LUC2\Application Data\OpenArena\baseoa\13base.pk3 (81 files)
C:\Documents and Settings\Luc.LUC2\Application Data\OpenArena/baseoa
C:\Program Files\openarena\openarena-0.8.5\baseoa\pak6-patch085.pk3 (559 files)
C:\Program Files\openarena\openarena-0.8.5\baseoa\pak6-misc.pk3 (229 files)
C:\Program Files\openarena\openarena-0.8.5\baseoa\pak5-TA.pk3 (139 files)
C:\Program Files\openarena\openarena-0.8.5\baseoa\pak4-textures.pk3 (1753 files)
C:\Program Files\openarena\openarena-0.8.5\baseoa\pak2-players.pk3 (669 files)
C:\Program Files\openarena\openarena-0.8.5\baseoa\pak2-players-mature.pk3 (231 files)
C:\Program Files\openarena\openarena-0.8.5\baseoa\pak1-maps.pk3 (100 files)
C:\Program Files\openarena\openarena-0.8.5\baseoa\pak0.pk3 (1042 files)
C:\Program Files\openarena\openarena-0.8.5/baseoa
handle 1: video/idlogo.roq
----------------------
14746 files in pk3 files
Closing SDL audio device...
SDL audio device shut down.
RE_Shutdown( 1 )
----- CL_Shutdown -----
WARNING: Recursive shutdown
----- CL_Shutdown -----
WARNING: Recursive shutdown
When looking in Wireshark (packet sniffer), you can see it download about 180KB before it sends a TCP connection reset packet to stop the download (this is when openarena crashes). Maybe it defaulted to some length to allocate in the memory when it didn't receive the filesize, used the memory already allocated by OA until it was full, or crashed when it tried to create the tempfile to write the data to?
I mentioned this requirement for autodownload to work on the openarena wiki:
(
DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Manual/Automatic_downloading#In_short
Btw another thing about http-downloads, I wonder what this is for:
GET /[...]/baseoa/speedyctf.pk3 HTTP/1.1
User-Agent: menu/art/sliderbutt_1.tga
Host: example.com
Accept: */*
Referer: menu/art/sliderbutt_0.tga
Looking in
the svn on this site, I don't see why the sliderbutt images are referenced to...
Edit: Oh and this bugreport is more a 'just so you know'-one than something which needs to get fixed badly. It's always better if the server sends a content-length header, but if it doesn't the client shouldn't crash but at most give an error or something.