Transport Fever

Transport Fever

Flexible Industries v1.2.19
jhughes 1 Apr, 2018 @ 5:10am
Map Generation errors
The stdout.txt file is here:

https://paste.fedoraproject.org/paste/0zPMQhn72~4VMAxa5Umu0g

That was with ONLY Flexible Industries mod active.

If my map generation settings would help, here they are (you should be able to use these and the info from the paste (hilly, 1950, megalomaniac, Seed: StarTrek999) to regenerate at will. It never passes map generation and it always fails at 42%. Here are my map gen settings:

https://paste.fedoraproject.org/paste/QXKAKLmRJSTV68EtKGbIjQ
< >
Showing 1-15 of 18 comments
jhughes 1 Apr, 2018 @ 5:16am 
Since that seems to happen with forests .. I'll try map generation with forests turned off but everything else enabled and see how many of the industries actually fail.

BTW, I am a software engineer, though I don't specifically do .lua (I am one of the main developers of the CentOS operating system).
Last edited by jhughes; 1 Apr, 2018 @ 5:17am
jhughes 1 Apr, 2018 @ 5:45am 
Here are other failed stdout.txt files .. all these are generated using the Flexible Games Central USA Map and the seed: Central_USA

All the other settings are the same as my first post (and Flexible Industries v1.1.1 is the only active mod):

Farm Failed:
https://paste.fedoraproject.org/paste/ihUp0ALxS8~s6LsRJ3s9iA

Saw Mill failed (good news, several others passed this time :D ):
https://paste.fedoraproject.org/paste/P3q-PQLNHarUyCKp5UTr3Q

Food Processing Plant fails:
https://paste.fedoraproject.org/paste/y1Ki7~vFzSI-psvGSxpoLA

(more to come)



jhughes 1 Apr, 2018 @ 5:59am 
Tool/Machines fail:
https://paste.fedoraproject.org/paste/cAv1vS2l7yMRqUxF58qs8Q

Goods Factory fail:
https://paste.fedoraproject.org/paste/JQO~-u8um4OohwXH4fyQIw

Those are the ones that fail .. these all seem to work OK on Map Generation:

Quarry, Coal Mine, Ore Mine, Oil Well, Chemical Plant, Steel Mill, Con Mat, Oil Refinery.

I generated several maps with ones that work turned on .. it generated OK each time.
jhughes 1 Apr, 2018 @ 8:07am 
I started looking for some common denominators for failed and good map generation. I did not find any that are common .. but I did find some that are not. One thing I wondered was about if a size change at level 1 might cause it (ie, level 1 does not take up the entire 26x26 area). BUT .. some that fail are 26x26 and others that fail are smaller, so that does not seem to be it.
SoftwareSimian  [developer] 1 Apr, 2018 @ 10:52am 
@senyoume: sorry, I had to delete your posts because this thread was unreadable. All I want for crash reports is from the start of building the industry (so I know which one), the settings used, and the crash report, like this (the useful part of what you posted):
Flexible Industries mod: start building Forest - LimitLevel: 0 - FuelType: 0 - showAccessRoadN: 1 - showTruckStop: 1 - showBusStop: 1 - productionLevel: 0 - FuelRequired: 1 - showAccessRoadE: 1 - showAccessRoadS: 1 - seed: 0 Flexible Industries mod: finish building Forest c:\build\transport_fever\steam\transport_fever_release\src\game\ui\actions\construction_builder_util.cpp:2364: class std::vector<class ecs::Entity,class std::allocator<class ecs::Entity> > __cdecl construction_builder_util::Apply(struct street_util::StreetToolkit,const class transport::CargoTypeRep *,const class CGameTime *,struct construction_builder_util::Proposal &,struct construction_builder_util::ProposalData &,const class ecs::Entity &): Assertion `playerEntity.GetId() >= 0' failed. MinidumpCallback: dumpPath "C:/Program Files (x86)/Steam/userdata/387757016/446800/local/crash_dump/", minidumpId "70629e54-b504-4387-8871-3ffb3a66a77d", succeeded 1
SoftwareSimian  [developer] 1 Apr, 2018 @ 10:54am 
@jhughes: Thanks for your efforts, the collection of errors is useful. The errors are all mostly:

industry_util.cpp:176: class ecs::Entity __cdecl industry_util::CreateIndustry( struct street_util::StreetToolkit, const class transport::CargoTypeRep *, const class CGameTime *, const class ecs::NameSystem *, const class CostRep *, const class ConstructionRep *, const struct industry_util::IndustryRectangle &, const class ecs::Entity &, bool ): Assertion `!errorState.critical' failed
although the Saw Mill gave:
c:\build\transport_fever\steam\transport_fever_release\src\lib\geometry\streets\transitions\transition_util.cpp:113: float __cdecl StreetGeometry::TransitionUtil::CompCurveHandleDistance(float,float): Assertion `angle >= .0f && angle <= Math::PI' failed.

Unfortunately these error messages are not terribly useful, especially without seeing the code they're referring to.
However, it's a starting point. Let me hazard a guess it's potentially related to the size of the industry, or possibly the placement of the entry street. All the default industries have dimensions of 126x126 (center 0,0 and +/-63) with the entrance road at 0,-64 to 0,-79. Many of my industries at level-1 are a different size or shape, and at least one has the entry road moved. I wonder if that's causing confusion to the mapgen?
I wasn't initially able to reproduce crashes on map generation, but then I realized that I had makeInitialStreets = false in base_config.lua, and when I reset that to default I'm able to reproduce some crashes.
Let's plot a table of the various industries:

stock size | stock road | flex size(1) | flex road | status | industry -63,-63,63,63 | 0,-79to-64 | -27,-63,63,51 | 0,-78to-63 | works | Steel Mill -64,-64,64,64 | 0,-79to-64 | -63,-64,09,30 | 0,-78to-63 | works | Oil Refinery -63,-63,63,63 | 0,-79to-64 | -09,-63,63,15 | 0,-78to-63 | works | Chemical Plant -63,-63,63,63 | 0,-79to-64 | -64,-63,18,63 | 0,-78to-63 | works | Coal Mine -63,-63,63,63 | 0,-79to-64 | -42,-63,42,63 | 0,-78to-63 | works | Construction Materials <table incomplete> -63,-63,63,63 | 0,-79to-64 | -63,-63,63,63 | 0,-78to-63 | crash | Forest -63,-63,63,63 | 0,-79to-64 | -64,-64,42,28 | 0,-78to-63 | crash | Food Processing Plant -63,-63,63,63 | 0,-79to-64 | -63,-63,63,63 | 0,-79to-64 | crash* | Farm
*Note: collision model was missing from Farm

The good news is if I can figure out what's causing these crashes on new game, but don't crash on existing game, I should be able to differentiate between the two (params is mostly empty for new game generation).
The bad news is I'm having trouble figuring out what's causing these problems on new map generation.


I tried playing around with the Saw Mill since it gave a different error than the others. However that left me more confused than before. If I stop generating all road segments except the external south entrance, it stops crashing. Unless I put that same line of code elsewhere, and then it still crashes.
The good news: if I disable internal road generation entirely during map creation, it stops the crashes. Not a great solution in that you need to unlock and upgrade the industry (in any trivial way, just so it gets rebuilt) before it can be used, but that's infinitely better than crashing. I would still like to know how and why this happens though.


I'll continue to investigate the other crashing industries and see if I can find a commonality, or at least a workaround like the sawmill.
For now I don't need any more crash reports, thanks.
SoftwareSimian  [developer] 1 Apr, 2018 @ 4:02pm 
I have disabled internal road building on all industries (except Quarry which always seems unaffected, possibly from no secondary entrances, being below ground level, or having a larger collision model than other industries, I'm not sure). Possibly overkill since some industries (as noted above) seem to work fine, but at least it's consistent behaviour across industries that seems to prevent crashes when generating a new map.
jhughes 1 Apr, 2018 @ 5:35pm 
Believe it or not .. I am now having issues with the quarry:

Flexible Industries mod: finish building Stone Quarry 04/01/18 19:32:12
c:\build\transport_fever\steam\transport_fever_release\src\game\urbansim\industry_util.cpp:176: class ecs::Entity __cdecl industry_util::CreateIndustry(struct street_util::StreetToolkit,const class transport::CargoTypeRep *,const class CGameTime *,const class ecs::NameSystem *,const class CostRep *,const class ConstructionRep *,const struct industry_util::IndustryRectangle &,const class ecs::Entity &,bool): Assertion `!errorState.critical' failed.
MinidumpCallback: dumpPath "C:/Program Files (x86)/Steam/userdata/30672328/446800/local/crash_dump/", minidumpId "4c36505a-4def-4661-a338-63ed9134efcf", succeeded 1
local time is Sun Apr 01 19:32:12 2018

jhughes 1 Apr, 2018 @ 5:36pm 
Let me try with that disabled and make sure everything else works.
SoftwareSimian  [developer] 1 Apr, 2018 @ 5:45pm 
I can, perhaps should, wrap the same conditional around the quarry file.
jhughes 1 Apr, 2018 @ 5:47pm 
Taking Quarry out and generating everything else seems to work fine (on 2 tries) .. so I think all the rest are OK.

I will do this a bunch more times to make sure, but if you don't hear anything else ..assume everything buy Quarry is working fine.
SoftwareSimian  [developer] 1 Apr, 2018 @ 5:51pm 
After seeing your comment I successfully go the quarry to crash. No idea why it worked before but not now. But then I don't understand this whole crash thing at all. I have disabled internal roads for Quarry in v1.1.4
jhughes 2 Apr, 2018 @ 12:02am 
Right .. It was also working fine for me before as well (Quarry). Regardless, it is all working fine in v1.1.4. Thank you for all the hard work.
senyoume 5 Apr, 2018 @ 3:00pm 
crash again

Flexible Industries mod: start building Forest 04/05/18 14:54:57
- showAccessRoadE: 1
- showBusStop: 1
- FuelType: 0
- seed: 0
- showAccessRoadS: 1
- productionLevel: 3
- showAccessRoadN: 1
- FuelRequired: 0
- showTruckStop: 1
- LimitLevel: 31
Flexible Industries mod: finish building Forest 04/05/18 14:54:57
c:\build\transport_fever\steam\transport_fever_release\src\game\ui\actions\construction_builder_util.cpp:2364: class std::vector<class ecs::Entity,class std::allocator<class ecs::Entity> > __cdecl construction_builder_util::Apply(struct street_util::StreetToolkit,const class transport::CargoTypeRep *,const class CGameTime *,struct construction_builder_util::Proposal &,struct construction_builder_util::ProposalData &,const class ecs::Entity &): Assertion `playerEntity.GetId() >= 0' failed.
MinidumpCallback: dumpPath "C:/Program Files (x86)/Steam/userdata/387757016/446800/local/crash_dump/", minidumpId "327201f5-ae24-4263-961a-abf9627d8c14", succeeded 1
local time is Thu Apr 05 14:54:58 2018
SoftwareSimian  [developer] 5 Apr, 2018 @ 6:37pm 
If you get any crashes, please be sure to include the Flexible Industries version number, and please provide details on how and when the crash happened (e.g. during new map generation, placing a new industry on an existing map, upgrading an existing industry, or just randomly while not doing anything to the industry).
< >
Showing 1-15 of 18 comments
Per page: 1530 50