JapanTAC_CSC
Level 7
Level 7

2022年4月28日 (初版)

TAC SR Collection
主な問題

CUPS CP の sessmgr が以下のスタックトレースで crash する場合があります。

Assertion failure at sess/snx/drivers/sgw/sgw_pdn_fsm_util.c:19895
Function: sgwdrv_send_create_session_response()
Expression: pdn->pending_csreq != ((void *)0)
Proclet: sessmgr (f=87000,i=xx)
Process: card=x cpu=x arch=X pid=xxxxx cpu=~x% argv0=sessmgr
Crash time: yyyy-mmm-dd+hh:mm:ss UTC
Recent errno: 11 Resource temporarily unavailable
Build_number: xxxxx
Stack (xxxxxx@0x0xxxxxxxxx, probably truncated):
[ffffe430/X] __kernel_vsyscall() sp=0xxxxxxxxx
[0d101bc7/X] sn_assert() sp=0xxxxxxxxx
[061726ec/X] sgwdrv_send_create_session_response() sp=0xxxxxxxxx
[0619c4f3/X] sgwdrv_request_control_dispatch() sp=0xxxxxxxxx
[061fe2eb/X] snx_saegwdrv_request_control_dispatch() sp=0xxxxxxxxx
[0437d918/X] sessmgr_sgw_send_create_session_rsp() sp=0xxxxxxxxx
[043bcc3c/X] sessmgr_saegw_handle_sx_modify_rsp_s1_ho() sp=0xxxxxxxxx
Last Bounce:

原因

S1 Handover 時の create session request のメッセージがレスポンス遅延等により再送された場合に発生することがあります。

create session request の処理を行っている最中に再送の create session request を受信した場合に、1つ目のメッセージの処理が先に完了し、2つ目の create session request の処理はすでに完了していると判断する事が原因です。レスポンスの対象となる create session request が StarOS 内部で存在しないために assertion failure となり sessmgr crash が発生します。

この問題は CSCvy49298 として報告されています。
CSCvy49298 sessmgr task restart at sgwdrv_send_create_session_response() 

解決策

本事象の回避方法はありません。恒久的な対策には、 CSCvy49298 の修正されたバージョンを使用する必要があります。

備考
本不具合は、Bug Search Tool でも確認できます。
各製品の TAC SR Collection の一覧は、よくある質問と解決方法 (TAC SR Collection) から確認できます。