Ask Your Question
0

Matchmaking 관련해서 문의드립니다.

asked 2019-04-12 11:56:15 +0900

simpler gravatar image

updated 2019-04-12 12:00:44 +0900

Jinuk gravatar image

매치매이킹 요청시 크래쉬가 나는데요.
F0412 11:39:05.065615 25815 matchmaking.cc:645] Assert failed: started: 해당 부분 원인을 알수 있을까요?

디버깅 해보니 각각 다른 event 쓰레드에서 동시에 MatchmakingClient::StartMatchmaking 함수를 호출하고 있는 상황이며

콜스택은 아래 같습니다.

[Unknown/Just-In-Time compiled code]     
libglog.so.0!google::LogMessage::SendToLog()     
libglog.so.0!google::LogMessage::Flush()     
libglog.so.0!google::LogMessage::~LogMessage()   
fun::MatchmakingClient::StartMatchmaking2(long const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::Json const&, boost::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::MatchmakingClient::Match const&, fun::MatchmakingClient::MatchResult)> const&, boost::uuids::uuid const&, boost::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::MatchmakingClient::Match const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, boost::posix_time::time_duration const&)  
fun::MatchmakingClient::StartMatchmaking(long const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::Json const&, boost::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::MatchmakingClient::Match const&, fun::MatchmakingClient::MatchResult)> const&, fun::MatchmakingClient::TargetServerSelection const&, boost::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::uuids::uuid const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, boost::posix_time::time_duration const&)

...... .... .. .

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted
0

answered 2019-04-12 12:00:21 +0900

gigone.lee gravatar image

안녕하세요. 아이펀팩토리 입니다.

로그를 보니 매치메이킹 컴포넌트가 초기화되지 않은 것 같습니다. 매치메이킹 기능을 사용하는 서버의 MANIFEST.json 파일에 아래 내용이 있는지 확인해주실 수 있을까요? 이 부분은 저희 쪽에서 더 명확하게 알 수 있게 로그 내용을 변경하겠습니다.

....
"MatchmakingClient":{},
"MatchmakingServer":{
  "enable_match_progress_callback":true,
  "enable_dynamic_match":false
}
edit flag offensive delete link more

Comments

"MatchmakingServer": { "enable_dynamic_match": false, "enable_match_progress_callback": false }

위에 처럼 설정이 되어 있으며, 해당 서버가 실행될때 동기화 이슈인지... 어쩔되는 정상적으로 동작하고, 어쩔때는 서버가 죽습니다.

simpler gravatar imagesimpler ( 2019-04-12 12:06:44 +0900 )edit

이벤트를 실행하는 곳이 서버의 Install() 함수 안인지 확인해주실 수 있나요?

gigone.lee gravatar imagegigone.lee ( 2019-04-12 12:08:15 +0900 )edit

네 맞습니다. Timer::ExpireRepeatedly에서 주기적으로 호출을 하는데요? 메치메이킹이 초기화 되기전에 호출되어서 그런건가요?

simpler gravatar imagesimpler ( 2019-04-12 12:12:06 +0900 )edit

네 Install() 시점에서는 타이밍에 따라 엔진 함수가 제대로 동작하지 않을 수 있습니다. Install() 안에서는 초기화만 진행하고 이벤트나 엔진 함수 호출은 Start() 안에서 하는것을 권장하고 있습니다.

gigone.lee gravatar imagegigone.lee ( 2019-04-12 12:15:56 +0900 )edit

확인 감사합니다...

simpler gravatar imagesimpler ( 2019-04-12 12:23:11 +0900 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-04-12 11:56:15 +0900

Seen: 83 times

Last updated: Apr 12