mordentral / VRExpansionPlugin

A UE4-5 VR framework
https://www.vreue4.com
MIT License
543 stars 113 forks source link

Crashing on launch on an Oculus Quest on 4.25.3 #5

Closed tvhenrik closed 4 years ago

tvhenrik commented 4 years ago

This is the run log:

[2020.08.14-13.27.12:437][384]LogPlayLevel: ********** RUN COMMAND STARTED **********
[2020.08.14-13.27.12:444][385]LogPlayLevel: Completed Launch On Stage: Deploy Task, Time: 77.794011
[2020.08.14-13.27.12:461][387]LogPlayLevel: Starting Client....
[2020.08.14-13.27.12:553][398]LogPlayLevel: Running: C:\Users\HenrikMelsom\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 1PASH9AE929365  shell getprop ro.product.cpu.abi
[2020.08.14-13.27.12:596][403]LogPlayLevel: Took 0,0970143s to run adb.exe, ExitCode=0
[2020.08.14-13.27.12:596][403]LogPlayLevel: GetPackageInfo ReturnValue: com.YourCompany.VRExpPluginExample
[2020.08.14-13.27.12:596][403]LogPlayLevel: Running Package@Device:com.YourCompany.VRExpPluginExample@1PASH9AE929365
[2020.08.14-13.27.12:703][416]LogPlayLevel: Running: C:\Users\HenrikMelsom\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 1PASH9AE929365 logcat -c
[2020.08.14-13.27.12:711][417]LogPlayLevel: Took 0,1109989s to run adb.exe, ExitCode=0
[2020.08.14-13.27.13:263][483]LogPlayLevel: Running: C:\Users\HenrikMelsom\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 1PASH9AE929365 shell am start -n com.YourCompany.VRExpPluginExample/com.epicgames.ue4.GameActivity
[2020.08.14-13.27.13:320][490]LogPlayLevel:   Starting: Intent { cmp=com.YourCompany.VRExpPluginExample/com.epicgames.ue4.GameActivity }
[2020.08.14-13.27.19:973][288]LogPlayLevel: Took 0,6090803s to run adb.exe, ExitCode=0
[2020.08.14-13.27.20:072][300]LogPlayLevel: Running: C:\Users\HenrikMelsom\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 1PASH9AE929365 logcat -d -s UE4 -s Debug
[2020.08.14-13.27.20:072][300]LogPlayLevel:   --------- beginning of main
[2020.08.14-13.27.20:081][301]LogPlayLevel:   --------- beginning of system
[2020.08.14-13.27.20:081][301]LogPlayLevel:   08-14 15:27:14.527 10314 10329 V UE4     : [NetworkChangedManager] Network Available: 100
[2020.08.14-13.27.20:081][301]LogPlayLevel:   08-14 15:27:14.528 10314 10329 V UE4     : [NetworkChangedManager] No network state set yet, setting naive network state checking connection fully.
[2020.08.14-13.27.20:081][301]LogPlayLevel:   08-14 15:27:14.529 10314 10329 V UE4     : [NetworkChangedManager] Network connectivity changed. New connectivity state: CONNECTION_AVAILABLE
[2020.08.14-13.27.20:081][301]LogPlayLevel:   --------- beginning of crash
[2020.08.14-13.27.20:081][301]LogPlayLevel:   08-14 15:27:15.069 10314 10330 V UE4     : [NetworkChangedManager] Connectivity hasn't changed. Current state: CONNECTION_AVAILABLE
[2020.08.14-13.27.20:114][305]LogPlayLevel:   08-14 15:27:15.069 10314 10330 V UE4     : [NetworkChangedManager] Full network check complete. State: CONNECTION_AVAILABLE
[2020.08.14-13.27.20:114][305]LogPlayLevel: Took 0,146999s to run adb.exe, ExitCode=0
[2020.08.14-13.27.20:264][323]LogPlayLevel: Running: C:\Users\HenrikMelsom\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 1PASH9AE929365 logcat -d
[2020.08.14-13.27.20:363][335]LogPlayLevel: Took 0,1440016s to run adb.exe, ExitCode=0
[2020.08.14-13.27.20:363][335]LogPlayLevel: ********** RUN COMMAND COMPLETED **********

This doesn't happen with Epics VR template and started happening when i added the VRExp plugin to an otherwise empty project.

mordentral commented 4 years ago

Did you build it fully for android? It doesn't come pre-compiled for it. That log doesn't give any debugging information to work with.

I will note that there are a lot of active Quest projects using the plugin so its not a base issue with the plugin existing. From the note there though (Running Package@Device:com.YourCompany.VRExpPluginExample@1PASH9AE929365) you didn't just "add" the plugin to an empty project, your ported the example template to your project. Its very likely that you have broken links or something misconfigured.

tvhenrik commented 4 years ago

Well no the log is from a cloned VRExpPluginExample, but the same issue occurs in my other projects with the plugin.

mordentral commented 4 years ago

Did you change any project settings? The template doesn't have the settings modified for android (NDK version, package for quest, ect). They also did just upgrade the NDK for 4.25 to a newer one.

tvhenrik commented 4 years ago

I changed the everything to match this https://developer.oculus.com/documentation/unreal/unreal-quick-start-guide-quest/ and followed this to setup android SDK/NDK https://docs.unrealengine.com/en-US/Platforms/Mobile/Android/Setup/AndroidStudio/index.html

mordentral commented 4 years ago

Well I did get another report that the OpenVRExpansion module is crashing on android now (epic must have changed how modules get included somehow in .3). Its a dead module on quest obviously, did you port any of the open vr nodes to your personal project or did you literally just add the plugin and not use it.

tvhenrik commented 4 years ago

Just added and didn't use

mordentral commented 4 years ago

do you have the open vr expansion module enabled? There really isn't a way for it to crash with the plugin being unused....

tvhenrik commented 4 years ago

That's the really weird part. I had it disabled while testing some stuff and it still crashed. Just deleting the plugins dir, opening the project and launching worked

Edit: Both VRExpansion plugins were disabled

mordentral commented 4 years ago

If they are both disabled then they aren't even compiling out to the package. This sounds like you are using a non source version? A BP project?

tvhenrik commented 4 years ago

Yes maybe I'm just an idiot, I'll try it with a VS project

tvhenrik commented 4 years ago

Still though the VRExpExample is compiled from source and that still crashes 🤔

mordentral commented 4 years ago

Well I can check on my headset later after work, but I haven't had any reports of this before now and I can't work without any actual debug information if I can't reproduce it.

tvhenrik commented 4 years ago

Appreciate it! At least I'll know if it's just me having this issue or not

mordentral commented 4 years ago

I'll ask some of the other quest users in the meantime to make sure some of them are on 4.25.3 already, I know at least a few were on .2

mordentral commented 4 years ago

I just tested on 4.25.3 (latest plugin version) and it launched fine on it from the template, I had two other quest developers test for me and it was the same for them as well.

Edit I'll note that a ton of people are having android issues in 4.25 period across the engine.

tvhenrik commented 4 years ago

I've been digging deeper on this and I'm suspecting the problem is with the NDK version I'm using...

08/20 19:16:00: Launching 'gradle-app' on Oculus Quest.
$ adb shell am start -n "com.YourCompany.CareerPaths/com.epicgames.ue4.SplashActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Waiting for process to come online...
Connected to process 16506 on device 'oculus-quest-1PASH9AE929365'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
V/UE4: [NetworkChangedManager] Network Available: 101
V/UE4: [NetworkChangedManager] No network state set yet, setting naive network state checking connection fully.
    [NetworkChangedManager] Network connectivity changed. New connectivity state: CONNECTION_AVAILABLE
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.YourCompany.CareerPaths, PID: 16506
    java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "bsd_signal" referenced by "/data/app/com.YourCompany.CareerPaths-2/lib/arm/libUE4.so"...
        at java.lang.Runtime.loadLibrary0(Runtime.java:989)
        at java.lang.System.loadLibrary(System.java:1530)
        at com.epicgames.ue4.GameActivity.<clinit>(GameActivity.java:6170)
        at java.lang.Class.newInstance(Native Method)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1079)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2572)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2741)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6165)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
V/UE4: [NetworkChangedManager] Connectivity hasn't changed. Current state: CONNECTION_AVAILABLE
    [NetworkChangedManager] Full network check complete. State: CONNECTION_AVAILABLE
V/UE4: [NetworkChangedManager] Network Capabilities changed, has Internet: true
V/UE4: [NetworkChangedManager] Connectivity hasn't changed. Current state: CONNECTION_AVAILABLE
    [NetworkChangedManager] Full network check complete. State: CONNECTION_AVAILABLE
Process 16506 terminated.
mordentral commented 4 years ago

Are you not on 21?

https://www.unrealengine.com/en-US/tech-blog/updates-to-required-setup-for-android-ndk-21-in-unreal-engine-4-25?sessionInvalidated=true

tvhenrik commented 4 years ago

I am but I think I'll try it on a clean windows install in case my system is messed up somehow

mordentral commented 4 years ago

I would blame the engine version itself long before a clean install...

mordentral commented 4 years ago

closing as no further feedback for 11 days, feel free to reissue if it wasn't an issue on your end.

luguen commented 4 years ago

Hello, The same problem still occurs on 4.25.3 with NDK v21b. Any update on this issue ? Thx

mordentral commented 4 years ago

Its working fine for me with the new ndk install and the current source version of the plugin. As well as others.

So no, I would need further information from you specifically.

luguen commented 4 years ago

Ok, my project was C++ and not Blueprint. It seems Quest to be incompatble with C++ UE4 projects :-(

mordentral commented 4 years ago

? Well that is not true? The template also is a source project, its just blueprint scripting as well.

luguen commented 4 years ago

When creating a project, it's ok, everything works just fine, but when adding a first c++ class (even empty, but creating a c++ project), it crashes on the Quest :-(

mordentral commented 4 years ago

Do you not have the android binaries installed with your engine options? From the launcher when you go to options.

luguen commented 4 years ago

Yes, everything is well-installed. I mean, it works fine before I add any C++ class. Is there anything else I need to do ?

mordentral commented 4 years ago

I looked closer at that log above assuming that you have the same issue as him.

ava.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "bsd_signal" referenced by "/data/app/com.YourCompany.CareerPaths-2/lib/arm/libUE4.so"...

Your linker is failing somehow, I have never seen that and I don't use android that much but a quick google search didn't find too many others with that issue, one other guy from 2019 also developing for quest with UE4. Some of the other talk around appears to point to an android linker issue in general.

HereafterMills commented 4 years ago

@mordentral I've been having this issue as well, and one thing to note, is that you may be on android 8, while i and the others here might be on android 7

luguen commented 4 years ago

I finally solved the problem setting few things in Project Settings: Platforms -> Android -> Min SDK version and Traget SDK version to "25" Platforms -> Android SDK -> SDK API Level to "android-25" and NDK API Level to "android-21" Make sure to use NDK 21b.

WilsonBradley commented 3 years ago

Now that Quest 2 is in the game, has anyone successfully compiled a version that works? Ultimately looking to get Unreal Tournament working in Quest 2.

mordentral commented 3 years ago

Plenty of projects using it

Alexotronic commented 3 years ago

I finally solved the problem setting few things in Project Settings: Platforms -> Android -> Min SDK version and Traget SDK version to "25" Platforms -> Android SDK -> SDK API Level to "android-25" and NDK API Level to "android-21" Make sure to use NDK 21b.

Just wanted to echo what Luguen said - this fixed this error (was only happening to me for Quest 1 and not Quest 2) - Cheers to Luguen and cheers to Mordentral (Mordentral you may know me from my time at Epic as "Alex O" (hope you have good memories of me - good bug reports!))

mordentral commented 3 years ago

Ah hello Alex!

Yeah something to keep in mind is that in 4.26 the minimum NDK version increased again due to a function that the oculus runtime requires for quest 2. Needs to be SDK version 29 in 4.26+

Mystfit commented 3 years ago

Ah hello Alex!

Yeah something to keep in mind is that in 4.26 the minimum NDK version increased again due to a function that the oculus runtime requires for quest 2. Needs to be SDK version 29 in 4.26+

Is this for both the Quest 1 and Quest 2? I ran adb shell getprop ro.build.version.sdk on both my Quest1 and Quest and they returned 25 and 29 respectively.

mordentral commented 3 years ago

Should work for both

mantovictor commented 2 years ago

Hey, I'm having same issue. I've set the NDK and SDK versions according to Unreal recommendations. I have a sort of big level but it's just a landscape with an ocean texture with a wind turbine on the center. As soon as I open the level from the main menu it doesn't even let you look around and crashes. I've tried removing the planar reflection, textures, create a new project, migrated all the maps and blueprints and the same problem persists. I have no idea anymore on what to try next. Tried arm7 and vulkan, but when I run the project half of the screen gets black and it takes longer to crash.

Alexotronic commented 2 years ago

For the half-screen black issue: Try turning on 'Mobile Multi-View' in project settings

On Thu, Jan 13, 2022 at 11:30 AM mantovictor @.***> wrote:

Hey, I'm having same issue. I've set the NDK and SDK versions according to Unreal recommendations. I have a sort of big level but it's just a landscape with an ocean texture with a wind turbine on the center. As soon as I open the level from the main menu it doesn't even let you look around and crashes. I've tried removing the planar reflection, textures, create a new project, migrated all the maps and blueprints and the same problem persists. I have no idea anymore on what to try next. Tried arm7 and vulkan, but when I run the project half of the screen gets black and it takes longer to crash.

— Reply to this email directly, view it on GitHub https://github.com/mordentral/VRExpansionPlugin/issues/5#issuecomment-1012300878, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACDLHOERL4UVJWDTOGR5OALUV34ZTANCNFSM4P7QSXWA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

ccxxww123 commented 1 year ago

When I put this plugin case into UE5.1, I can't use teleportation, how can I fix this