8000 Fix Qumo Quest 405 segfault by using custom BufferQueue, ConsumerBase… by nwlunatic · Pull Request #40 · openstf/minicap · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Fix Qumo Quest 405 segfault by using custom BufferQueue, ConsumerBase… #40

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

Conversation

nwlunatic
Copy link
@nwlunatic nwlunatic commented Nov 2, 2016

… and CpuConsumer. Could possibly break other devices

BufferQueue, ConsumerBase and CpuConsumer are just taken from android-4.2_r1

!!This could break other devices. I could not test it on any other device!!

The original problem:

INF/device 4186 [0123456789ABCDEF] Fully operational
IMP/device:plugins:connect 195 [13b7d14c] Remote Connect Stopped for device "13b7d14c"
IMP/device:plugins:group 195 [13b7d14c] No longer owned by "autotest-v4android@2Gis.ru"
INF/device:plugins:group 195 [13b7d14c] Unsubscribing from group channel "uaOSQl83TCyTLdCKZZBjgw=="
IMP/device:plugins:group 4186 [0123456789ABCDEF] Now owned by "i.pavlov@2gis.ru"
INF/device:plugins:group 4186 [0123456789ABCDEF] Subscribing to group channel "AqNdZN6fT16dMM9mjTHWcQ=="
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] Setting frame producer projection to 572x858
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] Requesting frame producer to start
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] Launching screen service
IMP/device:plugins:connect 4186 [0123456789ABCDEF] Remote Connect Started for device "0123456789ABCDEF" at "10.154.8.75:7589"
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] minicap says: "PID: 8058"
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] minicap says: "INFO: Using projection 480x800@480x800/0"
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] minicap says: "INFO: (external/MY_minicap/src/minicap_17.cpp:239) Creating SurfaceComposerClient"
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] Connecting to minicap service
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] minicap says: "INFO: (external/MY_minicap/src/minicap_17.cpp:242) Performing SurfaceComposerClient init check"
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] minicap says: "INFO: (external/MY_minicap/src/minicap_17.cpp:249) Creating virtual display"
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] minicap says: "INFO: (external/MY_minicap/src/minicap_17.cpp:255) Creating CPU consumer"
WRN/device:plugins:screen:stream 4186 [0123456789ABCDEF] Shell keeping minicap running ended unexpectedly
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] Disconnecting from minicap service
INF/device:plugins:screen:stream 4186 [0123456789ABCDEF] Stopping minicap service
FTL/device:plugins:screen:stream 4186 [0123456789ABCDEF] Frame producer had an error FailError: Failure: 'closed'
    at /app/node_modules/adbkit/lib/adb/parser.js:226:31
    at proces
8000
sImmediate [as _immediateCallback] (timers.js:374:17)
FTL/util:lifecycle 4186 [0123456789ABCDEF] Shutting down due to fatal error
INF/provider 1 [*] Cleaning up device worker "0123456789ABCDEF"
ERR/provider 1 [*] Device worker "0123456789ABCDEF" died with code 1
INF/provider 1 [*] Restarting device worker "0123456789ABCDEF"

ndk-stack

********** Crash dump: **********
Build fingerprint: 'alps/miki72_wet_new_jb3/miki72_wet_new_jb3:4.2.2/JDQ39/1406606468:user/test-keys'
pid: 2239, tid: 2239, name: minicap  >>> /data/local/tmp/minicap-devel/minicap <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000004
Stack frame #00  pc 00006108  /system/lib/libcutils.so (android_atomic_inc+8)
Stack frame #01  pc 0000f0dd  /system/lib/libutils.so (android::RefBase::createWeak(void const*) const+8)
Stack frame #02  pc 00022317  /system/lib/libgui.so (android::wp<android::BufferQueue::ConsumerListener>::operator=(android::BufferQueue::ConsumerListener*)+30)
Stack frame #03  pc 0002255b  /system/lib/libgui.so (android::ConsumerBase::ConsumerBase(android::sp<android::BufferQueue> const&)+154)
Stack frame #04  pc 00030bd9  /system/lib/libgui.so (android::CpuConsumer::CpuConsumer(unsigned int)+92)
Stack frame #05  pc 00001b57  /data/local/tmp/minicap-devel/minicap.so
Stack frame #06  pc 00005118  /data/local/tmp/minicap-devel/minicap

… and CpuConsumer. Could possibly break other devices
@nwlunatic nwlunatic force-pushed the fix_qumo_quest405_using_custom_CpuConsumer_stack branch from 9331948 to c5fabcf Compare November 2, 2016 11:26
@sorccu
Copy link
Member
sorccu commented Nov 2, 2016

Thanks, that's very useful information. Although we already have a similar, terrible hack for x86 on one sdk level, I'm kind of scared of accepting the PR since it could break many things...

I've been thinking about trying to use dlsym more. C++ makes it fairly hard but it could be more resilient to these things.

@sorccu
Copy link
Member
sorccu commented Nov 2, 2016

Hey since you're doing these things, would you like to join our chat at https://openstf.slack.com/? If so, send me your email address to simo @ {name of this github organization} .io and I'll invite you.

@nwlunatic
Copy link
Author
nwlunatic commented Nov 3, 2016

So, should I set segfault handler and try to use android native library (libgui) instead, that will be installed with minicap on device?

@nwlunatic
Copy link
Author

better fix in master so i'm closing this one

@nwlunatic nwlunatic closed this Nov 23, 2016
@nwlunatic nwlunatic deleted the fix_qumo_quest405_using_custom_CpuConsumer_stack branch November 23, 2016 05:40
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.

2 participants
0