News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

[r7017] cannot reload any savegame

Started by whoami, January 13, 2014, 01:29:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

whoami

After switching from r7005 to r7017 (nightly Win-SDL), I find that I cannot load any savegames (for a game with Pak128.Britain nightly r1382) from the previous revisions. Check e.g. the savegame from here: http://forum.simutrans.com/index.php?topic=12615.msg127668#msg127668
The symptoms are:
- most often: ST exits without any message
- sometimes, an "Out of memory" message appears
- sometimes, "string longer than allowed size" appears (this is the case with the savegame linked above - it had been saved with much older revisions of both ST and the pak set)

r7005 nightly loads the savegames without problems.
With Pak64, the problem has not occurred yet, but I have only trivial savegames for this pak set on this PC.

EDIT: changed title to reflect that all paksets may be affected.

captain crunch

Not only Pak128.Britain seems affected.
Perhaps it is related to the warnings that appear since rev 7017:

===> CXX clipboard_internal.cc
===> CXX bauer/brueckenbauer.cc
===> CXX bauer/fabrikbauer.cc
In file included from bauer/fabrikbauer.cc:14:0:
bauer/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
bauer/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
bauer/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from bauer/fabrikbauer.cc:14:0:
bauer/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX bauer/hausbauer.cc
===> CXX bauer/tunnelbauer.cc
===> CXX bauer/vehikelbauer.cc
===> CXX bauer/warenbauer.cc
===> CXX bauer/wegbauer.cc
===> CXX besch/bild_besch.cc
===> CXX besch/bruecke_besch.cc
===> CXX besch/fabrik_besch.cc
===> CXX besch/grund_besch.cc
===> CXX besch/haus_besch.cc
===> CXX besch/obj_besch_std_name.cc
===> CXX besch/reader/bridge_reader.cc
===> CXX besch/reader/building_reader.cc
===> CXX besch/reader/citycar_reader.cc
===> CXX besch/reader/crossing_reader.cc
===> CXX besch/reader/factory_reader.cc
In file included from besch/reader/factory_reader.cc:2:0:
besch/reader/../../simfab.h: In constructor 'ware_production_t::ware_production_t()':
besch/reader/../../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
besch/reader/../../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from besch/reader/factory_reader.cc:2:0:
besch/reader/../../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX besch/reader/good_reader.cc
===> CXX besch/reader/ground_reader.cc
===> CXX besch/reader/groundobj_reader.cc
===> CXX besch/reader/image_reader.cc
===> CXX besch/reader/imagelist2d_reader.cc
===> CXX besch/reader/imagelist_reader.cc
===> CXX besch/reader/obj_reader.cc
===> CXX besch/reader/pedestrian_reader.cc
===> CXX besch/reader/roadsign_reader.cc
===> CXX besch/reader/root_reader.cc
===> CXX besch/reader/sim_reader.cc
===> CXX besch/reader/skin_reader.cc
===> CXX besch/reader/sound_reader.cc
===> CXX besch/reader/text_reader.cc
===> CXX besch/reader/tree_reader.cc
===> CXX besch/reader/tunnel_reader.cc
===> CXX besch/reader/vehicle_reader.cc
===> CXX besch/reader/way_obj_reader.cc
===> CXX besch/reader/way_reader.cc
===> CXX besch/reader/xref_reader.cc
===> CXX besch/sound_besch.cc
===> CXX besch/tunnel_besch.cc
===> CXX besch/vehikel_besch.cc
===> CXX besch/ware_besch.cc
===> CXX besch/weg_besch.cc
===> CXX boden/boden.cc
===> CXX boden/brueckenboden.cc
===> CXX boden/fundament.cc
===> CXX boden/grund.cc
boden/grund.cc: In member function 'void grund_t::calc_back_bild(sint8, sint8)':
boden/grund.cc:766:35: warning: narrowing conversion of '(((int)scale_z_step) * (((int)hgt) + ((int)(((signed char)slope_this) % 3))))' from 'int' to 'sint16 {aka short int}' inside { } is ill-formed in C++11 [-Wnarrowing]
  sint16 corners[3] = {scale_z_step*(hgt + corner1(slope_this)),
                                   ^
boden/grund.cc:767:35: warning: narrowing conversion of '(((int)scale_z_step) * (((int)hgt) + ((int)(((signed char)slope_this) / 27))))' from 'int' to 'sint16 {aka short int}' inside { } is ill-formed in C++11 [-Wnarrowing]
                       scale_z_step*(hgt + corner4(slope_this)),
                                   ^
boden/grund.cc:768:35: warning: narrowing conversion of '(((int)scale_z_step) * (((int)hgt) + ((int)((((signed char)slope_this) / 9) % 3))))' from 'int' to 'sint16 {aka short int}' inside { } is ill-formed in C++11 [-Wnarrowing]
                       scale_z_step*(hgt + corner3(slope_this))};
                                   ^
boden/grund.cc:857:31: warning: narrowing conversion of '(((int)corners[0]) + 1)' from 'int' to 'sint16 {aka short int}' inside { } is ill-formed in C++11 [-Wnarrowing]
   sint16 test[3] = {corners[0]+1, corners[1]+1, corners[2]+1};
                               ^
boden/grund.cc:857:45: warning: narrowing conversion of '(((int)corners[1]) + 1)' from 'int' to 'sint16 {aka short int}' inside { } is ill-formed in C++11 [-Wnarrowing]
   sint16 test[3] = {corners[0]+1, corners[1]+1, corners[2]+1};
                                             ^
boden/grund.cc:857:59: warning: narrowing conversion of '(((int)corners[2]) + 1)' from 'int' to 'sint16 {aka short int}' inside { } is ill-formed in C++11 [-Wnarrowing]
   sint16 test[3] = {corners[0]+1, corners[1]+1, corners[2]+1};
                                                           ^
===> CXX boden/monorailboden.cc
===> CXX boden/tunnelboden.cc
===> CXX boden/wasser.cc
===> CXX boden/wege/kanal.cc
===> CXX boden/wege/maglev.cc
===> CXX boden/wege/monorail.cc
===> CXX boden/wege/narrowgauge.cc
===> CXX boden/wege/runway.cc
===> CXX boden/wege/schiene.cc
===> CXX boden/wege/strasse.cc
===> CXX boden/wege/weg.cc
===> CXX dataobj/crossing_logic.cc
===> CXX dataobj/objlist.cc
===> CXX dataobj/settings.cc
===> CXX dataobj/fahrplan.cc
===> CXX dataobj/freelist.cc
===> CXX dataobj/gameinfo.cc
===> CXX dataobj/koord.cc
===> CXX dataobj/koord3d.cc
===> CXX dataobj/loadsave.cc
===> CXX dataobj/marker.cc
===> CXX dataobj/powernet.cc
===> CXX dataobj/records.cc
===> CXX dataobj/ribi.cc
===> CXX dataobj/route.cc
===> CXX dataobj/scenario.cc
===> CXX dataobj/tabfile.cc
===> CXX dataobj/translator.cc
===> CXX dataobj/environment.cc
===> CXX dataobj/warenziel.cc
===> CXX obj/baum.cc
===> CXX obj/bruecke.cc
===> CXX obj/crossing.cc
===> CXX obj/field.cc
In file included from obj/field.cc:11:0:
obj/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
obj/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
obj/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from obj/field.cc:11:0:
obj/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX obj/gebaeude.cc
In file included from obj/gebaeude.cc:22:0:
obj/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
obj/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
obj/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from obj/gebaeude.cc:22:0:
obj/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX obj/groundobj.cc
===> CXX obj/label.cc
===> CXX obj/leitung2.cc
In file included from obj/leitung2.cc:23:0:
obj/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
obj/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
obj/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from obj/leitung2.cc:23:0:
obj/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX obj/pillar.cc
===> CXX obj/roadsign.cc
===> CXX obj/signal.cc
===> CXX obj/tunnel.cc
===> CXX obj/wayobj.cc
===> CXX obj/wolke.cc
===> CXX obj/zeiger.cc
===> CXX display/font.cc
===> CXX display/simgraph16.cc
display/simgraph16.cc:47:5: warning: #warning "Needs to use slower copy with GCC > 4.2.x" [-Wcpp]
#   warning "Needs to use slower copy with GCC > 4.2.x"
     ^
===> CXX display/simview.cc
===> CXX display/viewport.cc
===> CXX freight_list_sorter.cc
In file included from freight_list_sorter.cc:7:0:
simfab.h: In constructor 'ware_production_t::ware_production_t()':
simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from freight_list_sorter.cc:7:0:
simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/ai_option_t.cc
===> CXX gui/banner.cc
===> CXX gui/baum_edit.cc
===> CXX gui/citybuilding_edit.cc
===> CXX gui/citylist_frame_t.cc
===> CXX gui/citylist_stats_t.cc
===> CXX gui/climates.cc
===> CXX gui/display_settings.cc
===> CXX gui/components/gui_button.cc
===> CXX gui/components/gui_chart.cc
===> CXX gui/components/gui_combobox.cc
===> CXX gui/components/gui_container.cc
===> CXX gui/components/gui_convoiinfo.cc
===> CXX gui/components/gui_obj_view_t.cc
===> CXX gui/components/gui_fixedwidth_textarea.cc
===> CXX gui/components/gui_flowtext.cc
===> CXX gui/components/gui_image.cc
===> CXX gui/components/gui_image_list.cc
===> CXX gui/components/gui_komponente.cc
===> CXX gui/components/gui_label.cc
===> CXX gui/components/gui_map_preview.cc
===> CXX gui/components/gui_numberinput.cc
===> CXX gui/components/gui_scrollbar.cc
===> CXX gui/components/gui_scrolled_list.cc
===> CXX gui/components/gui_scrollpane.cc
===> CXX gui/components/gui_speedbar.cc
===> CXX gui/components/gui_tab_panel.cc
===> CXX gui/components/gui_textarea.cc
===> CXX gui/components/gui_textinput.cc
===> CXX gui/components/gui_world_view_t.cc
===> CXX gui/convoi_detail_t.cc
===> CXX gui/convoi_filter_frame.cc
===> CXX gui/convoi_frame.cc
===> CXX gui/convoi_info_t.cc
===> CXX gui/convoy_item.cc
===> CXX gui/curiosity_edit.cc
===> CXX gui/curiositylist_frame_t.cc
===> CXX gui/curiositylist_stats_t.cc
===> CXX gui/depot_frame.cc
===> CXX gui/enlarge_map_frame_t.cc
===> CXX gui/extend_edit.cc
===> CXX gui/fabrik_info.cc
In file included from gui/factory_chart.h:17:0,
                 from gui/fabrik_info.h:17,
                 from gui/fabrik_info.cc:12:
gui/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
gui/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
gui/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from gui/factory_chart.h:17:0,
                 from gui/fabrik_info.h:17,
                 from gui/fabrik_info.cc:12:
gui/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/factory_chart.cc
In file included from gui/factory_chart.h:17:0,
                 from gui/factory_chart.cc:15:
gui/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
gui/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
gui/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from gui/factory_chart.h:17:0,
                 from gui/factory_chart.cc:15:
gui/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/factory_edit.cc
===> CXX gui/factorylist_frame_t.cc
===> CXX gui/factorylist_stats_t.cc
In file included from gui/factorylist_stats_t.cc:18:0:
gui/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
gui/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
gui/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from gui/factorylist_stats_t.cc:18:0:
gui/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/fahrplan_gui.cc
===> CXX gui/goods_frame_t.cc
===> CXX gui/goods_stats_t.cc
===> CXX gui/ground_info.cc
===> CXX gui/gui_frame.cc
===> CXX gui/gui_theme.cc
===> CXX gui/halt_detail.cc
In file included from gui/halt_detail.cc:12:0:
gui/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
gui/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
gui/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from gui/halt_detail.cc:12:0:
gui/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/halt_info.cc
===> CXX gui/halt_list_filter_frame.cc
===> CXX gui/halt_list_frame.cc
In file included from gui/halt_list_frame.cc:25:0:
gui/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
gui/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
gui/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from gui/halt_list_frame.cc:25:0:
gui/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/halt_list_stats.cc
===> CXX gui/help_frame.cc
===> CXX gui/jump_frame.cc
===> CXX gui/karte.cc
In file included from gui/karte.cc:9:0:
gui/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
gui/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
gui/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from gui/karte.cc:9:0:
gui/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/kennfarbe.cc
===> CXX gui/label_info.cc
===> CXX gui/labellist_frame_t.cc
===> CXX gui/labellist_stats_t.cc
===> CXX gui/line_item.cc
===> CXX gui/line_management_gui.cc
===> CXX gui/load_relief_frame.cc
===> CXX gui/loadsave_frame.cc
===> CXX gui/map_frame.cc
In file included from gui/map_frame.cc:31:0:
gui/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
gui/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
gui/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from gui/map_frame.cc:31:0:
gui/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/message_frame_t.cc
===> CXX gui/message_option_t.cc
===> CXX gui/message_stats_t.cc
===> CXX gui/messagebox.cc
===> CXX gui/money_frame.cc
===> CXX gui/optionen.cc
===> CXX gui/pakselector.cc
===> CXX gui/password_frame.cc
===> CXX gui/player_frame_t.cc
===> CXX gui/privatesign_info.cc
===> CXX gui/savegame_frame.cc
===> CXX gui/scenario_frame.cc
===> CXX gui/scenario_info.cc
===> CXX gui/schedule_list.cc
===> CXX gui/server_frame.cc
===> CXX gui/settings_frame.cc
===> CXX gui/settings_stats.cc
===> CXX gui/signal_spacing.cc
===> CXX gui/simwin.cc
In file included from gui/factory_chart.h:17:0,
                 from gui/fabrik_info.h:17,
                 from gui/simwin.cc:73:
gui/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
gui/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
gui/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from gui/factory_chart.h:17:0,
                 from gui/fabrik_info.h:17,
                 from gui/simwin.cc:73:
gui/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX gui/sound_frame.cc
===> CXX gui/sprachen.cc
===> CXX gui/stadt_info.cc
===> CXX gui/station_building_select.cc
===> CXX gui/themeselector.cc
===> CXX gui/obj_info.cc
===> CXX gui/trafficlight_info.cc
===> CXX gui/welt.cc
===> CXX gui/werkzeug_waehler.cc
===> CXX network/checksum.cc
===> CXX network/memory_rw.cc
===> CXX network/network.cc
===> CXX network/network_address.cc
===> CXX network/network_cmd.cc
===> CXX network/network_cmd_ingame.cc
===> CXX network/network_cmd_scenario.cc
===> CXX network/network_cmp_pakset.cc
===> CXX network/network_file_transfer.cc
===> CXX network/network_packet.cc
===> CXX network/network_socket_list.cc
===> CXX network/pakset_info.cc
===> CXX network/pwd_hash.cc
===> CXX old_blockmanager.cc
===> CXX player/ai.cc
===> CXX player/ai_goods.cc
In file included from player/ai_goods.cc:4:0:
player/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
player/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
player/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from player/ai_goods.cc:4:0:
player/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX player/ai_passenger.cc
In file included from player/ai_passenger.cc:11:0:
player/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
player/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
player/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from player/ai_passenger.cc:11:0:
player/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX player/finance.cc
===> CXX player/simplay.cc
===> CXX script/api_class.cc
===> CXX script/api_function.cc
===> CXX script/api_param.cc
In file included from script/api_param.cc:5:0:
script/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
script/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
script/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from script/api_param.cc:5:0:
script/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX script/api/api_city.cc
===> CXX script/api/api_const.cc
===> CXX script/api/api_convoy.cc
===> CXX script/api/api_gui.cc
===> CXX script/api/api_factory.cc
In file included from script/api/api_factory.cc:9:0:
script/api/../../simfab.h: In constructor 'ware_production_t::ware_production_t()':
script/api/../../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
script/api/../../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from script/api/api_factory.cc:9:0:
script/api/../../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX script/api/api_halt.cc
===> CXX script/api/api_map_objects.cc
===> CXX script/api/api_obj_desc.cc
===> CXX script/api/api_obj_desc_base.cc
===> CXX script/api/api_player.cc
===> CXX script/api/api_scenario.cc
===> CXX script/api/api_schedule.cc
===> CXX script/api/api_settings.cc
===> CXX script/api/api_simple.cc
===> CXX script/api/api_tiles.cc
===> CXX script/api/api_world.cc
===> CXX script/api/export_besch.cc
===> CXX script/api/get_next.cc
===> CXX script/dynamic_string.cc
===> CXX script/export_objs.cc
===> CXX script/script.cc
===> CXX squirrel/sq_extensions.cc
===> CXX squirrel/squirrel/sqapi.cc
===> CXX squirrel/squirrel/sqclass.cc
===> CXX squirrel/squirrel/sqdebug.cc
===> CXX squirrel/squirrel/sqlexer.cc
===> CXX squirrel/squirrel/sqobject.cc
===> CXX squirrel/squirrel/sqtable.cc
===> CXX squirrel/squirrel/sqbaselib.cc
===> CXX squirrel/squirrel/sqcompiler.cc
===> CXX squirrel/squirrel/sqfuncstate.cc
===> CXX squirrel/squirrel/sqmem.cc
===> CXX squirrel/squirrel/sqstate.cc
===> CXX squirrel/squirrel/sqvm.cc
===> CXX squirrel/sqstdlib/sqstdaux.cc
===> CXX squirrel/sqstdlib/sqstdio.cc
===> CXX squirrel/sqstdlib/sqstdrex.cc
===> CXX squirrel/sqstdlib/sqstdstring.cc
===> CXX squirrel/sqstdlib/sqstdblob.cc
===> CXX squirrel/sqstdlib/sqstdmath.cc
===> CXX squirrel/sqstdlib/sqstdstream.cc
===> CXX squirrel/sqstdlib/sqstdsystem.cc
===> CXX simcity.cc
In file included from simcity.cc:29:0:
simfab.h: In constructor 'ware_production_t::ware_production_t()':
simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from simcity.cc:29:0:
simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX simconvoi.cc
===> CXX simdebug.cc
===> CXX simdepot.cc
===> CXX simobj.cc
===> CXX simevent.cc
===> CXX simfab.cc
In file included from simfab.cc:23:0:
simfab.h: In constructor 'ware_production_t::ware_production_t()':
simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from simfab.cc:23:0:
simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
simfab.cc: In member function 'void fabrik_t::add_supplier(koord)':
simfab.cc:2131:53: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(  int i=0;  i < fab->get_ausgang().get_count();  i++   ) {
                                                     ^
simfab.cc: In member function 'void fabrik_t::rem_supplier(koord)':
simfab.cc:2165:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(  int i=0;  i < fab->get_ausgang().get_count();  i++   ) {
                                                      ^
===> CXX simhalt.cc
In file included from simhalt.cc:22:0:
simfab.h: In constructor 'ware_production_t::ware_production_t()':
simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from simhalt.cc:22:0:
simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX siminteraction.cc
===> CXX simintr.cc
===> CXX simio.cc
===> CXX simline.cc
===> CXX simlinemgmt.cc
===> CXX simloadingscreen.cc
===> CXX simmain.cc
simmain.cc:2:2: warning: #warning "Simutrans is preferably compiled as 32 bit binary!" [-Wcpp]
#warning "Simutrans is preferably compiled as 32 bit binary!"
  ^
===> CXX simmem.cc
===> CXX simmenu.cc
===> CXX simmesg.cc
===> CXX simplan.cc
In file included from simplan.cc:10:0:
simfab.h: In constructor 'ware_production_t::ware_production_t()':
simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from simplan.cc:10:0:
simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX simskin.cc
===> CXX simsound.cc
===> CXX simsys.cc
===> CXX simticker.cc
===> CXX simtools.cc
===> CXX simware.cc
In file included from simware.cc:13:0:
simfab.h: In constructor 'ware_production_t::ware_production_t()':
simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from simware.cc:13:0:
simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX simwerkz.cc
In file included from simwerkz.cc:32:0:
simfab.h: In constructor 'ware_production_t::ware_production_t()':
simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from simwerkz.cc:32:0:
simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX simworld.cc
In file included from simworld.cc:25:0:
simfab.h: In constructor 'ware_production_t::ware_production_t()':
simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from simworld.cc:25:0:
simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX sucher/platzsucher.cc
===> CXX unicode.cc
===> CXX utils/cbuffer_t.cc
===> CXX utils/csv.cc
===> CXX utils/log.cc
===> CXX utils/searchfolder.cc
===> CXX utils/sha1.cc
===> CXX utils/simstring.cc
===> CXX utils/simthread.cc
===> CXX vehicle/movingobj.cc
===> CXX vehicle/simpeople.cc
===> CXX vehicle/simvehikel.cc
In file included from vehicle/simvehikel.cc:34:0:
vehicle/../simfab.h: In constructor 'ware_production_t::ware_production_t()':
vehicle/../simfab.h:136:9: warning: 'ware_production_t::index_offset' will be initialized after [-Wreorder]
  uint32 index_offset; // used for haltlist and lieferziele searches in verteile_waren to produce round robin results
         ^
vehicle/../simfab.h:130:9: warning:   'sint32 ware_production_t::transit' [-Wreorder]
  sint32 transit;
         ^
In file included from vehicle/simvehikel.cc:34:0:
vehicle/../simfab.h:96:2: warning:   when initialized here [-Wreorder]
  ware_production_t() : type(NULL), menge(0), max(0), index_offset(0), transit(0), max_transit(0)
  ^
===> CXX vehicle/simverkehr.cc
===> CXX simsys_s2.cc
simsys_s2.cc:380:5: warning: unused parameter 'x' [-Wunused-parameter]
int dr_screenshot(const char *filename, int x, int y, int w, int h)
     ^
simsys_s2.cc:380:5: warning: unused parameter 'y' [-Wunused-parameter]
simsys_s2.cc:380:5: warning: unused parameter 'w' [-Wunused-parameter]
simsys_s2.cc:380:5: warning: unused parameter 'h' [-Wunused-parameter]
===> CXX sound/sdl_sound.cc
===> CXX music/no_midi.cc
===> LD  /home/user/src/simutrans.git/build/default/sim




Here's gdb output of loading a pak96.comic save game:

[New Thread 0x7fffeef4c700 (LWP 17981)]
[New Thread 0x7fffee74b700 (LWP 17982)]
[Thread 0x7fffee74b700 (LWP 17982) exited]
[New Thread 0x7fffedf4a700 (LWP 17983)]
[New Thread 0x7fffed749700 (LWP 17984)]
[New Thread 0x7fffecf48700 (LWP 17985)]
[New Thread 0x7fffee74b700 (LWP 17986)]
[New Thread 0x7fffdffff700 (LWP 17987)]
[New Thread 0x7fffdf7fe700 (LWP 17988)]
[New Thread 0x7fffdeffd700 (LWP 17989)]

Program received signal SIGABRT, Aborted.
0x00007ffff69311d5 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#0  0x00007ffff69311d5 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff6934388 in __GI_abort () at abort.c:90
#2  0x00000000006f347a in log_t::fatal (this=0xaf77f0,
    who=0x71eedb "loadsave_t::rdwr_str()",
    format=0x71efd8 "string longer (%i) than allowed size (%i)")
    at utils/log.cc:347
#3  0x0000000000474fa9 in loadsave_t::rdwr_str (this=0x7fffffffb390,
    result_buffer=0x7fffffffadc0 "\323\004", size=256)
    at dataobj/loadsave.cc:976
#4  0x000000000067617d in fabrik_t::rdwr (this=0x5410450, file=0x7fffffffb390)
    at simfab.cc:942
#5  0x00000000006745f0 in fabrik_t::fabrik_t (this=0x5410450,
    file=0x7fffffffb390) at simfab.cc:623
#6  0x00000000006e5f63 in karte_t::load (this=0x459a850, file=0x7fffffffb390)
    at simworld.cc:5604
#7  0x00000000006e41dc in karte_t::load (this=0x459a850, filename=0x4732360 "")
    at simworld.cc:5217
#8  0x000000000053b3d1 in loadsave_frame_t::item_action (this=0x472e740,
    filename=0x4732360 "") at gui/loadsave_frame.cc:64
#9  0x000000000055228e in savegame_frame_t::action_triggered (this=0x472e740,
    component=0x4730448) at gui/savegame_frame.cc:532
#10 0x00000000004cc719 in gui_action_creator_t::call_listeners (
    this=0x4730448, v=...) at gui/components/gui_action_creator.h:36
#11 0x00000000004cbc99 in button_t::infowin_event (this=0x4730430,
    ev=0x7fffffffbcb0) at gui/components/gui_button.cc:225
#12 0x00000000004d1322 in gui_container_t::infowin_event (this=0x472f148,
    ev=0x7fffffffbe10) at gui/components/gui_container.cc:198
#13 0x00000000004dcd1b in gui_scrollpane_t::infowin_event (this=0x472f188,
    ev=0x7fffffffbec0) at gui/components/gui_scrollpane.cc:120
#14 0x00000000004d1322 in gui_container_t::infowin_event (this=0x472e748,
    ev=0x7fffffffc020) at gui/components/gui_container.cc:198
#15 0x0000000000518730 in gui_frame_t::infowin_event (this=0x472e740,
    ev=0x7fffffffc0e0) at gui/gui_frame.cc:98
#16 0x0000000000551f66 in savegame_frame_t::infowin_event (this=0x472e740,
    event=0x7fffffffc0e0) at gui/savegame_frame.cc:469
#17 0x000000000057e835 in check_pos_win (ev=0x7fffffffc230)
    at gui/simwin.cc:1411
#18 0x0000000000691680 in interaction_t::process_event (this=0x42baa30, ev=...)
    at siminteraction.cc:327
#19 0x00000000006919c5 in interaction_t::check_events (this=0x42baa30)
    at siminteraction.cc:411
#20 0x00000000006eaf43 in karte_t::interactive (this=0x459a850,
    quit_month=2147483647) at simworld.cc:6732
#21 0x000000000069afdb in simu_main (argc=2, argv=0x7fffffffe188)
    at simmain.cc:1253
#22 0x00000000006aa968 in sysmain (argc=2, argv=0x7fffffffe188)
    at simsys.cc:703
#23 0x0000000000712d9f in main (argc=2, argv=0x7fffffffe188)
    at simsys_s2.cc:658
Continuing.
[Thread 0x7fffdeffd700 (LWP 17989) exited]
[Thread 0x7fffdf7fe700 (LWP 17988) exited]
[Thread 0x7fffdffff700 (LWP 17987) exited]
[Thread 0x7fffee74b700 (LWP 17986) exited]
[Thread 0x7fffecf48700 (LWP 17985) exited]
[Thread 0x7fffed749700 (LWP 17984) exited]
[Thread 0x7fffedf4a700 (LWP 17983) exited]
[Thread 0x7fffeef4c700 (LWP 17981) exited]

Program terminated with signal SIGABRT, Aborted.
The program no longer exists.


And here's gdb output of loading a pak64.german save game:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffeef4c700 (LWP 18042)]
[New Thread 0x7fffee74b700 (LWP 18044)]
[Thread 0x7fffee74b700 (LWP 18044) exited]
[New Thread 0x7fffedf4a700 (LWP 18045)]
[New Thread 0x7fffed749700 (LWP 18046)]
[New Thread 0x7fffecf48700 (LWP 18047)]
[New Thread 0x7fffee74b700 (LWP 18048)]
[New Thread 0x7fffe7fff700 (LWP 18049)]
[New Thread 0x7fffe77fe700 (LWP 18050)]
[New Thread 0x7fffe6ffd700 (LWP 18051)]
[Thread 0x7fffe6ffd700 (LWP 18051) exited]

Program received signal SIGSEGV, Segmentation fault.
0x000000000040a8b6 in stringhash_t::hash (key=0x0)
    at bauer/../dataobj/../tpl/stringhashtable_tpl.h:20
20 for(  sint8 i=16;  i*key[0]!=0;  i--  ) {
#0  0x000000000040a8b6 in stringhash_t::hash (key=0x0)
    at bauer/../dataobj/../tpl/stringhashtable_tpl.h:20
#1  0x0000000000425d58 in hashtable_tpl<char const*, ware_besch_t const*, stringhash_t>::get_hash (this=0xa0dce0 <warenbauer_t::besch_names>, key=0x0)
    at bauer/../tpl/hashtable_tpl.h:45
#2  0x00000000004256c5 in hashtable_tpl<char const*, ware_besch_t const*, stringhash_t>::get (this=0xa0dce0 <warenbauer_t::besch_names>, key=0x0)
    at bauer/../tpl/hashtable_tpl.h:209
#3  0x000000000042510b in warenbauer_t::get_info (name=0x0)
    at bauer/warenbauer.cc:153
#4  0x00000000006763e8 in fabrik_t::rdwr (this=0x4fa3af0, file=0x7fffffffb390)
    at simfab.cc:978
#5  0x00000000006745f0 in fabrik_t::fabrik_t (this=0x4fa3af0,
    file=0x7fffffffb390) at simfab.cc:623
#6  0x00000000006e5f63 in karte_t::load (this=0x29a8840, file=0x7fffffffb390)
    at simworld.cc:5604
#7  0x00000000006e41dc in karte_t::load (this=0x29a8840,
    filename=0x3266c80 "save/dollop.sve") at simworld.cc:5217
#8  0x000000000053b3d1 in loadsave_frame_t::item_action (this=0x389a030,
    filename=0x3266c80 "save/dollop.sve") at gui/loadsave_frame.cc:64
#9  0x000000000055228e in savegame_frame_t::action_triggered (this=0x389a030,
    component=0x389b4a8) at gui/savegame_frame.cc:532
#10 0x00000000004cc719 in gui_action_creator_t::call_listeners (
    this=0x389b4a8, v=...) at gui/components/gui_action_creator.h:36
#11 0x00000000004cbc99 in button_t::infowin_event (this=0x389b490,
    ev=0x7fffffffbcb0) at gui/components/gui_button.cc:225
#12 0x00000000004d1322 in gui_container_t::infowin_event (this=0x389aa38,
    ev=0x7fffffffbe10) at gui/components/gui_container.cc:198
#13 0x00000000004dcd1b in gui_scrollpane_t::infowin_event (this=0x389aa78,
    ev=0x7fffffffbec0) at gui/components/gui_scrollpane.cc:120
#14 0x00000000004d1322 in gui_container_t::infowin_event (this=0x389a038,
    ev=0x7fffffffc020) at gui/components/gui_container.cc:198
#15 0x0000000000518730 in gui_frame_t::infowin_event (this=0x389a030,
    ev=0x7fffffffc0e0) at gui/gui_frame.cc:98
#16 0x0000000000551f66 in savegame_frame_t::infowin_event (this=0x389a030,
    event=0x7fffffffc0e0) at gui/savegame_frame.cc:469
#17 0x000000000057e835 in check_pos_win (ev=0x7fffffffc230)
    at gui/simwin.cc:1411
#18 0x0000000000691680 in interaction_t::process_event (this=0x33c4190, ev=...)
    at siminteraction.cc:327
#19 0x00000000006919c5 in interaction_t::check_events (this=0x33c4190)
    at siminteraction.cc:411
#20 0x00000000006eaf43 in karte_t::interactive (this=0x29a8840,
    quit_month=2147483647) at simworld.cc:6732
#21 0x000000000069afdb in simu_main (argc=2, argv=0x7fffffffe188)
    at simmain.cc:1253
#22 0x00000000006aa968 in sysmain (argc=2, argv=0x7fffffffe188)
    at simsys.cc:703
#23 0x0000000000712d9f in main (argc=2, argv=0x7fffffffe188)
    at simsys_s2.cc:658
Continuing.
[Thread 0x7fffe77fe700 (LWP 18050) exited]
[Thread 0x7fffe7fff700 (LWP 18049) exited]
[Thread 0x7fffee74b700 (LWP 18048) exited]
[Thread 0x7fffecf48700 (LWP 18047) exited]
[Thread 0x7fffed749700 (LWP 18046) exited]
[Thread 0x7fffedf4a700 (LWP 18045) exited]
[Thread 0x7fffeef4c700 (LWP 18042) exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.


Ters

Quote from: captain crunch on January 13, 2014, 02:11:15 PM
Perhaps it is related to the warnings that appear since rev 7017:

The warnings related to 7017 should be harmless. What order the integers are initialized should be irrelevant, as no other code can run inbetween. I can get pak64 to crash when building Simutrans from revision 7020. It did not crash at 7008.

prissi

Hmm, the biggest change is the change in the recalculation of average distance of fadctories upon adding suppliers. Not sure how to crash this. It seems, again MSVC is more forgiving, since I did not get any crashes so far.

Ters

7017 crashes, 7016 does not, so it is something in 7017.

Update:
I changed MAX_FAB_GOODS_STAT back to four, and it didn't crash.

Dwachs

Parsley, sage, rosemary, and maggikraut.

Ters

Did nothing else depends on the value 5? I hadn't uncovered what the value is supposed to be.

Dwachs

It is just the how many statistics values are saved. There are only 4 of them.
Parsley, sage, rosemary, and maggikraut.

prissi

 :-[ that was me fiddling with various statstics functions and forgot to reset this one. Thanks for fixing.