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

Crash by OpenLevel blueprint #28

Open
ArnoldHorvath78 opened this issue Nov 18, 2019 · 3 comments
Open

Crash by OpenLevel blueprint #28

ArnoldHorvath78 opened this issue Nov 18, 2019 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@ArnoldHorvath78
Copy link

The plugin is great and works between PC and Oculus GO (Android) on UDP too.

But on Oculus GO (Android), with the UDP socket receiver, after then OpenLevel blueprint we often run into crash, with the following error log. (We use the 1.3.0 version.)
Do you have any suggestions what the problem is?

11-18 15:48:56.328 24541 25075 F libc : Fatal signal 11 (SIGSEGV), code 2, fault addr 0xe848f7c4 in tid 25075 (UProtoc-eceiver)
11-18 15:48:58.439 25080 25080 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-18 15:48:58.440 25080 25080 F DEBUG : Build fingerprint: 'oculus/vr_pacific/pacific:7.1.1/NGI77B/396520.5580.0:user/release-keys'
11-18 15:48:58.440 25080 25080 F DEBUG : Revision: '0'
11-18 15:48:58.440 25080 25080 F DEBUG : ABI: 'arm'
11-18 15:48:58.441 25080 25080 F DEBUG : pid: 24541, tid: 25075, name: UProtoc-eceiver >>> com.YourCompany.Oculus01 <<<
11-18 15:48:58.441 25080 25080 F DEBUG : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xe848f7c4
11-18 15:48:58.441 25080 25080 F DEBUG : r0 ffffffff r1 07ffffff r2 c0b8bdb8 r3 0000001f
11-18 15:48:58.441 25080 25080 F DEBUG : r4 00000000 r5 00000001 r6 00000000 r7 c848f7c8
11-18 15:48:58.441 25080 25080 F DEBUG : r8 c33556b0 r9 00000000 sl c2f91100 fp c848f868
11-18 15:48:58.441 25080 25080 F DEBUG : ip 00000000 sp c848f7c0 lr d4f146d0 pc d4f146ec cpsr 60070010
11-18 15:48:58.478 25080 25080 F DEBUG :
11-18 15:48:58.478 25080 25080 F DEBUG : backtrace:
11-18 15:48:58.478 25080 25080 F DEBUG : #00 pc 030776ec /data/app/com.YourCompany.Oculus01-1/lib/arm/libUE4.so (_ZN10FSocketBSD8HasStateE15ESocketBSDParam9FTimespan+156)
11-18 15:48:58.478 25080 25080 F DEBUG : #1 pc 03076b6c /data/app/com.YourCompany.Oculus01-1/lib/arm/libUE4.so (_ZN10FSocketBSD14HasPendingDataERj+48)
11-18 15:48:58.478 25080 25080 F DEBUG : #2 pc 0266d534 /data/app/com.YourCompany.Oculus01-1/lib/arm/libUE4.so (_ZN18FUdpSocketReceiver6UpdateERK9FTimespan+104)
11-18 15:48:58.479 25080 25080 F DEBUG : #3 pc 0266d358 /data/app/com.YourCompany.Oculus01-1/lib/arm/libUE4.so (_ZN18FUdpSocketReceiver3RunEv+36)
11-18 15:48:58.479 25080 25080 F DEBUG : #4 pc 028a05ec /data/app/com.YourCompany.Oculus01-1/lib/arm/libUE4.so (_ZN22FRunnableThreadPThread3RunEv+92)
11-18 15:48:58.479 25080 25080 F DEBUG : #5 pc 02865eb4 /data/app/com.YourCompany.Oculus01-1/lib/arm/libUE4.so (_ZN22FRunnableThreadPThread11_ThreadProcEPv+64)
11-18 15:48:58.479 25080 25080 F DEBUG : #6 pc 000478d3 /system/lib/libc.so (_ZL15__pthread_startPv+22)
11-18 15:48:58.479 25080 25080 F DEBUG : #7 pc 00019fe5 /system/lib/libc.so (__start_thread+6)
11-18 15:49:01.894 949 25087 W ActivityManager: Force finishing activity com.YourCompany.Oculus01/com.epicgames.ue4.GameActivity

@ayumax
Copy link
Owner

ayumax commented Nov 19, 2019

Thank you for reporting.
I don't know what caused it, so I'll try debugging. (Because I have Oculus GO)
If possible, can you paste a blueprint-implemented node as a screenshot of the image?

@ayumax ayumax self-assigned this Nov 19, 2019
@ayumax ayumax added the bug Something isn't working label Nov 19, 2019
@ArnoldHorvath78
Copy link
Author

ArnoldHorvath78 commented Nov 20, 2019

Thank you for your quick answer.

We are developing a multiplayer escape room game with 10 Oculus Go clients and a PC server on LAN with UDP protocol. Every time we used the OpemLevel blueprint, we closed the UDP sender and receiver on the unloaded level and opened new instances in new level. We have found that in this case Oculus Go clients occasionally crashed (1 crash in 20 OpenLevel cases).

We have successfully solved the problem with this workaround:

  • The UDP sender and receiver are opened only once during at the beginning og the game and are not closed anymore.
  • To access these objects from each level, we store UDP sender and receiver above the levels, in custom GameInstance object.

I think these crashes was probably in the UE Framework or in Android OS level, not in the ObjectDeliverer plugin.

Thank you for your support!

@ayumax
Copy link
Owner

ayumax commented Nov 21, 2019

Since you have never seen an actual implementation, it may be wrong. . .
When you call the unload level, the previous UDP sender and recipient may still remain.
An error may have occurred due to a subtle timing difference.

If you have noticed something, please write here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants