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

Decode expectedUEBehaviour IE failed #139

Open
maolala opened this issue Nov 13, 2023 · 1 comment
Open

Decode expectedUEBehaviour IE failed #139

maolala opened this issue Nov 13, 2023 · 1 comment

Comments

@maolala
Copy link

maolala commented Nov 13, 2023

  1. The ASN file i used is in the open5gs github:
    https://github.com/open5gs/open5gs/blob/main/lib/asn1c/support/ngap-r17.3.0/38413-h30.asn

  2. ASNC1 Compiler is the latest version.

  3. The pcap file is:
    decode_error.tar.gz

  4. Unit test code snippet

decode_snippet.tar.gz

  1. Error logs:

I am not very familiar with ASN1. I used GDB to analyze and found out that the log printing (Decoding unconstrained integer ExpectedIdlePeriod) when decoding expectedIdlePeriod is different from expectedUEActivityBehaviour,But their definitions in ASN1 are the same.

ExpectedActivityPeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181, ...)
ExpectedIdlePeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181, ...)

Here's the full debug log and some log snippet, Sincerely seek help from @mouse07410

fail_log.tar.gz

Member CoreNetworkAssistanceInformationForInactive->expectedUEBehaviour is optional, p=1 (3->4) (src/constr_SEQUENCE_aper.c:110)
Decoding member "expectedUEBehaviour" in CoreNetworkAssistanceInformationForInactive (src/constr_SEQUENCE_aper.c:130)
Decoding ExpectedUEBehaviour as SEQUENCE (APER) (src/constr_SEQUENCE_aper.c:40)
[PER got 1<=128 bits => span 89 +11[1..128]:79 (127) => 0x0] (src/asn_bit_data.c:132)
[PER got 5<=127 bits => span 94 +11[6..128]:79 (122) => 0x1e] (src/asn_bit_data.c:132)
Read in presence bitmap for ExpectedUEBehaviour of 5 bits (f0..) (src/constr_SEQUENCE_aper.c:62)
[PER got 1<= 5 bits => span 1 +0[1..5]:f0 (4) => 0x1] (src/asn_bit_data.c:132)
Member ExpectedUEBehaviour->expectedUEActivityBehaviour is optional, p=1 (1->5) (src/constr_SEQUENCE_aper.c:110)
Decoding member "expectedUEActivityBehaviour" in ExpectedUEBehaviour (src/constr_SEQUENCE_aper.c:130)
Decoding ExpectedUEActivityBehaviour as SEQUENCE (APER) (src/constr_SEQUENCE_aper.c:40)
[PER got 1<=122 bits => span 95 +11[7..128]:79 (121) => 0x0] (src/asn_bit_data.c:132)
[PER got 4<=121 bits => span 99 +11[11..128]:79 (117) => 0xe] (src/asn_bit_data.c:132)
Read in presence bitmap for ExpectedUEActivityBehaviour of 4 bits (e0..) (src/constr_SEQUENCE_aper.c:62)
[PER got 1<= 4 bits => span 1 +0[1..4]:e0 (3) => 0x1] (src/asn_bit_data.c:132)
Member ExpectedUEActivityBehaviour->expectedActivityPeriod is optional, p=1 (1->4) (src/constr_SEQUENCE_aper.c:110)
Decoding member "expectedActivityPeriod" in ExpectedUEActivityBehaviour (src/constr_SEQUENCE_aper.c:130)
Decoding NativeInteger ExpectedActivityPeriod (APER) (src/NativeInteger_aper.c:21)
[PER got 1<=117 bits => span 100 +12[4..120]:c0 (116) => 0x0] (src/asn_bit_data.c:132)
Integer with range 8 bits (src/INTEGER_aper.c:54)
Aligning 4 bits (src/aper_support.c:13)
[PER got 4<=116 bits => span 104 +12[8..120]:c0 (112) => 0x0] (src/asn_bit_data.c:132)
[PER got 8<=112 bits => span 112 +13[8..112]:e0 (104) => 0xe0] (src/asn_bit_data.c:132)
Got value 225 + low 1 (src/INTEGER_aper.c:114)
NativeInteger ExpectedActivityPeriod got value 225 (src/NativeInteger_aper.c:37)
Freeing INTEGER as a primitive type (src/asn_codecs_prim.c:16)
[PER got 1<= 3 bits => span 2 +0[2..4]:e0 (2) => 0x1] (src/asn_bit_data.c:132)
Member ExpectedUEActivityBehaviour->expectedIdlePeriod is optional, p=1 (2->4) (src/constr_SEQUENCE_aper.c:110)
Decoding member "expectedIdlePeriod" in ExpectedUEActivityBehaviour (src/constr_SEQUENCE_aper.c:130)
Decoding NativeInteger ExpectedIdlePeriod (APER) (src/NativeInteger_aper.c:21)
[PER got 1<=104 bits => span 113 +14[1..104]:e8 (103) => 0x1] (src/asn_bit_data.c:132)
Decoding unconstrained integer ExpectedIdlePeriod (src/INTEGER_aper.c:122)
Aligning 7 bits (src/aper_support.c:13)
[PER got 7<=103 bits => span 120 +14[8..104]:e8 (96) => 0x68] (src/asn_bit_data.c:132)
[PER got 8<=96 bits => span 128 +15[8..96]:a8 (88) => 0xa8] (src/asn_bit_data.c:132)
[PER got 8<=88 bits => span 136 +0[8..88]:20 (80) => 0x20] (src/asn_bit_data.c:132)
[PER got 24<=80 bits => span 160 +1[24..80]:64 (56) => 0x64f011] (src/asn_bit_data.c:132)
[PER got 24<=56 bits => span 184 +4[24..56]:0b (32) => 0xb3309] (src/asn_bit_data.c:132)
[PER got 24<=32 bits => span 208 +7[24..32]:02 (8) => 0x21003] (src/asn_bit_data.c:132)
Freeing INTEGER as a primitive type (src/asn_codecs_prim.c:16)
Failed decode expectedIdlePeriod in ExpectedUEActivityBehaviour (src/constr_SEQUENCE_aper.c:145)
Failed decode expectedUEActivityBehaviour in ExpectedUEBehaviour (src/constr_SEQUENCE_aper.c:145)
Failed decode expectedUEBehaviour in CoreNetworkAssistanceInformationForInactive (src/constr_SEQUENCE_aper.c:145)
Freeing CoreNetworkAssistanceInformationForInactive as SEQUENCE (src/constr_SEQUENCE.c:76)

@mouse07410
Copy link
Owner

Sorry, this is probably to complex for me to debug. All I can say at the moment is that there were a couple of fixes to APER, so perhaps the current vlm_master would behave correctly on open5gs. Please give it another try if you can.

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

No branches or pull requests

2 participants