openstf / stf

Control and manage Android devices from your browser.
https://openstf.io
Other
13.34k stars 2.78k forks source link

Pushed "minicap.so" not executable, attempting fallback location #699

Closed iqianxing closed 7 years ago

iqianxing commented 7 years ago

INF/device 10336 [d31dd7b87d43] Preparing device INF/device:support:sub 10336 [d31dd7b87d43] Receiving input from "tcp://127.0.0.1:7114" INF/device:support:sub 10336 [d31dd7b87d43] Subscribing to permanent channel "ALL" INF/device:support:properties 10336 [d31dd7b87d43] Loading properties INF/device:support:sdk 10336 [d31dd7b87d43] Supports SDK 23 INF/device:support:abi 10336 [d31dd7b87d43] Supports ABIs arm64-v8a, armeabi-v7a, armeabi INF/device:resources:minicap 10336 [d31dd7b87d43] Installing "D:\Projects\stf\node_modules\minicap-prebuilt\prebuilt\arm 64-v8a\bin\minicap" as "/data/local/tmp/minicap" INF/device:resources:minicap 10336 [d31dd7b87d43] Installing "D:\Projects\stf\node_modules\minicap-prebuilt\prebuilt\arm 64-v8a\lib\android-23\minicap.so" as "/data/local/tmp/minicap.so" INF/device:resources:minicap 10336 [d31dd7b87d43] Pushed "minicap.so" not executable, attempting fallback location INF/device:resources:minicap 10336 [d31dd7b87d43] Installing "D:\Projects\stf\node_modules\minicap-prebuilt\prebuilt\arm 64-v8a\lib\android-23\minicap.so" as "/data/data/com.android.shell/minicap.so" INF/device:resources:minicap 10336 [d31dd7b87d43] Pushed "minicap.so" not executable, attempting fallback location FTL/device 10336 [d31dd7b87d43] Setup had an error Error: Out of fallback locations for "D:\Projects\stf\node_modules\mi nicap-prebuilt\prebuilt\arm64-v8a\lib\android-23\minicap.so" at Resource.shift (D:\Projects\stf\lib\units\device\resources\util\resource.js:13:11) at D:\Projects\stf\lib\units\device\resources\minicap.js:110:19 at runCallback (timers.js:666:20) at tryOnImmediate (timers.js:639:5) at processImmediate [as _immediateCallback] (timers.js:611:5) FTL/util:lifecycle 10336 [d31dd7b87d43] Shutting down due to fatal error INF/provider 6112 [] Cleaning up device worker "d31dd7b87d43" ERR/provider 6112 [] Device worker "d31dd7b87d43" died with code 1 INF/provider 6112 [] Restarting device worker "d31dd7b87d43" INF/device:support:push 3944 [d31dd7b87d43] Sending output to "tcp://127.0.0.1:7116" INF/device 3944 [d31dd7b87d43] Preparing device INFINFINF/util:lifecycle 9456 [] Winding down for graceful exit INFINF/cli:local 9844 [] Received SIGINT, waiting for processes to terminate FTL/cli:local 9844 [*] Child process had an error ExitError: Exit code "3221225786" at ChildProcess. (D:\Projects\stf\lib\util\procutil.js:49:23) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)

sorccu commented 7 years ago

Have you tried the same device on Linux? There could perhaps be some file permissions issues on Windows.

On Tue, Sep 5, 2017 at 22:37 qianxing notifications@github.com wrote:

INF/device 10336 [d31dd7b87d43] Preparing device INF/device:support:sub 10336 [d31dd7b87d43] Receiving input from "tcp:// 127.0.0.1:7114" INF/device:support:sub 10336 [d31dd7b87d43] Subscribing to permanent channel "

ALL" INF/device:support:properties 10336 [d31dd7b87d43] Loading properties INF/device:support:sdk 10336 [d31dd7b87d43] Supports SDK 23 INF/device:support:abi 10336 [d31dd7b87d43] Supports ABIs arm64-v8a, armeabi-v7a, armeabi INF/device:resources:minicap 10336 [d31dd7b87d43] Installing "D:\Projects\stf\node_modules\minicap-prebuilt\prebuilt\arm 64-v8a\bin\minicap" as "/data/local/tmp/minicap" INF/device:resources:minicap 10336 [d31dd7b87d43] Installing "D:\Projects\stf\node_modules\minicap-prebuilt\prebuilt\arm 64-v8a\lib\android-23\minicap.so" as "/data/local/tmp/minicap.so" INF/device:resources:minicap 10336 [d31dd7b87d43] Pushed "minicap.so" not executable, attempting fallback location INF/device:resources:minicap 10336 [d31dd7b87d43] Installing "D:\Projects\stf\node_modules\minicap-prebuilt\prebuilt\arm 64-v8a\lib\android-23\minicap.so" as "/data/data/com.android.shell/minicap.so" INF/device:resources:minicap 10336 [d31dd7b87d43] Pushed "minicap.so" not executable, attempting fallback location FTL/device 10336 [d31dd7b87d43] Setup had an error Error: Out of fallback locations for "D:\Projects\stf\node_modules\mi nicap-prebuilt\prebuilt\arm64-v8a\lib\android-23\minicap.so" at Resource.shift (D:\Projects\stf\lib\units\device\resources\util\resource.js:13:11) at D:\Projects\stf\lib\units\device\resources\minicap.js:110:19 at runCallback (timers.js:666:20) at tryOnImmediate (timers.js:639:5) at processImmediate [as _immediateCallback] (timers.js:611:5) FTL/util:lifecycle 10336 [d31dd7b87d43] Shutting down due to fatal error INF/provider 6112 [] Cleaning up device worker "d31dd7b87d43" ERR/provider 6112 [ ] Device worker "d31dd7b87d43" died with code 1 INF/provider 6112 [] Restarting device worker "d31dd7b87d43" INF/device:support:push 3944 [d31dd7b87d43] Sending output to "tcp:// 127.0.0.1:7116" INF/device 3944 [d31dd7b87d43] Preparing device INFINFINF/util:lifecycle 9456 [ ] Winding down for graceful exit INFINF/cli:local 9844 [] Received SIGINT, waiting for processes to terminate FTL/cli:local 9844 [*] Child process had an error ExitError: Exit code "3221225786" at ChildProcess. (D:\Projects\stf\lib\util\procutil.js:49:23) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openstf/stf/issues/699, or mute the thread https://github.com/notifications/unsubscribe-auth/AAB-_SdiKEmFv0QDOon25Z_51H8wazOsks5sfU6jgaJpZM4PM9dG .

iqianxing commented 7 years ago

I have tried the same device on Linux, the device is showed in the devices center. But on my windows dev environment, it like this: image

sorccu commented 7 years ago

We do not support Windows, so please try to figure it out by yourself. If you can find out why exactly it's not working, and provide a patch, then we can merge that assuming it makes sense. Other than that I will not look look into this.

On Tue, Sep 5, 2017 at 22:51 qianxing notifications@github.com wrote:

I have tried the same device on Linux, the device is showed in the devices center. But on my windows dev environment, it like this: [image: image] https://user-images.githubusercontent.com/2938263/30064435-549f5ef8-9284-11e7-8bd5-3c7118776817.png

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/openstf/stf/issues/699#issuecomment-327181401, or mute the thread https://github.com/notifications/unsubscribe-auth/AAB-_ZtwYb9wpO8japW-GoLnD_RGeVSxks5sfVHUgaJpZM4PM9dG .

iqianxing commented 7 years ago

3q

iqianxing commented 7 years ago

I have fixed the problem by this way:

 function checkExecutable(res) {
        return adb.stat(options.serial, res.dest)
          .timeout(5000)
          .then(function(stats) {
            // return (stats.mode & fs.constants.S_IXUSR) === fs.constants.S_IXUSR
            return true;
          });
 }
sorccu commented 7 years ago

Could you run 'node' and enter 'require("fs").constants.S_IXUSR' in the prompt? Then please post the output here. If you can do that I think we can fix this.

sorccu commented 7 years ago

And can you also console.log(stats)?

On Wed, Sep 6, 2017 at 11:06 qianxing notifications@github.com wrote:

I have fixed the problem by this way: function checkExecutable(res) { return adb.stat(options.serial, res.dest) .timeout(5000) .then(function(stats) { // return (stats.mode & fs.constants.S_IXUSR) === fs.constants.S_IXUSR return true; }) }

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/openstf/stf/issues/699#issuecomment-327353437, or mute the thread https://github.com/notifications/unsubscribe-auth/AAB-_Sq95P4Qfws7e37IrdItEAIWz0L1ks5sff4jgaJpZM4PM9dG .

sorccu commented 7 years ago

Seems that on Windows the values are:

> require('fs').constants
{ O_RDONLY: 0,
  O_WRONLY: 1,
  O_RDWR: 2,
  S_IFMT: 61440,
  S_IFREG: 32768,
  S_IFDIR: 16384,
  S_IFCHR: 8192,
  S_IFLNK: 40960,
  O_CREAT: 256,
  O_EXCL: 1024,
  O_TRUNC: 512,
  O_APPEND: 8,
  F_OK: 0,
  R_OK: 4,
  W_OK: 2,
  X_OK: 1 }

On macOS, the values are:

> require('fs').constants
{ O_RDONLY: 0,
  O_WRONLY: 1,
  O_RDWR: 2,
  S_IFMT: 61440,
  S_IFREG: 32768,
  S_IFDIR: 16384,
  S_IFCHR: 8192,
  S_IFBLK: 24576,
  S_IFIFO: 4096,
  S_IFLNK: 40960,
  S_IFSOCK: 49152,
  O_CREAT: 512,
  O_EXCL: 2048,
  O_NOCTTY: 131072,
  O_TRUNC: 1024,
  O_APPEND: 8,
  O_DIRECTORY: 1048576,
  O_NOFOLLOW: 256,
  O_SYNC: 128,
  O_SYMLINK: 2097152,
  O_NONBLOCK: 4,
  S_IRWXU: 448,
  S_IRUSR: 256,
  S_IWUSR: 128,
  S_IXUSR: 64,
  S_IRWXG: 56,
  S_IRGRP: 32,
  S_IWGRP: 16,
  S_IXGRP: 8,
  S_IRWXO: 7,
  S_IROTH: 4,
  S_IWOTH: 2,
  S_IXOTH: 1,
  F_OK: 0,
  R_OK: 4,
  W_OK: 2,
  X_OK: 1 }

Linux and other *nix should be the same as macOS.

Guess we'll just hardcode the number then.

sorccu commented 7 years ago

Can you try the latest master and see if it works now?

iqianxing commented 7 years ago
device:plugins:screen:stream 4940 [ACE2158A8D62] Starting WebSocket server on port 7400
device:resources:minitouch 4940 [ACE2158A8D62] Installing "D:\Projects\stf\node_modules\minitouch-prebuilt\prebuilt\
abi-v7a\bin\minitouch" as "/data/local/tmp/minitouch"
s { mode: 33279, size: 30224, mtime: 2017-09-06T12:55:32.000Z }
device:plugins:data 4940 [ACE2158A8D62] Unable to find device data { serial: 'ACE2158A8D62',
atform: 'Android',
nufacturer: 'HUAWEI',
erator: ',',
del: ' G510-0010',
rsion: '4.1.1',
i: 'armeabi-v7a',
k: '16',
oduct: 'G510-0010',
splay:
 id: 0,
 width: 480,
 height: 854,
 xdpi: 160.42,
 ydpi: 159.5,
 size: 6.13,
 density: 1.5,
 fps: 60,
 secure: false,
 rotation: 0,
 url: 'ws://192.13.24.88:7400' },
one: { imei: '866872012794553', network: 'UNKNOWN' } }
device:plugins:touch 4940 [ACE2158A8D62] Touch origin is top left
device:plugins:touch 4940 [ACE2158A8D62] Requesting touch consumer to start
device:plugins:touch 4940 [ACE2158A8D62] Launching screen service
device:plugins:touch 4940 [ACE2158A8D62] Connecting to minitouch service
device:plugins:touch 4940 [ACE2158A8D62] minitouch says: "libevdev error in fix_invalid_absinfo: BUG: Device "ts_tes
put" has invalid ABS_MT_TRACKING_ID rangeNote: device /dev/input/event5 was outscored by /dev/input/event0 (2000 >=
)"
device:plugins:touch 4940 [ACE2158A8D62] minitouch says: "Type A touch device synaptics (479x853 with 6 contacts) de
ed on /dev/input/event0 (score 2000)"
device:plugins:touch 4940 [ACE2158A8D62] Reading minitouch banner
device:plugins:touch 4940 [ACE2158A8D62] minitouch says: "Connection established"
sorccu commented 7 years ago

Ok. I think master should work for you, then.

iqianxing commented 7 years ago

Thank you!

sorccu commented 7 years ago

Thanks for figuring it out!