Map Crashing for Unknown Reason

Discussion in 'Mapping Questions & Discussion' started by World's Finest Lamp, Sep 13, 2017.

  1. World's Finest Lamp

    World's Finest Lamp L1: Registered

    Messages:
    6
    Positive Ratings:
    0
    Hello Guys,

    I know this is for TF2 but I thought you might be able to help as it's still a source/hammer question. I am making a CS:GO map and it keeps crashing people who download it. It seems very random, I have friends on different versions of windows and it seems to run fine regardless, but for some, it just crashes without any error message as to why, no matter if they have an excellent PC as well. I made a thread on steam but didn't get any responses that helped me solve this. I'll post the log file of the last compile below, but my hypothesis is that this error:
    "DRASTIC MEMORY OVERFLOW: Fell out of small block heap!"
    is related to what the root of the issue. Beyond that when I use VIDE to pak in the custom models and textures CS no longer acknowledges the BSP as valid. Quite frustrating as I've been trying to fix this for over a month, but I haven't given up. I really want to fix this so if you know what the issue is or what might be causing the problem please let me know.

    Some errors that I have gotten in the past include Engine error in Lump 7 and micro brushes. Lump 7 errors seem to happen randomly after using VIDE (something to do with texture data) and I have since deleted the micro brushes but I'm not sure if these problems have any persistence in a way I can't see right now. I have no clue how the micro brushes got added.

    *If you have time to help and need a better look I have a drop box with all the map files and custom models/textures. I also have multiple versions of the map, but the issue seems to persist through all of them. Although the "Drastic Memory overflow error" began occurring after version 5, there are 15 versions total atm.

    I'm not sure if this is some type of hammer brush error or a VIDE problem. I will say that when the map was considerably smaller pakrat and VIDE added the files just fine, once it grew to a certain size, I specifically recall when adding models pakrat stopped working, and I could never test the VIDE version because of the crashing.

    Thanks for Any Help!
    World's Finest Lamp
     

    Attached Files:

  2. ics

    aa ics

    Messages:
    631
    Positive Ratings:
    377
    Does it crash on map load or during gameplay? There are few odd ways i've encountered that maps can crash.

    One being physics related prop touching a wall, even the bounding box of it. I had this problem years ago and it was really hard to track.

    The other is more common, making a logic related issue that does something causing a crash. Like teleporting a player to nonexistant target.

    Then there is the prop issue, too many edicts causing the map crash.

    Displacement issue, where you use displacements over power of 2 that are too thick or small. Never use above power of 3 anyway, as they drain memory to process.

    I dont know about the memory error you are getting on what is causing it and this is propably a thing you have tried but alt+p for errors?
     
  3. World's Finest Lamp

    World's Finest Lamp L1: Registered

    Messages:
    6
    Positive Ratings:
    0
    Hello ICS,

    Thanks for your response. The map crashes on load and after VIDE CS says the BSP doesn't exist. And I do have quite a few teleports and a large number props. I didn't know collision could such a drastic error. I also have a decent number of displacements, however all of power 2 or 3. This type of error would lead me to believe that map would crash for all people, but it runs for some. Check for problems comes up with many unused spawn flags and unused key values. I don't know if this is really an issue to worry about, I assumed unwanted flags/key values are meant to be left unchecked. Now that you brought up entity edicts I found this line in the logs.

    "entdata [variable] 575544/393216 (146.4%) VERY FULL!"

    Could this be why some people can load the map and some can't? Are they running out of main memory? That would make sense. If I cut back on the entities perhaps it will go away. Let me know if this sounds like the culprit.

    Thanks!
    WFL
     
  4. henke37

    aa henke37

    Messages:
    1,715
    Positive Ratings:
    371
    The entdata chunk "limit" is just a suggestion. What it does correlate with is however running into the entdict limit. The engine has a limit on how many entities it can track at the same time. Badness happens when you hit the limit.
     
  5. ics

    aa ics

    Messages:
    631
    Positive Ratings:
    377
    You can list entities on csgo by loading the map, type sv_cheats 1 to console and then cl_showents. CSGO is more picky about the entity counts than TF2 is but if you have more than 500 in use (2 csgo maps that i did use about 350-400), it could be a sign of having too many entities, as well as your entity data. I dont know the hard limit for CSGO entities, but previously entity heavy maps have been crashing.

    Though i suspect that your issue is somewhere in the entity logic. Try compiling without any entities, see if it crashes. Sometimes having lots of stuff rendering on the same time (LOTS visible and large map) can cause crashing but thats also rare.
     
  6. Lampenpam

    Lampenpam L11: Posh Member

    Messages:
    845
    Positive Ratings:
    230
    the command also work in tf2. But as long you aren't having more than ~1500 edicts, you should be safe.
     
  7. ics

    aa ics

    Messages:
    631
    Positive Ratings:
    377
    CSGO is different from TF2, it doesnt tolerate that many entities. But safe limit is actually ~1400 for TF2.
     
  8. Fr0Z3nR

    aa Fr0Z3nR 水素臭い

    Messages:
    6,385
    Positive Ratings:
    4,888
    1500 is fine for TF2.

    (Source: Snowplow is a lil above that and is fine)
     
  9. ics

    aa ics

    Messages:
    631
    Positive Ratings:
    377
    Snowplow crashes with more than 24 players, so does hydro, which has 1450 so its not fine.
     
    • Agree Agree x 1
  10. World's Finest Lamp

    World's Finest Lamp L1: Registered

    Messages:
    6
    Positive Ratings:
    0
    So I just tried a few things. I ran the cl_showents command in csgo. There are 880 entities with one player in the game. Funny enough after this I compiled with no entities (except for a single T spawn) and I still got the memory overflow error. Also the map is all inside. I can't see it being unable to render everything. The most the game will ever have to render is a room with a door or two to another room. I have a decent number of logic entities, is there any easy way to check for the logic errors you're talking about? Here are some more compile logs of different version of the map I tested:

    With no entities but a T spawn
    Object names Objects/Maxobjs Memory / Maxmem Fullness
    ------------ --------------- --------------- --------
    models 1/1024 48/49152 ( 0.1%)
    brushes 3407/8192 40884/98304 (41.6%)
    brushsides 23154/65536 185232/524288 (35.3%)
    planes 9464/65536 189280/1310720 (14.4%)
    vertexes 20808/65536 249696/786432 (31.8%)
    nodes 8022/65536 256704/2097152 (12.2%)
    texinfos 1778/12288 128016/884736 (14.5%)
    texdata 262/2048 8384/65536 (12.8%)
    dispinfos 122/0 21472/0 ( 0.0%)
    disp_verts 9250/0 185000/0 ( 0.0%)
    disp_tris 14560/0 29120/0 ( 0.0%)
    disp_multiblend 0/0 0/0 ( 0.0%)
    disp_lmsamples 273910/0 273910/0 ( 0.0%)
    faces 11578/65536 648368/3670016 (17.7%)
    hdr faces 0/65536 0/3670016 ( 0.0%)
    origfaces 6439/65536 360584/3670016 ( 9.8%)
    facebrushes 1560/0 3120/0 ( 0.0%)
    facebrushlists 11578/0 46312/0 ( 0.0%)
    leaves 8024/65536 256768/2097152 (12.2%)
    leaffaces 13583/65536 27166/131072 (20.7%)
    leafbrushes 8162/65536 16324/131072 (12.5%)
    areas 3/1024 24/8192 ( 0.3%)
    surfedges 81146/512000 324584/2048000 (15.8%)
    edges 49615/256000 198460/1024000 (19.4%)
    LDR worldlights 0/8192 0/819200 ( 0.0%)
    HDR worldlights 0/8192 0/819200 ( 0.0%)
    leafwaterdata 10/32768 120/393216 ( 0.0%)
    waterstrips 1043/32768 10430/327680 ( 3.2%)
    waterverts 0/65536 0/786432 ( 0.0%)
    waterindices 17577/65536 35154/131072 (26.8%)
    cubemapsamples 0/1024 0/16384 ( 0.0%)
    overlays 0/1024 0/360448 ( 0.0%)
    LDR lightdata [variable] 8304140/0 ( 0.0%)
    HDR lightdata [variable] 0/0 ( 0.0%)
    visdata [variable] 859637/16777216 ( 5.1%)
    entdata [variable] 582/393216 ( 0.1%)
    LDR ambient table 8024/65536 32096/262144 (12.2%)
    HDR ambient table 8024/65536 32096/262144 (12.2%)
    LDR leaf ambient 3999/65536 111972/1835008 ( 6.1%)
    HDR leaf ambient 8024/65536 224672/1835008 (12.2%)
    occluders 0/0 0/0 ( 0.0%)
    occluder polygons 0/0 0/0 ( 0.0%)
    occluder vert ind 0/0 0/0 ( 0.0%)
    detail props [variable] 1/12 ( 8.3%)
    static props [variable] 1/12 ( 8.3%)
    pakfile [variable] 158123/0 ( 0.0%)
    physics [variable] 1244663/4194304 (29.7%)
    physics terrain [variable] 36587/1048576 ( 3.5%)

    Level flags = 7d

    Total triangle count: 32119]

    With Non-Brush Entities
    Object names Objects/Maxobjs Memory / Maxmem Fullness
    ------------ --------------- --------------- --------
    models 1/1024 48/49152 ( 0.1%)
    brushes 3407/8192 40884/98304 (41.6%)
    brushsides 23154/65536 185232/524288 (35.3%)
    planes 9464/65536 189280/1310720 (14.4%)
    vertexes 21563/65536 258756/786432 (32.9%)
    nodes 8326/65536 266432/2097152 (12.7%)
    texinfos 1857/12288 133704/884736 (15.1%)
    texdata 299/2048 9568/65536 (14.6%)
    dispinfos 122/0 21472/0 ( 0.0%)
    disp_verts 9250/0 185000/0 ( 0.0%)
    disp_tris 14560/0 29120/0 ( 0.0%)
    disp_multiblend 0/0 0/0 ( 0.0%)
    disp_lmsamples 273910/0 273910/0 ( 0.0%)
    faces 12057/65536 675192/3670016 (18.4%)
    hdr faces 0/65536 0/3670016 ( 0.0%)
    origfaces 6504/65536 364224/3670016 ( 9.9%)
    facebrushes 1566/0 3132/0 ( 0.0%)
    facebrushlists 12057/0 48228/0 ( 0.0%)
    leaves 8328/65536 266496/2097152 (12.7%)
    leaffaces 14180/65536 28360/131072 (21.6%)
    leafbrushes 8180/65536 16360/131072 (12.5%)
    areas 8/1024 64/8192 ( 0.8%)
    surfedges 83444/512000 333776/2048000 (16.3%)
    edges 50914/256000 203656/1024000 (19.9%)
    LDR worldlights 438/8192 43800/819200 ( 5.3%)
    HDR worldlights 0/8192 0/819200 ( 0.0%)
    leafwaterdata 12/32768 144/393216 ( 0.0%)
    waterstrips 1042/32768 10420/327680 ( 3.2%)
    waterverts 0/65536 0/786432 ( 0.0%)
    waterindices 17580/65536 35160/131072 (26.8%)
    cubemapsamples 2/1024 32/16384 ( 0.2%)
    overlays 8/1024 2816/360448 ( 0.8%)
    LDR lightdata [variable] 9792600/0 ( 0.0%)
    HDR lightdata [variable] 0/0 ( 0.0%)
    visdata [variable] 886290/16777216 ( 5.3%)
    entdata [variable] 400538/393216 (101.9%) VERY FULL!
    LDR ambient table 8328/65536 33312/262144 (12.7%)
    HDR ambient table 8328/65536 33312/262144 (12.7%)
    LDR leaf ambient 29226/65536 818328/1835008 (44.6%)
    HDR leaf ambient 8328/65536 233184/1835008 (12.7%)
    occluders 0/0 0/0 ( 0.0%)
    occluder polygons 0/0 0/0 ( 0.0%)
    occluder vert ind 0/0 0/0 ( 0.0%)
    detail props [variable] 1/12 ( 8.3%)
    static props [variable] 1/94474 ( 0.0%)
    pakfile [variable] 13301311/0 ( 0.0%)
    physics [variable] 1245939/4194304 (29.7%)
    physics terrain [variable] 36587/1048576 ( 3.5%)

    Level flags = 7d

    Total triangle count: 33198

    I had one of my friends (who was having the crashing issues) test both Limited entity versions and he crashed on the version with no brush entities but was able to run the version with no entities. Does this sure up what the problem is any or could it still be a logical error? Tell me what you think of these latest tests.
     
  11. World's Finest Lamp

    World's Finest Lamp L1: Registered

    Messages:
    6
    Positive Ratings:
    0
    Ok So I just spoke to a fellow CSGO map maker and he just so happens to have just released a map with the exact same percentage of entdata: 146%. The map doesn't have any sort of crashing errors. This narrows the search to your logic related hypothesis. Any ideas on the best way to pinpoint it?
     
  12. Crash

    aa Crash func_nerd

    Messages:
    2,959
    Positive Ratings:
    4,243
    That entdata number doesn't mean much. It can be indicative of a problem, but really you need to check in game to be sure.
     
  13. World's Finest Lamp

    World's Finest Lamp L1: Registered

    Messages:
    6
    Positive Ratings:
    0
    What do you mean by that Crash? Check what?
     
  14. Crash

    aa Crash func_nerd

    Messages:
    2,959
    Positive Ratings:
    4,243
    using report_entities or cl_showents as ics suggested earlier in the thread.
     
  15. henke37

    aa henke37

    Messages:
    1,715
    Positive Ratings:
    371
    To elaborate, the entdata chunk contains keyvalue definitions for all entities and their I/O connections. More entities naturally lead to a larger chunk. But all entities aren't equal. Some consume more endicts than others. Some don't consume any at all! And entities with a lot of I/O consume more space without costing any more entdicts than the same entity class without I/O.

    TL;DR: Entdata has a fuzzy link to the entdict consumption.
     
    • Thanks Thanks x 1
  16. World's Finest Lamp

    World's Finest Lamp L1: Registered

    Messages:
    6
    Positive Ratings:
    0
    Do you have any idea why it crashes some people but not others? That seems to me, to be the most confusing. If there were one issue that is causing it, why can some people run it but others crash? And how does it connect with VIDE? I ran the entity report commands and got this:
    Total 730 entities (0 empty, 701 edicts)
    Running around the map the only meter that went up and down was dynamic prop, but it never went past about 75%. Double checking all the I/Os they all checked out. The only thing marked in red was a "ModifySpeed" Parameter Override for a Player_speedmod but I'm pretty sure it's supposed to be in red.
    This is what the game says after I use VIDE:
    CModelLoader::Map_IsValid: No such map 'maps\seek_luftengsschacht15.bsp'
    map load failed: seek_luftengsschacht15 not found or invalid

    I would think that maybe there is a size limit where maps become too big and are thus no longer valid but I know of maps nearly 1 GB. The regular BSP works but after using VIDE the lumps become corrupt or what?
     
    Last edited: Sep 16, 2017
  17. Yabayabayaba

    Yabayabayaba L5: Dapper Member

    Messages:
    222
    Positive Ratings:
    62
    That sounds similar to errors I get every once and a while, where the compile failed to load the bsp due to a fatal error, and loads an old version of the map, often a VERY old version. I don't think this is the same error (if changes you make appear in game), but it may be similar, and may be worth checking out. I am sorry I can't tell you what caused my problems, because I am still confused, and have no idea how I fixed it, but the error would have to be something fairly game breaking, maybe unrelated to the symptoms.