Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-16074] CLI: Genymotion library causes crash when scanning for Virtual Box in restricted folders

GitHub Issuen/a
TypeBug
PriorityMedium
StatusClosed
ResolutionFixed
Resolution Date2014-02-28T23:38:51.000+0000
Affected Version/sRelease 3.2.0
Fix Version/s2014 Sprint 04, 2014 Sprint 04 Core, Release 3.2.3, Release 3.3.0
ComponentsAndroid, CLI
Labelsqe-testadded
ReporterChris Barber
AssigneeChris Barber
Created2013-12-23T20:01:26.000+0000
Updated2014-06-10T16:07:24.000+0000

Description

There is a bug in the Genymotion library that causes an error when it tries to scan for Virtual Box and encounters a restricted directory.
C:\Users\manuel.conde\AppData\Roaming\npm\node_modules\titanium\node_modules\longjohn\dist\longjohn.js:184
        throw e;
              ^
Error: EPERM, operation not permitted 'C:\Program Files\Archivos comunes'
    at fs.readdirSync (fs.js:654:18)
    at scan (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:138:25)
    at scan (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:150:26)
    at C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:156:10
    at C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:113:8
    at q.process (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:728:21)
    at processImmediate (timers.js:330:15)
---------------------------------------------
    at C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:693:21
    at Array.forEach (native)
    at _each (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:32:24)
    at _insert (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:678:11)
    at q.push (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:705:15)
    at C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:129:12
    at queue.drain (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\node-appc\lib\subprocess.js:108:3)
    at next (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:723:31)
---------------------------------------------
    at C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:693:21
    at Array.forEach (native)
    at _each (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:32:24)
    at _insert (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:678:11)
    at q.push (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:705:15)
    at Object.findExecutable (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\node-appc\lib\subprocess.js:113:8)
    at async.parallel.virtualbox (C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:99:20)
    at C:\Users\manuel.conde\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.GA\node_modules\async\lib\async.js:521:25
Here's the original Q&A question: http://developer.appcelerator.com/question/160759/update-to-ti-320ga-android-not-compiling-anymore

Comments

  1. Chris Barber 2014-01-31

    Master pull request: https://github.com/appcelerator/titanium_mobile/pull/5302 3.2.x pull request: https://github.com/appcelerator/titanium_mobile/pull/5303 Probably best to test this on Windows. To test: 1. Install Genymotion 2. Create an Android project 3. Create folder named "Genymobile" in C:\Program Files 4. Set permissions on that folder to Administrator only 5. Run an emulator build (for any kind of emulator) 6. The emulator should launch and the app should run
  2. Manuel Conde Vendrell 2014-02-13

    Observe that my main problem was that I had Genymotion installed, but I uninstalled it because was not working on my machine. But CLI was still calling the genymotion.js script. Just removing it from the folder, all began to work as expected.
  3. Samuel Dowse 2014-03-26

    Verified fixed on: Windows 8.1 Appcelerator Studio, build:3.2.3.201403250634 Titanium SDK, build: 3.2.3.v20140324164913 CLI: 3.2.3-dev Alloy: 1.3.1 Following Chris' test steps I successfully managed to launch the genymotion emulator. Closing.

JSON Source