nickolasclarke / dispatch

A discrete-event simulation (DES) model for simulating deployment of EV bus fleets, using GTFS data
2 stars 0 forks source link

energy trap leads to segfault #61

Closed nickolasclarke closed 4 years ago

nickolasclarke commented 4 years ago

When I run minneaplolis with the default inputs, I encounter many energy traps (where the bus does not have enough energy to return to depot), and seemingly leads to a segfault. I've also bumped up the default value to 300 kwh of battery_cap and it also seg faults. I don't immediately see an issue in the lines that may cause this, they should account for this edge case.

https://github.com/nickolasclarke/dispatch/blob/af54966bf28c62f2585ffe7e5de6175fde174dff/src/sim.jl#L110-L128

reproduce with the following inputs:

julia --project ./sim.jl ../../data/parsed_minneapolis ../../data/minneapolis-saint-paul_minnesota.osm.pbf ../../data/depots_minneapolis.csv minneapolis_out
Energy trap found!
Energy trap found!
...
Energy trap found!
Energy trap found!
..................
signal (11): Segmentation fault
in expression starting at /mnt/c/Users/nicko/repos/dispatch/build/bin/sim.jl:329
unknown function (ip: 0x7f880c204d17)
unknown function (ip: 0x7f880c205070)
__gxx_personality_v0 at /usr/bin/../lib/x86_64-linux-gnu/libstdc++.so.6 (unknown line)
unknown function (ip: 0x7f880c0006ee)
_Unwind_Resume at /lib/x86_64-linux-gnu/libgcc_s.so.1 (unknown line)
getTravelTime at /home/nclarke/winhome/repos/dispatch/build/../src/routingkit/routingkit.cpp:69
operator() at /home/nclarke/.julia/packages/CxxWrap/lDNAy/deps/usr/include/jlcxx/module.hpp:981 [inlined]
_M_invoke at /usr/include/c++/9/bits/std_function.h:286
operator() at /usr/include/c++/9/bits/std_function.h:688 [inlined]
operator() at /home/nclarke/.julia/packages/CxxWrap/lDNAy/deps/usr/include/jlcxx/module.hpp:47 [inlined]
apply at /home/nclarke/.julia/packages/CxxWrap/lDNAy/deps/usr/include/jlcxx/module.hpp:72
getTravelTime at /home/nclarke/.julia/packages/CxxWrap/lDNAy/src/CxxWrap.jl:552
TimeDistanceBetweenPoints at /mnt/c/Users/nicko/repos/dispatch/build/bin/sim.jl:53
FindClosestDepotByTime at /mnt/c/Users/nicko/repos/dispatch/build/bin/sim.jl:230
RunBlock at /mnt/c/Users/nicko/repos/dispatch/build/bin/sim.jl:84
Model at /mnt/c/Users/nicko/repos/dispatch/build/bin/sim.jl:201
main at /mnt/c/Users/nicko/repos/dispatch/build/bin/sim.jl:310
unknown function (ip: 0x7f881048ef7c)
unknown function (ip: 0x7f881048ec49)
unknown function (ip: 0x7f881048f0b0)
unknown function (ip: 0x7f881048f668)
unknown function (ip: 0x7f881048fe8f)
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7f87dda9a08f)
unknown function (ip: 0xffffffffffffffff)
unknown function (ip: 0x7f881049025e)
unknown function (ip: 0x7f8810370276)
unknown function (ip: 0x7f881034e7ad)
jl_load at /usr/bin/../lib/x86_64-linux-gnu/libjulia.so.1 (unknown line)
include at ./boot.jl:328 [inlined]
include_relative at ./loading.jl:1105
include at ./Base.jl:31
exec_options at ./client.jl:287
_start at ./client.jl:460
jfptr__start_2084.clone_1 at /usr/lib/x86_64-linux-gnu/julia/sys.so (unknown line)
unknown function (ip: 0x7f8810862755)
unknown function (ip: 0x7f8810862332)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f88108623d9)
Allocations: 172195181 (Pool: 172176543; Big: 18638); GC: 141
fish: “julia --project ./sim.jl ../../…” terminated by signal SIGSEGV (Address boundary error)
r-barnes commented 4 years ago

Fixed in new C++/Python version.