Switch: Reproducible crash when bypassing & removing bypass

This subforum contains all the issues which we already resolved.
Post Reply
Moosfet
Long Handed Inserter
Long Handed Inserter
Posts: 64
Joined: Fri Jun 10, 2016 1:50 pm
Contact:

Switch: Reproducible crash when bypassing & removing bypass

Post by Moosfet »

Is there not a special place for these things? Oh well, here you go:

Code: Select all

   0.000 2016-06-29 08:28:37; Factorio 0.13.1 (Build 22864, linux64, alpha)
   0.069 Operating system: Linux (LinuxMint 17)
   0.069 Program arguments: "./factorio" 
   0.069 Read data path: /home/pj/factorio-0.13.1/data
   0.069 Write data path: /home/pj/factorio-0.13.1
   0.069 Binaries path: /home/pj/factorio-0.13.1/bin
   0.101 Graphics options: [FullScreen: false] [VSync: true] [UIScale: 100%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: high] [Light scale: 100%] [Screen: 255] [DXT: false]
   0.120 Available display adapters: 1
   0.120  [0]: resolution 1920x1080px at [0,0]
   0.120 Create display on adapter 0. Size 1280x720 at position [310, 162].
   0.193 Initialised OpenGL:[0] GeForce GTX 650 Ti/PCIe/SSE2; driver: 4.5.0 NVIDIA 352.63
   0.193     Video memory size (dedicated/total available/current available): 1024/1024/922 MB
   0.305 Loading mod core 0.0.0 (data.lua)
   0.310 Loading mod base 0.13.1 (data.lua)
   0.422 Checksum for core: 1399339455
   0.422 Checksum for mod base: 2679425721
   0.974 Initial atlas bitmap size is 16384
   0.978 Created atlas bitmap 16384x6376
   0.979 Created atlas bitmap 4096x968
  19.640 Sprites loaded
  19.640 Convert atlas 4096x968 to: trilinear-filtering 
  19.754 Loading sounds...
  21.876 Custom inputs active: 0
  21.876 Info Updater.cpp:751: Downloading https://www.factorio.com/updater/get-available-versions?username=Moosfet&token=<private>&apiVersion=2
  23.383 0 packages available to download (experimental updates enabled).
  23.501 Factorio initialised
  50.777 Loading map /home/pj/factorio-0.13.1/saves/pointonethree2.zip
  50.823 Info Scenario.cpp:129: Map version 0.13.0-93
  51.956 Applying migration: Base Mod: 2016-06-28_Factorio_0.13.0.lua
  51.960 Checksum for script /home/pj/factorio-0.13.1/temp/currently-playing/control.lua: 900459546
10278.181 Loading map /home/pj/factorio-0.13.1/saves/pointonethree3.zip
10278.200 Info Scenario.cpp:129: Map version 0.13.1-0
10279.382 Checksum for script /home/pj/factorio-0.13.1/temp/currently-playing/control.lua: 900459546
45885.681 Error CrashHandler.cpp:183: Received SIGSEGV
Factorio crashed. Generating symbolized stacktrace, please wait ...
45887.982 Warning Logger.cpp:360: Symbols.size() == 27, usedSize == 15
#0  0x8efa9d in logStacktrace at /tmp/factorio-fWDO6t/src/Util/Logger.cpp:382
#1  0x7fdcfb in writeStackTrace at /tmp/factorio-fWDO6t/src/Util/CrashHandler.cpp:84
#2  0x7fdf74 in SignalHandler at /tmp/factorio-fWDO6t/src/Util/CrashHandler.cpp:188
#3  0x7f5f65328cb0 in ?? at ??:0
#4  0x5ccab5 in markAllTo at /tmp/factorio-fWDO6t/src/Energy/ElectricSubNetwork.cpp:906
#5  0x8cf40d in markAllTo at /tmp/factorio-fWDO6t/src/Energy/ElectricSubNetwork.cpp:907
#6  0x8cf92e in markAllTo at /tmp/factorio-fWDO6t/src/Energy/ElectricSubNetwork.cpp:907
#7  0xbdea2b in removeConnection at /tmp/factorio-fWDO6t/src/Energy/ElectricSubNetwork.cpp:890
#8  0xbe082c in disconnectSubNetworks at /tmp/factorio-fWDO6t/src/Entity/PowerSwitch.cpp:334
#9  0xbef56c in update at /tmp/factorio-fWDO6t/src/Entity/PowerSwitch.cpp:136
#10 0xc0d037 in get_next at /home/build/build_environment/boost_1_58_0/output_linux64/include/boost/intrusive/detail/list_node.hpp:62
#11 0x708415 in operator++ at /home/build/build_environment/boost_1_58_0/output_linux64/include/boost/intrusive/detail/list_iterator.hpp:80
#12 0xf3c5cf in update at /tmp/factorio-fWDO6t/src/Surface/Chunk.cpp:468
#13 0x7f5f66f5f184 in update at /tmp/factorio-fWDO6t/src/Surface/Surface.cpp:913
#14 0x7f5f653ec37d in update at /tmp/factorio-fWDO6t/src/Map/Map.cpp:1072
45889.677 Warning Logger.cpp:360: Symbols.size() == 26, usedSize == 14
45889.677 Error CrashHandler.cpp:85: Map tick at moment of crash: 5024866
45889.677 Error Util.cpp:77: Unexpected error occurred. You can help us to solve the problem by posting the contents of the log file on the Factorio forums.
The auto-save from before the crash, if I load it and perform the same steps, there's a 50/50 chance it'll crash again. I've spent an hour playing with it and I can't figure out what makes the difference. This occurred while I was playing with a power switch and an accumulator, and I removed and replaced a power pole to cause a power outage in order to test that the power switches on and off how I want when the accumulator starts to discharge. I note that, after removing a power pole (the first step in the sequence to trigger the crash), the science labs remain powered despite the power switch connecting to them having disconnected in response to me causing the accumulator to discharge. I looked around, there's no other wires going to their network. They're just powered by magic at that point. If, before removing the pole, I cause the switch to open another way, they lose power as they should, it's only removing that pole that does it. Even removing other poles to cause the same outage doesn't cause it to happen, it's just that one pole, perhaps because it was originally connected to their network, but I long ago removed the copper wire between it and their network to separate the two and maybe that wasn't recorded correctly somehow? I dunno, I need to go to sleep so I can't play with it any further.

Moosfet
Long Handed Inserter
Long Handed Inserter
Posts: 64
Joined: Fri Jun 10, 2016 1:50 pm
Contact:

Re: Crash Log

Post by Moosfet »

OK, I created a simple test case for this in creative mode, and enabled "replay" in case that helps.

http://www.filedropper.com/crashtest0
crashtest0.zip
(2.65 MiB) Downloaded 76 times
sha1: 4e39c729c5f6f90dc0ec471d789171825dd65246
md5: 116a79b2fbc480184f0b108882c31e03

Steps to cause the crash:

1. Load that map. It has a power switch set up to power the radars to the right when the accumulator reaches 75% charge, then shut them off when it reaches 25% charge. So the switch will turn on and off about once every 10 seconds or so.

2. While the switch is closed remove the big electric pole just to the north of the power switch. It won't crash at this point, but note that this exposes a bug, since after the switch turns off, the radars on the right will remain powered anyway.

3. Place a new big power pole above the 1 radar on the left.

4. Place a medium power pole where the big power pole you removed was, such that it bridges the two sides of the switch.

5. Remove the 8 radars to the right side of the switch.

6. Wait for the switch to turn on again.

7. Remove the medium power pole you placed.

At that point, it'll crash, producing this:

Code: Select all

   0.000 2016-06-30 10:47:19; Factorio 0.13.1 (Build 22864, linux64, alpha)
   0.064 Operating system: Linux (LinuxMint 17)
   0.064 Program arguments: "./factorio" 
   0.064 Read data path: /home/pj/factorio-0.13.1/data
   0.064 Write data path: /home/pj/factorio-0.13.1
   0.064 Binaries path: /home/pj/factorio-0.13.1/bin
   0.079 Graphics options: [FullScreen: false] [VSync: true] [UIScale: 100%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: high] [Light scale: 100%] [Screen: 255] [DXT: false]
   0.098 Available display adapters: 1
   0.098  [0]: resolution 1920x1080px at [0,0]
   0.098 Create display on adapter 0. Size 1280x720 at position [310, 162].
   0.180 Initialised OpenGL:[0] GeForce GTX 650 Ti/PCIe/SSE2; driver: 4.5.0 NVIDIA 352.63
   0.180     Video memory size (dedicated/total available/current available): 1024/1024/885 MB
   0.289 Loading mod core 0.0.0 (data.lua)
   0.293 Loading mod base 0.13.1 (data.lua)
   0.401 Checksum for core: 1399339455
   0.402 Checksum for mod base: 2679425721
   0.934 Initial atlas bitmap size is 16384
   0.939 Created atlas bitmap 16384x6376
   0.939 Created atlas bitmap 4096x968
  18.047 Sprites loaded
  18.048 Convert atlas 4096x968 to: trilinear-filtering 
  18.163 Loading sounds...
  20.129 Custom inputs active: 0
  20.129 Info Updater.cpp:751: Downloading https://www.factorio.com/updater/get-available-versions?username=Moosfet&token=<private>&apiVersion=2
  20.873 0 packages available to download (experimental updates enabled).
  20.931 Factorio initialised
  27.957 Loading map /home/pj/factorio-0.13.1/saves/crashtest0.zip
  27.978 Info Scenario.cpp:129: Map version 0.13.1-0
  28.185 Checksum for script /home/pj/factorio-0.13.1/temp/currently-playing/control.lua: 3855285587
 107.145 Error CrashHandler.cpp:183: Received SIGSEGV
Factorio crashed. Generating symbolized stacktrace, please wait ...
 108.375 Warning Logger.cpp:360: Symbols.size() == 33, usedSize == 21
#0  0x8efa9d in logStacktrace at /tmp/factorio-fWDO6t/src/Util/Logger.cpp:382
#1  0x7fdcfb in writeStackTrace at /tmp/factorio-fWDO6t/src/Util/CrashHandler.cpp:84
#2  0x7fdf74 in SignalHandler at /tmp/factorio-fWDO6t/src/Util/CrashHandler.cpp:188
#3  0x7f5c33a4ccb0 in ?? at ??:0
#4  0x5ccab5 in markAllTo at /tmp/factorio-fWDO6t/src/Energy/ElectricSubNetwork.cpp:906
#5  0x8cf40d in markAllTo at /tmp/factorio-fWDO6t/src/Energy/ElectricSubNetwork.cpp:907
#6  0x8cf564 in markAllTo at /tmp/factorio-fWDO6t/src/Energy/ElectricSubNetwork.cpp:907
#7  0x8d0794 in removeConnection at /tmp/factorio-fWDO6t/src/Energy/ElectricSubNetwork.cpp:890
#8  0x955387 in disconnectSubNetworks at /tmp/factorio-fWDO6t/src/Entity/PowerSwitch.cpp:334
#9  0x4303df in mergeNetworks at /tmp/factorio-fWDO6t/src/Entity/ElectricPole.cpp:609
#10 0x978205 in manageConnectionTo at /tmp/factorio-fWDO6t/src/Entity/ElectricPole.cpp:598
#11 0xb0045a in connectTo at /tmp/factorio-fWDO6t/src/Entity/ElectricPole.cpp:352
#12 0xb0f705 in onDestroy at /tmp/factorio-fWDO6t/src/Entity/ElectricPole.cpp:417
#13 0xbdd738 in forceDestroy at /tmp/factorio-fWDO6t/src/Entity/Entity.cpp:234
#14 0xbe082c in destroy at /tmp/factorio-fWDO6t/src/Entity/Entity.cpp:220
#15 0xbef56c in mine at /tmp/factorio-fWDO6t/src/Entity/Entity.cpp:601
#16 0xc0d037 in handleMinedEntity at /tmp/factorio-fWDO6t/src/ManualStorage.cpp:158
#17 0x708415 in performMining at /tmp/factorio-fWDO6t/src/ManualMiner.cpp:134
#18 0xf3c5cf in update at /tmp/factorio-fWDO6t/src/Controller/GodController.cpp:184 (discriminator 1)
#19 0x7f5c35683184 in update at /tmp/factorio-fWDO6t/src/Player.cpp:294
#20 0x7f5c33b1037d in update at /tmp/factorio-fWDO6t/src/Map/Map.cpp:1077
 109.580 Warning Logger.cpp:360: Symbols.size() == 32, usedSize == 20
 109.580 Error CrashHandler.cpp:85: Map tick at moment of crash: 24443
 109.580 Error Util.cpp:77: Unexpected error occurred. You can help us to solve the problem by posting the contents of the log file on the Factorio forums.

Loewchen
Global Moderator
Global Moderator
Posts: 8571
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: Crash Log

Post by Loewchen »

With what version of the game was the map in the save originally made?

Moosfet
Long Handed Inserter
Long Handed Inserter
Posts: 64
Joined: Fri Jun 10, 2016 1:50 pm
Contact:

Re: Crash Log

Post by Moosfet »

It's made with 0.13.1. I made it specifically to cause this crash, so there's virtually nothing in it and the replay is only like 5 mins.

Loewchen
Global Moderator
Global Moderator
Posts: 8571
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: Switch: Reproducible crash when bypassing & removing bypass

Post by Loewchen »

I could reproduce the crash with the steps provided.
Thank you.

kovarex
Factorio Staff
Factorio Staff
Posts: 8079
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: Switch: Reproducible crash when bypassing & removing bypass

Post by kovarex »

I guess that it is fixed, as I fixed bug in the way electric network with switches merge for 0.13.3

Post Reply

Return to “Resolved Problems and Bugs”