Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search and Rescue crash for deliver crew mission #4551

Open
impaktor opened this Issue Mar 4, 2019 · 2 comments

Comments

Projects
None yet
2 participants
@impaktor
Copy link
Member

impaktor commented Mar 4, 2019

Copenhagen_Bram reported this on a S&R mission, landing next to a mission ship on Earth for a transfer:

error: [string "[T] @libs/Ship.lua"]:922: attempt to get length of field '?' (a nil value)
stack traceback:
        [string "[T] @libs/Ship.lua"]:922: in function 'CrewNumber'
        [string "[T] @modules/SearchRescue/SearchRescue.lua"]:1627: in function 'deliverCrew'
        [string "[T] @modules/SearchRescue/SearchRescue.lua"]:1790: in function <[string "[T] @modules/SearchRescue/SearchRescue.lua"]:1765>
Segmentation fault (core dumped)

Just looking at those lines of code, I think this is what I'd expect to happen if the mission is to deliver crew to a mission ship, that is empty.

  • possibly, a mission ship should never be empty, i.e. exclude single seat
    ships from "deliver crew (pilot/doctor)" to mission ship?

  • Or L922 in lib/Ship.lua shouldn't crash if CrewRoster is empty.

Ship.CrewNumber = function (self)
	return #CrewRoster[self]
end

@impaktor impaktor changed the title Search and Rescue crash Search and Rescue crash for deliver crew mission Mar 4, 2019

@ElonSatoshi

This comment has been minimized.

Copy link

ElonSatoshi commented Mar 4, 2019

Copenhagen_Bram here, that's actually pioneer 20190303 (74e38aa37) (74e38aa) compiled with cmake.

I was trying to make an issue but I need to take a bath and manage to load an autosave without segfaulting.

@ElonSatoshi

This comment has been minimized.

Copy link

ElonSatoshi commented Mar 4, 2019

How to reproduce:

git clone https://github.com/pioneerspacesim/pioneer
cd pioneer
git checkout 74e38aa37
./bootstrap cmake && cmake --build ./build
  1. Stick this save file
    into your ~/.pioneer/savefiles folder and try to open it, but be warned that if I try to load a save with this version it segfaults, an issue which I will open after writing this. If you can't open it, play Pioneer and do search and rescue missions and hope you get the same one I got? Maybe there's a thing you can type into the console. Make sure you have an extra passenger bay.

  2. Accept the search and rescue mission, fly to the stranded vessel and land next to it, wait for the crew transference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.