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

DEBUG Callouts and Fixing WinDriver Timeout #10

Merged
merged 8 commits into from
Jul 30, 2020
Merged

Conversation

ShootingKing-AM
Copy link
Member

  1. Adding more informative debug callouts in both android and windows projects.
  2. Debugging output directly into MSVS JIT Debugger output apart from writing file.
  3. Deafaulting reProj to false
  4. Reducing wait time for ensuring propCont is initialized by SteamVR::Activate().
  5. Compiling debug callouts conditionally with _DEBUG according to Build types both for win driver and android apk.
  6. Removing CMakeCache

Added missing exception handling for socket preventing unexpected app crash
Exposing Static functions for NDK, which are otherwise not accessble to JNI, thereby preventing app crash
Fixing functions invocation post onCreate which are otherwise unavailable pre onCreate, preventing app crash
1. Adding more informative debug callouts in both android and windows projects.
2. Debugging output directly into MSVS JIT Debugger output apart from writing file.
Reducing wait time for ensuring propCont is initialized by [SteamVR::Activate()](https://github.com/ShootingKing-AM/PhoneVR/blob/master/code/windows/PhoneVR/PhoneVR/driver.cpp#L132-L170).

At 5s(https://github.com/ShootingKing-AM/PhoneVR/blob/master/code/windows/PhoneVR/PhoneVR/driver.cpp#L172-L191), Activate() would stop waiting and defaulty think that PVR::AdditionData is not recvd from Android, and would returen that VRInitError_Unknown to SteamVR.(addData, which infact is recvd but not set due to initial 7s long timeout in TalkerCallBack).
1. Compiling debug callouts conditionally with _DEBUG according to Build types both for win driver and android apk.

2. Removing CMakeCache
@ShootingKing-AM ShootingKing-AM merged commit f6f752a into master Jul 30, 2020
@ShootingKing-AM ShootingKing-AM deleted the android-fix branch July 30, 2020 18:14
ShootingKing-AM added a commit that referenced this pull request Jan 28, 2021
Crash stacktrace:
```ml
pid: 10065, tid: 10136, name: GLThread 235  >>> viritualisres.phonevr <<<
uid: 10155
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
Cause: null pointer dereference
    eax 00257100  ebx da946db4  ecx 00000008  edx 00000002
    edi ac68dbb0  esi 00000080
    ebp ac68d948  esp ac68d910  eip da7e04fb

backtrace:
      #00 pc 000de4fb  /system/lib/libndk_translation.so (ndk_translation::InsnInterpreter::FaultyStore(ndk_translation::DecoderReg, ndk_translation::DecoderReg)+395) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #1 pc 000e1dc6  /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::ArmInterpreter::GenFaultyStore(int, int)+54) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #2 pc 000f6a68  /system/lib/libndk_translation.so (ndk_translation::SemanticsDecoder::STR_immediate(ndk_translation::STR_immediate_Args const&)+744) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #3 pc 0012cf9b  /system/lib/libndk_translation.so (ndk_translation::ArmDecoder::TranslateThumbInsn(unsigned short const*)+5995) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #4 pc 000e1700  /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::DecodeInsn(unsigned int, ndk_translation::(anonymous namespace)::ArmInterpreter*, ndk_translation::ProcessState*, ndk_translation::ArmDecoder*)+128) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #5 pc 000e1934  /system/lib/libndk_translation.so (ndk_translation::InterpretTrace(ndk_translation::ProcessState*)+340) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #6 pc 000d1b32  /system/lib/libndk_translation.so (ndk_translation_HandleNotTranslated+194) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #7 pc 000cfffa  /system/lib/libndk_translation.so (ndk_translation::ExecuteGuest(ndk_translation::ProcessState*, unsigned int)+266) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #8 pc 000d0274  /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::RunGuestCall(unsigned int, int, int, unsigned int*)+260) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #9 pc 000d0399  /system/lib/libndk_translation.so (ndk_translation::GuestCall::RunResInt32(unsigned int)+41) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #10 pc 000cda44  /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::RunGuestThread(void*)+164) (BuildId: 1962273ccbeb69757878abf4e17d95aa)
      #11 pc 000e42c4  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100) (BuildId: 57f4eb5e1df9fa8bd21032ad6be9823f)
      #12 pc 000785f7  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71) (BuildId: 57f4eb5e1df9fa8bd21032ad6be9823f)
```

Updating ndk to r22 fixes this crash.
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

Successfully merging this pull request may close these issues.

1 participant