Transport Fever

Transport Fever

Flexible Industries v1.2.19
jhughes 2018 年 4 月 1 日 上午 5:10
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
< >
正在显示第 1 - 15 条,共 18 条留言
jhughes 2018 年 4 月 1 日 上午 5:16 
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).
最后由 jhughes 编辑于; 2018 年 4 月 1 日 上午 5:17
jhughes 2018 年 4 月 1 日 上午 5:45 
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 2018 年 4 月 1 日 上午 5:59 
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 2018 年 4 月 1 日 上午 8:07 
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  [开发者] 2018 年 4 月 1 日 上午 10:52 
@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  [开发者] 2018 年 4 月 1 日 上午 10:54 
@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  [开发者] 2018 年 4 月 1 日 下午 4:02 
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 2018 年 4 月 1 日 下午 5:35 
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 2018 年 4 月 1 日 下午 5:36 
Let me try with that disabled and make sure everything else works.
SoftwareSimian  [开发者] 2018 年 4 月 1 日 下午 5:45 
I can, perhaps should, wrap the same conditional around the quarry file.
jhughes 2018 年 4 月 1 日 下午 5:47 
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  [开发者] 2018 年 4 月 1 日 下午 5:51 
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 2018 年 4 月 2 日 上午 12:02 
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 2018 年 4 月 5 日 下午 3:00 
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  [开发者] 2018 年 4 月 5 日 下午 6:37 
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).
< >
正在显示第 1 - 15 条,共 18 条留言
每页显示数: 1530 50