This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 184419 - Mobile Emulator doesn't start on Snow Leopard
Summary: Mobile Emulator doesn't start on Snow Leopard
Status: RESOLVED FIXED
Alias: None
Product: installer
Classification: Unclassified
Component: Mac Native (show other bugs)
Version: 6.x
Hardware: PC Mac OS X
: P2 normal (vote)
Assignee: Yulia Novozhilova
URL:
Keywords: RELNOTE
Depends on:
Blocks:
 
Reported: 2010-04-19 08:35 UTC by Lukas Hasik
Modified: 2010-04-28 05:01 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
log of the project run (60.60 KB, text/plain)
2010-04-19 08:39 UTC, Lukas Hasik
Details
emulator runs with fx1.3 sdk installed separately (87.37 KB, text/plain)
2010-04-19 09:23 UTC, Lukas Hasik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lukas Hasik 2010-04-19 08:35:47 UTC
Product Version: NetBeans IDE 6.9 Beta (Build 201004182356)
Java: 1.6.0_17; Java HotSpot(TM) 64-Bit Server VM 14.3-b01-101
System: Mac OS X version 10.6.2 running on x86_64; MacRoman; en_US (nb)
Userdir: /Users/lukas/.netbeans/6.9beta


-create new JavaFX Script Project
-in Project Properties, Run > Run In Mobile Emulator
-Run Project
->emulator doesn't run
--------------------------------------
Current OS is Mac OS X
Executing '/Applications/NetBeans/NetBeans 6.9 Beta.app/Contents/Resources/NetBeans/javafx/javafx-sdk/emulator/mobile/bin/emulator' with arguments:
''
'-Xdescriptor:/Users/lukas/NetBeansProjects/JavaFXApplication8/dist/JavaFXApplication8.jad'
'-Xdevice:DefaultFxPhone1'
The ' characters around the executable and arguments are
not part of the command.
Execute:Java13CommandLauncher: Executing '/Applications/NetBeans/NetBeans 6.9 Beta.app/Contents/Resources/NetBeans/javafx/javafx-sdk/emulator/mobile/bin/emulator' with arguments:
''
'-Xdescriptor:/Users/lukas/NetBeansProjects/JavaFXApplication8/dist/JavaFXApplication8.jad'
'-Xdevice:DefaultFxPhone1'
The ' characters around the executable and arguments are
not part of the command.
/Users/lukas/NetBeansProjects/JavaFXApplication8/nbproject/build-impl.xml:210: exec returned: 1
        at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:650)
        at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:676)
        at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:502)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:390)
        at org.apache.tools.ant.Target.performTasks(Target.java:411)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1360)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1329)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1212)
        at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:278)
        at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:523)
        at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:151)
BUILD FAILED (total time: 14 seconds)
Comment 1 Lukas Hasik 2010-04-19 08:39:01 UTC
Created attachment 97596 [details]
log of the project run
Comment 2 Alexandr Scherbatiy 2010-04-19 09:01:48 UTC
I see the same message about of the arguments which are not part of the command in the verbose mode on the Mac OS X 10.5.6 but the Mobile Emulaor works after that:

------------------------------------------------ 
Current OS is Mac OS X
Executing '/Applications/NetBeans/NetBeans 6.9 Beta.app/Contents/Resources/NetBeans/javafx/javafx-sdk/emulator/mobile/bin/emulator' with arguments:
''
'-Xdescriptor:/Users/tester/NetBeansProjects/Display Shelf Mobile/dist/DisplayShelfMobile.jad'
'-Xdevice:DefaultFxPhone1'
The ' characters around the executable and arguments are
not part of the command.
Installing suite from: http://127.0.0.1:53548/DisplayShelfMobile.jad
Using Pisces Renderer (native version)
Log created.
FXCanvas.init(dirty_areas=true)
---> FXRunner.run
------------------------------------------------ 

Very strange.
Comment 3 Lukas Hasik 2010-04-19 09:23:21 UTC
Created attachment 97601 [details]
emulator runs with fx1.3 sdk installed separately
Comment 4 Lukas Hasik 2010-04-19 09:42:21 UTC
It works with the JavFX 1.3 SDK, increasing priority, need to check wheater there is a workaround or if it's a stopper for Beta.

midp-run:
Setting project property: jad.file -> /Users/lukas/NetBeansProjects/JavaFXApplication9/dist/JavaFXApplication9.jad
Override ignored for property "mobile.device"
Property "jad.install" has not been set
Condition false; setting emulator.exec.arg to -Xdescriptor:
Setting project property: emulator.exec.arg -> -Xdescriptor:
Current OS is Mac OS X
Executing '/Library/Frameworks/JavaFX.framework/Versions/1.3/emulator/mobile/bin/emulator' with arguments:
''
'-Xdescriptor:/Users/lukas/NetBeansProjects/JavaFXApplication9/dist/JavaFXApplication9.jad'
'-Xdevice:DefaultFxPhone1'
The ' characters around the executable and arguments are
not part of the command.
Execute:Java13CommandLauncher: Executing '/Library/Frameworks/JavaFX.framework/Versions/1.3/emulator/mobile/bin/emulator' with arguments:
''
'-Xdescriptor:/Users/lukas/NetBeansProjects/JavaFXApplication9/dist/JavaFXApplication9.jad'
'-Xdevice:DefaultFxPhone1'
The ' characters around the executable and arguments are
not part of the command.
Installing suite from: http://127.0.0.1:49450/JavaFXApplication9.jad
Using Pisces Renderer (native version)
Log created.
FXCanvas.init(dirty_areas=true)
---> FXRunner.run
tv-run:
Skipped because property 'tv.execution.trigger' not set.
run:
BUILD SUCCESSFUL (total time: 22 seconds)
Comment 5 Lukas Hasik 2010-04-19 13:16:37 UTC
the root cause of the problem is missing "device-manager.app" in "/Applications/NetBeans/NetBeans 6.9 Beta.app/Contents/Resources/NetBeans/javafx/javafx-sdk/emulator/mobile/". 
Unfortunately, *this file isn't installed if another location with the device-manager.app is found. From investigation it seems that the device-manager.app doesn't have to be installed. The NB6.9 Beta installation was influenced even by SDK from zip.

Conclusion: if you have installed JavaFX SDK 1.3 before you installed the NB 6.9 then the Mobile Emulator from JavaFX SDK in NB will not work.

-------------8<-------------------
$ cat /var/log/install.log | grep "device-manager.app"
Apr 19 14:35:46 dhcp-eprg06-21-228 installd[28524]: Applications/NetBeans/NetBeans Dev 201004180201.app/Contents/Resources/NetBeans/javafx/javafx-sdk/emulator/mobile/device-manager.app relocated to Library/Frameworks/JavaFX.framework/Versions/1.3/emulator/mobile/device-manager.app
Apr 19 14:36:32 dhcp-eprg06-21-228 installd[28524]: PackageKit: Registered bundle file://localhost/Library/Frameworks/JavaFX.framework/Versions/1.3/emulator/mobile/device-manager.app/
Apr 19 14:45:18 dhcp-eprg06-21-228 installd[41940]: Applications/NetBeans/NetBeans 6.9 Beta.app/Contents/Resources/NetBeans/javafx/javafx-sdk/emulator/mobile/device-manager.app relocated to Library/Frameworks/JavaFX.framework/Versions/1.3/emulator/mobile/device-manager.app
Apr 19 14:46:09 dhcp-eprg06-21-228 installd[41940]: PackageKit: Registered bundle file://localhost/Library/Frameworks/JavaFX.framework/Versions/1.3/emulator/mobile/device-manager.app/

---------------->8--------------------------
Comment 6 Lukas Hasik 2010-04-19 14:03:22 UTC
seems more as NB installer problem. I tried to reproduce it with JavaME SDK and JavaFX SDK. But none of these suffer with the problem. They install correctly and the mobile emulator runs - the "device-manager.app" is in right place.

Does anybody know why the NB installation should behave in different way? Are we using a different approach in the installer?
Comment 7 Yulia Novozhilova 2010-04-20 14:47:26 UTC
It looks like Mac native installer tool knows about all installations of .app files. So in case if device-manager.app and Updater.app have been installed by JavaFX SDK installer these files are not installed by NetBeans Installer. I'm investigating how to solve the problem.
Comment 8 Yulia Novozhilova 2010-04-20 15:06:17 UTC
By the way, the evident workaround is to copy device-manager.app and Updater.app from /Library/Frameworks/JavaFX.framework/Versions/1.3/emulator/mobile/ to /Applications/NetBeans/NetBeans 6.9
Beta.app/Contents/Resources/NetBeans/javafx/javafx-sdk/emulator/mobile/
Comment 9 Lukas Hasik 2010-04-21 07:18:52 UTC
yes, the workaround to make it work is easy. But there is a tricky part - you have to know where to find the device.manager.app because it can be from different locations depending where/what the previous SDK was installed. The native installer was able to find the "device-manager.app" even in a NB distro from zip (not installed)
Comment 10 Tomas Hurka 2010-04-23 15:59:20 UTC
The problem is caused by the fact that Netbeans' javafx budle registers device-manager.app and Updater.app  with application relocator. See http://lists.apple.com/archives/installer-dev/2007/Nov/msg00037.html or http://lists.apple.com/archives/installer-dev/2009/Oct/msg00015.html for details. The fix is run packagemaker in such a way that it will not generate NetBeans 6.9 Beta.mpkg/Contents/Packages/javafx-201004200117.pkg/Contents/Resources/TokenDefinitions.plist file and <key>IFPkgPathMappings</key> in NetBeans 6.9 Beta.mpkg/Contents/Packages/javafx-201004200117.pkg/Contents/Info.plist
Comment 11 Yulia Novozhilova 2010-04-26 13:02:11 UTC
Thank you, Tomas. Fixed: http://hg.netbeans.org/main/rev/e7b644d9dcc6

There is another possible solution that was implemented for JavaME SDK by Dmitry:
http://hg.netbeans.org/main/rev/9500a195b0e1
http://hg.netbeans.org/main/rev/50baa0ff6236
Comment 12 Quality Engineering 2010-04-28 05:01:36 UTC
Integrated into 'main-golden', will be available in build *201004280200* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/
User: 
Log: