Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

Crash upon exiting a Limbus instance #2879

Closed
2 tasks done
Hozu opened this issue Mar 7, 2016 · 20 comments
Closed
2 tasks done

Crash upon exiting a Limbus instance #2879

Hozu opened this issue Mar 7, 2016 · 20 comments

Comments

@Hozu
Copy link
Contributor

Hozu commented Mar 7, 2016

I have:

  • searched existing issues (http://github.com/darkstarproject/darkstar/issues/) to see if the issue I am posting has already been addressed or opened by another contributor
  • checked the commit log to see if my issue has been resolved since my server was last updated

Client Version (type /ver in game) :
30160203_0

Server Version (type @revision in game) :
2643851

Source Branch (master/stable) :
master

Additional Information (Steps to reproduce/Expected behavior) :
Once the last person warps out of the instance (since that's the only way to exit, time running out doesn't even end it...), the server crashes. Edit: Only happens if you warp out early, opening the final chest/time running out.

@Hozu
Copy link
Contributor Author

Hozu commented Apr 21, 2016

Seems that the issue is probably being caused by someone outside of the zone/party being added to the BCNM somehow. When everyone else leaves, the BCNM still exists, and when it finally times out, server goes down.

@Mizzguy
Copy link

Mizzguy commented May 1, 2016

I have encountered this same issue. The report I'm getting seems that it's only tied with temenos, but as hozu mentioned above this seems to happen with different bcnm as well. I know there is other pr for them but thought I would chime in as it seems to be an issue with other servers as well.

@Hozu
Copy link
Contributor Author

Hozu commented May 1, 2016

I've encountered it with both.

@Warp-ass
Copy link
Contributor

definitely getting this with limbus regularly. always seems to be a lose condition.

@Mizzguy
Copy link

Mizzguy commented May 28, 2016

I've been doing some testing on my server. If you win you need to exit the proper way, instead I know like my server and others im sure, we allow commands to warp back to hp or a town. And this could have been the issue. Since ppl started exiting the correct way, there have been no crashes even when time runs out.

@Hozu
Copy link
Contributor Author

Hozu commented May 28, 2016

It's hard to do that when someone who isn't even in the zone is put into the instance somehow, you know?

@Mizzguy
Copy link

Mizzguy commented May 28, 2016

That's true. Was just trying to add more to this as it came up. I missed that you had mentioned that in your other coment.

@KimchiXI
Copy link
Contributor

Another issue with the timeout in Apollyon is that once you go through the last teleporter, there is nothing that stops the BCNM. You actually end up in the lobby with the battlefield effect. Upon the timer running out on Limbus, you get "warped" to the exit which is in the lobby over and over again.

Not sure how to properly add in a BCNM win condition upon using the last teleporter where it will clean up the BCNM and reset all variables. When I tried, I ended up in a black screen. I think that's because there is no set exit and you need to treat it like Horlais peak and designate a set POS in the core?

@Kushdr
Copy link
Contributor

Kushdr commented Oct 19, 2016

Pretty sure I fixed this locally. Should also fix #2459

Just one small addition in each of the start NPCs and moving a function call around in battlefield.cpp

I can put the commit in later. at work now

@KimchiXI
Copy link
Contributor

@Kushdr Not sure if this was committed. Could you confirm?

@Kushdr
Copy link
Contributor

Kushdr commented Dec 20, 2016

It wasn't and I'm not near my computer. I can submit as soon as I can

@KimchiXI
Copy link
Contributor

@Kushdr Thx. Much appreciated.

@takhlaq
Copy link
Member

takhlaq commented Dec 21, 2016

i think we just need to remove player from battlefield in ccharentity destructor (see ghettofield branch) since when debugging the pointer's usually 0xdddddddd (freed memory in visual studio)

@teschnei
Copy link
Contributor

teschnei commented Dec 21, 2016 via email

@Hozu
Copy link
Contributor Author

Hozu commented Dec 21, 2016

The basic problem is people other than the first person are not added to the battlefield. That's what is leading to the issues. From what @Kushdr told me elsewhere, that's what his fix did - ensured everyone was entered. This caused the others to lose their soap/card properly as well.

@KimchiXI
Copy link
Contributor

Solo queue still leads to BCNM not completing upon use of last teleporter in Apollyon. Also upon time out, the server crashes.

@Hozu
Copy link
Contributor Author

Hozu commented Dec 22, 2016

I don't think any submission towards fixing it was made to DSP yet.

@takhlaq
Copy link
Member

takhlaq commented Dec 22, 2016

It already removes them in DecreaseZoneCounter

ya but not in map_close_session or when d/c

int32 map_close_session(time_point tick, map_session_data_t* map_session_data)

aFree(map_session_data->server_packet_data);

edit: errr see

else if (map_session_data->shuttingDown == 0)
too

@Brierre
Copy link
Contributor

Brierre commented Feb 27, 2017

This is still an issue. Additional party members after the first to click are not having their KI removed from their list, and at the end of the Limbus, it's not cleaning things up. Solo, I have not encountered a problem, but as soon as I put my girl in a party, it creates a mess.

It's almost like the leave codes are not defined. There's no definitive way of "winning" a Limbus set up or something. I'm not very good at the code yet, so forgive me if I'm pointing out the obvious to some of you.

@TeoTwawki
Copy link
Member

open new issue if this is still happening in our post bcnm rework world.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants