decentraland / unity-explorer

Apache License 2.0
8 stars 11 forks source link

LiveKit has an out of bounds memory exception #514

Open m3taphysics opened 5 months ago

m3taphysics commented 5 months ago

Explorer Alpha build version:

Main

Issue Description:

When building the visual studio project we see exceptions in livekit so we are over-writing an invalid memory address every time we send a client request.

I do not know the wider impact of this problem so I have set this to high.

Reproduction:

  1. Build with the following settings image

  2. Join decentraland and the exception is triggered immediately.

    GameAssembly.dll!FfiClient_SendRequest_m07B90AACF49613F851FDD591DF27EC32E9BB1D90(FfiClient_t927E8037E17CE994BE89517F02E531D5DA8DB5A6 * __this, FfiRequest_t3AD23626D84904F74A788C59525D4F574779E4D5 * ___0_request, const MethodInfo * method) Line 14133   C++
>   GameAssembly.dll!InterfaceFuncInvoker1<FfiResponse_tD0AD7249834A7582A14FA0F2B6634C1F124087D0 *,FfiRequest_t3AD23626D84904F74A788C59525D4F574779E4D5 *>::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj, FfiRequest_t3AD23626D84904F74A788C59525D4F574779E4D5 * p1) Line 214   C++
    GameAssembly.dll!FfiRequestWrap_1_Send_m31C03D25FC3D2B797C9C968C55883F94786B8D80_gshared(FfiRequestWrap_1_t8C70941C5C78B9213B663F125A685723B4D4D7FA * __this, const MethodInfo * method) Line 30380 C++
    GameAssembly.dll!FfiRequestWrap_1_Send_mBAF4CBC394C4089F18B6F1300840CB56A5B08D17(FfiRequestWrap_1_t1C105B3F0EC0F7728125DF8B55EA301D61134CDD * __this, const MethodInfo * method) Line 3027  C++
    GameAssembly.dll!FFIBridgeExtensions_SendConnectRequest_m81328B38F8D2331EE7CD9A6766E1BA96AED8E8E1(Il2CppObject * ___0_ffiBridge, String_t * ___1_url, String_t * ___2_authToken, bool ___3_autoSubscribe, const MethodInfo * method) Line 18492 C++
    GameAssembly.dll!Room_ConnectAsync_mC004F7219BAEF10F66B06EE3668955BDC2C12D4B(Room_tDDACE0F858C6DCF494C0FB7F5EFC25896234C288 * __this, String_t * ___0_url, String_t * ___1_authToken, CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED ___2_cancelToken, bool ___3_autoSubscribe, const MethodInfo * method) Line 14413  C++
    GameAssembly.dll!InterfaceFuncInvoker4<Task_1_t824317F4B958F7512E8F7300511752937A6C6043 *,String_t *,String_t *,CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED,bool>::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj, String_t * p1, String_t * p2, CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED p3, bool p4) Line 155    C++
    GameAssembly.dll!U3CConnectAsyncU3Ed__67_MoveNext_m88C9EED807537D5F0D929ABC45A5FD3023042FC4(U3CConnectAsyncU3Ed__67_tB07A6ACD060BCA0925B72BFBAAC293A84791D164 * __this, const MethodInfo * method) Line 18647   C++
    GameAssembly.dll!InterfaceActionInvoker0::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj) Line 42 C++
    GameAssembly.dll!AsyncTaskMethodBuilder_1_Start_TisRuntimeObject_m07B572608C528AC8F684456A98C7A8590DA70518_gshared(AsyncTaskMethodBuilder_1_t651E7BA5C7209C40335555F361280911CF711AAA * __this, Il2CppObject * * ___0_stateMachine, const MethodInfo * method) Line 13668   C++
    GameAssembly.dll!AsyncTaskMethodBuilder_1_Start_TisU3CConnectAsyncU3Ed__67_tB07A6ACD060BCA0925B72BFBAAC293A84791D164_mB3A4E2668367CDD8E136081A123E674FA2DDBAA2(AsyncTaskMethodBuilder_1_t651E7BA5C7209C40335555F361280911CF711AAA * __this, U3CConnectAsyncU3Ed__67_tB07A6ACD060BCA0925B72BFBAAC293A84791D164 * * ___0_stateMachine, const MethodInfo * method) Line 6966   C++
    GameAssembly.dll!LogRoom_ConnectAsync_m216809AAAE29DC2CF1D22E5E4484A96C1EEB17D7(LogRoom_tA714D66E6F4066F394F0B250A27BA39C530F86DD * __this, String_t * ___0_url, String_t * ___1_authToken, CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED ___2_cancelToken, bool ___3_autoSubscribe, const MethodInfo * method) Line 18498    C++
    GameAssembly.dll!InterfaceFuncInvoker4<Task_1_t824317F4B958F7512E8F7300511752937A6C6043 *,String_t *,String_t *,CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED,bool>::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj, String_t * p1, String_t * p2, CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED p3, bool p4) Line 155    C++
    GameAssembly.dll!CredentialsExtensions_ConnectAsync_TisConnectionStringCredentials_tDBF89F9F73D074BAA254A1BE2863073F0CAEABC2_m58B4E23B9F3466E307A5285B73BB5604E378694D_gshared(Il2CppObject * ___0_room, ConnectionStringCredentials_tDBF89F9F73D074BAA254A1BE2863073F0CAEABC2 ___1_credentials, CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED ___2_token, const MethodInfo * method) Line 28931  C++
    GameAssembly.dll!CredentialsExtensions_ConnectAsync_TisConnectionStringCredentials_tDBF89F9F73D074BAA254A1BE2863073F0CAEABC2_m58B4E23B9F3466E307A5285B73BB5604E378694D(Il2CppObject * ___0_room, ConnectionStringCredentials_tDBF89F9F73D074BAA254A1BE2863073F0CAEABC2 ___1_credentials, CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED ___2_token, const MethodInfo * method) Line 3065   C++
    GameAssembly.dll!U3CTryConnectToRoomAsyncU3Ed__14_MoveNext_m2BE66844B5276545438DC53676204E915F2E49CD(U3CTryConnectToRoomAsyncU3Ed__14_t10F80DF5CEE1F2B18D44D3D858340A06F80BAD43 * __this, const MethodInfo * method) Line 24408 C++
    GameAssembly.dll!InterfaceActionInvoker0::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj) Line 42 C++
    GameAssembly.dll!AsyncUniTaskMethodBuilder_Start_TisRuntimeObject_mB47A7ED4A1E8E03B2C64A9071007BD0BD052D831_gshared_inline(AsyncUniTaskMethodBuilder_t490751EC621C472E098B12103AF16BC549912BB0 * __this, Il2CppObject * * ___0_stateMachine, const MethodInfo * method) Line 7456   C++
    GameAssembly.dll!AsyncUniTaskMethodBuilder_Start_TisU3CTryConnectToRoomAsyncU3Ed__14_t10F80DF5CEE1F2B18D44D3D858340A06F80BAD43_m50C1ABF3F36219517BB8A4DA605087E13B5BCCFC_inline(AsyncUniTaskMethodBuilder_t490751EC621C472E098B12103AF16BC549912BB0 * __this, U3CTryConnectToRoomAsyncU3Ed__14_t10F80DF5CEE1F2B18D44D3D858340A06F80BAD43 * * ___0_stateMachine, const MethodInfo * method) Line 7095    C++
    GameAssembly.dll!ConnectiveRoom_TryConnectToRoomAsync_m11248F618C27EC66D1F816AB6A81EF4E51675B6D(ConnectiveRoom_t8C3C272F8F05B939BC83FD5B2E8B3F5F425CA133 * __this, String_t * ___0_connectionString, CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED ___1_token, const MethodInfo * method) Line 23884  C++
    GameAssembly.dll!ConnectToRoomAsyncDelegate_Invoke_m75905FC37220896713023CE20265A1AB6B0AE434_inline(ConnectToRoomAsyncDelegate_tE4B4DAD124AC2E284F1A839ACD275E3FA011EBB2 * __this, String_t * ___0_connectionString, CancellationToken_t51142D9C6D7C02D314DA34A6A7988C528992FFED ___1_token, const MethodInfo * method) Line 32711  C++
    GameAssembly.dll!U3CRunConnectCycleStepAsyncU3Ed__10_MoveNext_mA244C50C5E1E50CA69CC9E9AB80F0112154F2DF3(U3CRunConnectCycleStepAsyncU3Ed__10_tCFAF17F0A752EC8A798717AEB3A424FBA0666D68 * __this, const MethodInfo * method) Line 27207   C++
    GameAssembly.dll!InterfaceActionInvoker0::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj) Line 42 C++
    GameAssembly.dll!AsyncUniTask_1_Run_mBCBDCC69CD286970668150CD2E377875EF933930_gshared(AsyncUniTask_1_t0FEB569967DFA936F011FE4E6210A6904918737A * __this, const MethodInfo * method) Line 29812  C++
    GameAssembly.dll!Action_Invoke_m7126A54DACA72B845424072887B5F3A51FC3808E_inline(Action_tD00B0A84D7945E50C2DFFC28EFEE6ED44ED2AD07 * __this, const MethodInfo * method) Line 2256 C++
    GameAssembly.dll!AwaiterActions_Continuation_m0EA21AB9CAA150F08C0928928D6F0BA3B6A0D819(Il2CppObject * ___0_state, const MethodInfo * method) Line 25547 C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_OpenStatic(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 8703    C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_gshared_inline(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 27170   C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_inline(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 5345    C++
    GameAssembly.dll!UniTaskCompletionSourceCore_1_TrySetResult_mDAFD7A456554FF156E2CF2FB605855B14C41D2B2_gshared(UniTaskCompletionSourceCore_1_t7B798F8CAD0AC66ED80DD1758CCC9DA59E091B4F * __this, Il2CppObject * ___0_result, const MethodInfo * method) Line 20012   C++
    GameAssembly.dll!UniTaskCompletionSourceCore_1_TrySetResult_mDAFD7A456554FF156E2CF2FB605855B14C41D2B2(UniTaskCompletionSourceCore_1_t7B798F8CAD0AC66ED80DD1758CCC9DA59E091B4F * __this, Il2CppObject * ___0_result, const MethodInfo * method) Line 6433    C++
    GameAssembly.dll!AsyncUniTask_2_SetResult_m05500082FC88DE2978F8FA0D60310A79D17ABEC0_gshared(AsyncUniTask_2_t9DA40E1CAAD60A850BF76C6A3F2FF86DEECF7177 * __this, Il2CppObject * ___0_result, const MethodInfo * method) Line 19002    C++
    GameAssembly.dll!InterfaceActionInvoker1<Il2CppObject *>::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj, Il2CppObject * p1) Line 77  C++
    GameAssembly.dll!AsyncUniTaskMethodBuilder_1_SetResult_m9E784ED4CDCCF8F431EFFD0EF46AEB02E48CABE7_gshared_inline(AsyncUniTaskMethodBuilder_1_tFC09635241966209A887C377AE6C642AC59B4DEF * __this, Il2CppObject * ___0_result, const MethodInfo * method) Line 2116    C++
    GameAssembly.dll!AsyncUniTaskMethodBuilder_1_SetResult_m67B10AB1E63EBBC8E02B6A848B78938F968FFF56_inline(AsyncUniTaskMethodBuilder_1_t8C4183DEBBC75A436F4D64CE2D3B4D0A0EA4BE6B * __this, String_t * ___0_result, const MethodInfo * method) Line 943 C++
    GameAssembly.dll!U3CConnectionStringAsyncU3Ed__11_MoveNext_m84A05664D246FFAEE5BB39550EF9928168F3FB30(U3CConnectionStringAsyncU3Ed__11_t2440008D6EAA52DD1FB49DD1065E75126A4FD9FA * __this, const MethodInfo * method) Line 26953 C++
    GameAssembly.dll!InterfaceActionInvoker0::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj) Line 42 C++
    GameAssembly.dll!AsyncUniTask_2_Run_m06553FA574D5CDC4D8FB1CE9DC45EDF93B918205_gshared(AsyncUniTask_2_t9DA40E1CAAD60A850BF76C6A3F2FF86DEECF7177 * __this, const MethodInfo * method) Line 18969  C++
    GameAssembly.dll!Action_Invoke_m7126A54DACA72B845424072887B5F3A51FC3808E_inline(Action_tD00B0A84D7945E50C2DFFC28EFEE6ED44ED2AD07 * __this, const MethodInfo * method) Line 2256 C++
    GameAssembly.dll!AwaiterActions_Continuation_m0EA21AB9CAA150F08C0928928D6F0BA3B6A0D819(Il2CppObject * ___0_state, const MethodInfo * method) Line 25547 C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_OpenStatic(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 8703    C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_gshared_inline(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 27170   C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_inline(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 5345    C++
    GameAssembly.dll!UniTaskCompletionSourceCore_1_TrySetResult_m4E852306C3C4165C2BC44518AE26CD53AA50C0CA_gshared(UniTaskCompletionSourceCore_1_tD52034D329C8B29E78054F42C8D6F078C065DC53 * __this, GenericPostRequest_t36CB7DBDD977D73DCA5C2AAB6B9600433273F831 ___0_result, const MethodInfo * method) Line 9009  C++
    GameAssembly.dll!UniTaskCompletionSourceCore_1_TrySetResult_m4E852306C3C4165C2BC44518AE26CD53AA50C0CA(UniTaskCompletionSourceCore_1_tD52034D329C8B29E78054F42C8D6F078C065DC53 * __this, GenericPostRequest_t36CB7DBDD977D73DCA5C2AAB6B9600433273F831 ___0_result, const MethodInfo * method) Line 1705  C++
    GameAssembly.dll!AsyncUniTask_2_SetResult_m3E7D8819BB25605CD17FF6D309A667EDCDAEF900_gshared(AsyncUniTask_2_tAB6AD6592D68F03D100A42FA406FA9FDDE3674C5 * __this, GenericPostRequest_t36CB7DBDD977D73DCA5C2AAB6B9600433273F831 ___0_result, const MethodInfo * method) Line 15513  C++
    GameAssembly.dll!InterfaceActionInvoker1<GenericPostRequest_t36CB7DBDD977D73DCA5C2AAB6B9600433273F831>::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj, GenericPostRequest_t36CB7DBDD977D73DCA5C2AAB6B9600433273F831 p1) Line 54  C++
    GameAssembly.dll!AsyncUniTaskMethodBuilder_1_SetResult_mD2950A354DE096B6FABB40239C8FA08C5A89F4CC_gshared_inline(AsyncUniTaskMethodBuilder_1_t68AE637481A7DF746BD0376DC5C96C876F67B771 * __this, GenericPostRequest_t36CB7DBDD977D73DCA5C2AAB6B9600433273F831 ___0_result, const MethodInfo * method) Line 28767 C++
    GameAssembly.dll!AsyncUniTaskMethodBuilder_1_SetResult_mD2950A354DE096B6FABB40239C8FA08C5A89F4CC_inline(AsyncUniTaskMethodBuilder_1_t68AE637481A7DF746BD0376DC5C96C876F67B771 * __this, GenericPostRequest_t36CB7DBDD977D73DCA5C2AAB6B9600433273F831 ___0_result, const MethodInfo * method) Line 6754  C++
    GameAssembly.dll!U3CSendAsyncU3Ed__4_2_MoveNext_mFB57F18D3A3300F597319CEE558DDBEF122AB76D_gshared(U3CSendAsyncU3Ed__4_2_tF9F0D00F16C07536CC450B013D91EDB98AF5CDFB * __this, const MethodInfo * method) Line 5111    C++
    GameAssembly.dll!InterfaceActionInvoker0::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj) Line 42 C++
    GameAssembly.dll!AsyncUniTask_2_Run_mD7FB80B74E16CB74BB0EE0FFA246465B8D48BC34_gshared(AsyncUniTask_2_tAB6AD6592D68F03D100A42FA406FA9FDDE3674C5 * __this, const MethodInfo * method) Line 15480  C++
    GameAssembly.dll!Action_Invoke_m7126A54DACA72B845424072887B5F3A51FC3808E_inline(Action_tD00B0A84D7945E50C2DFFC28EFEE6ED44ED2AD07 * __this, const MethodInfo * method) Line 2256 C++
    GameAssembly.dll!AwaiterActions_Continuation_m0EA21AB9CAA150F08C0928928D6F0BA3B6A0D819(Il2CppObject * ___0_state, const MethodInfo * method) Line 25547 C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_OpenStatic(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 8703    C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_gshared_inline(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 27170   C++
    GameAssembly.dll!Action_1_Invoke_mF2422B2DD29F74CE66F791C3F68E288EC7C3DB9E_inline(Action_1_t6F9EB113EB3F16226AEF811A2744F4111C116C87 * __this, Il2CppObject * ___0_obj, const MethodInfo * method) Line 5345    C++
    GameAssembly.dll!UniTaskCompletionSourceCore_1_TrySetResult_mDAFD7A456554FF156E2CF2FB605855B14C41D2B2_gshared(UniTaskCompletionSourceCore_1_t7B798F8CAD0AC66ED80DD1758CCC9DA59E091B4F * __this, Il2CppObject * ___0_result, const MethodInfo * method) Line 20012   C++
    GameAssembly.dll!UniTaskCompletionSourceCore_1_TrySetResult_mC0E73AFD93BBCF9D0BEC4A773B164ADAB5E6EE26(UniTaskCompletionSourceCore_1_tC0A4BCD7A4F067BC3B0A2D3109D0BB68B4BD8DE1 * __this, UnityWebRequest_t6233B8E22992FC2364A831C1ACB033EF3260C39F * ___0_result, const MethodInfo * method) Line 6546   C++
    GameAssembly.dll!UnityWebRequestAsyncOperationConfiguredSource_MoveNext_m2F9E10B311858C36B872EE64A44C899610230902(UnityWebRequestAsyncOperationConfiguredSource_tB861B32B4759177A87AE3F42FDA8A1141F5E700D * __this, const MethodInfo * method) Line 19090   C++
    GameAssembly.dll!InterfaceFuncInvoker0<bool>::Invoke(unsigned short slot, Il2CppClass * declaringInterface, Il2CppObject * obj) Line 75 C++
    GameAssembly.dll!PlayerLoopRunner_RunCore_m053B5E8652893AA94B9CD56C64484CA49D01153A(PlayerLoopRunner_tF4B3BE255CBA154FF72771BB9D2B7B28520A6192 * __this, const MethodInfo * method) Line 2610   C++
    GameAssembly.dll!PlayerLoopRunner_Update_mE9FAAF206931C3575A7D84FEFC50CE119EEC9E9E(PlayerLoopRunner_tF4B3BE255CBA154FF72771BB9D2B7B28520A6192 * __this, const MethodInfo * method) Line 2274    C++
    GameAssembly.dll!PlayerLoopRunner_Run_m33748216201A3D6575D14D23450C03068FD1729B(PlayerLoopRunner_tF4B3BE255CBA154FF72771BB9D2B7B28520A6192 * __this, const MethodInfo * method) Line 2123   C++
    GameAssembly.dll!UpdateFunction_Invoke_m9BCEE4E5BEE924EB804DA64314B78D0E831C179B(UpdateFunction_t1C48B7EECBE47AC123A9D9D7D9D2A9EE951C56C4 * __this, const MethodInfo * method) Line 23925   C++
    GameAssembly.dll!RuntimeInvoker_TrueVoid_t4861ACF8F4594C3437BB48B6E56783494B843915(void(*)() methodPointer, const MethodInfo * methodMetadata, void * obj, void * * args, void * returnAddress) Line 359576 C++
    GameAssembly.dll!il2cpp::vm::Runtime::InvokeWithThrow(const MethodInfo * method, void * obj, void * * params) Line 609  C++
    GameAssembly.dll!il2cpp::vm::Runtime::Invoke(const MethodInfo * method, void * obj, void * * params, Il2CppException * * exc) Line 594  C++
    GameAssembly.dll!il2cpp_runtime_invoke(const MethodInfo * method, void * obj, void * * params, Il2CppException * * exc) Line 1128   C++
    [External Code] 
    Explorer.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nShowCmd) Line 16  C++
    [External Code] 
NickKhalow commented 2 months ago

Is the error not critical? After the error does game go by a normal flow?