Closed QgamesGeonPyoNoh closed 2 months ago
확인한 로그에선 재접속 시도 처리중에 클라이언트가 종료된것처럼보이는데, 네트워크통신 오류나 노드 상황때문에 연결이 끊길수있고, 그 경우에 재접속 시도를 하는데, 혹시 재접속 처리가 아예 안됐을까요? 가능하면 영상첨부해주시면 좋을 것 같습니다.
해당 현상 재 발생 시 재 접속 대기 및 영상 촬영하도록 하겠습니다. 금일 테스트 중 약 4회 정도 해당 현상 발생하였으며 블록이 정지된 상태가 지속되거나 RPC 에러 팝업이 출력되었습니다.
해당 현상 금일 발생하여 공유드립니다.
https://github.com/user-attachments/assets/4fda7bf6-fede-41e2-a5ad-77fa6dde9a4b
확인 부탁드립니다.
[테스트 환경] Android.v200210-210.0.4 iOS.v210.0.4(99)
PC - 헤임달 체인에서 해당 현상 발생하여 재현 영상 및 로그 공유 드립니다. 시즌 패스 보상 수령이 되지 않아 확인 시 Block이 진행되지 않는 부분 확인하였으며, 이후 정찰 보상 획득 진행했으나 획득되지 않았습니다.
https://github.com/user-attachments/assets/78d969eb-41dc-4399-a5fb-f8d0854273f0
Game.InitializeMessagePackResolver
MagicOnion.Generated
RPCAgent -> _Service
ActionManager ->ProcessAction _agent.EnqueueAction(actionBase);
RPCAgent._queuedActions.Enqueue(actionBase); RPCAgent.CoTxProcessor RPCAgent.MakeTransaction { await _service.PutTransaction(tx.Serialize()); }
Ready -> Idle No RPC activity on channel for IDLE_TIMEOUT OR upon receiving a GOAWAY while there are no pending RPCs.
Best HTTP2 Logger
특정 주기마다 grpc channel 상태 체크하여 IDLE상태로 전환되면 rpc reconnect -> reflection으로 GrpcChannelx 내부 필드 검사하는거 아니면 체크 불가능
패킷 뜯어 보려했는데 저희가 C#으로만 자체구현된 데이터 패킹하는 친구들(Bencodex, BlockMarshaler)이 있어가지고.. 자체적으로 디섹터 다 구현하는거 아니면 외부 툴 상에서 패킷 뜯어보는건 불가능해보이네요.. 일단 주고받는 데이터 카피해서 아래 Bencodex Viewer에 값 넣어봤는데 아무 응답이 없었습니다.(아무런 로그도 안찍힙니다)
@ipdae 노드가 불안정했던 이슈와 겹쳐보이는데 해당이슈 닫으면될까요?
@jonny-jeahyunchoi 네 당시에 조사하다 멈춘 이슈처럼 보입니다. 나중에 재진행할때 다시 열거나 새로 만드는게 좋을것같습니다.
APV version info
v200210
Client version info
v210.0.3
Device
Windows, Android, iOS
detailed device info
Windows 10, Android 12, iOS 17
account address info
0x3146FE0E47A1998e14cd8a33640e3648A5A90276
avatar address info
No response
purchase receipt info
No response
What happened?
[내용] 간헐적으로 블록 진행이 되지 않는 현상 -헤임달 체인에서 발생 확인했습니다.
해당 현상 발생 당시 Log 파일 첨부드립니다.
Log.zip
How to reproduce the issue
[재현 스텝]
[Should be] 블록 진행이 정지하지 않아야 합니다.
Relevant log output
No response