Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tmann
Visitor

Problems with last plugin release

I haven't made any changes to my Roku channel in several months. Last week, I loaded it up to begin the creation of another private channel. I installed the latest plugin and haven't been able to get anything done since. I followed the other two post with issues and have confirmed that those conditions do not exist. I don't have any anon functions, the -xmx1024M setting has been made, I'm on Java 1.7.0_25, and I'm running 32 bit. Yet I can't publish a channel package. I can load the channel to my developer Roku box and run it but when I try to publish the package I get a list of errors. When I try to "refresh" the project, I get the following:

eclipse.buildId=M20110210-1200
java.version=1.7.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product


eclipse.buildId=M20110210-1200
java.version=1.7.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product


Error
Wed Aug 28 12:12:38 EDT 2013
throwable: null

java.lang.NullPointerException
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.checkFoldersAndContents(BrightScriptBuilder.java:234)
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.isBuildable(BrightScriptBuilder.java:159)
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.fullBuild(BrightScriptBuilder.java:586)
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.incrementalBuild(BrightScriptBuilder.java:596)
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.build(BrightScriptBuilder.java:147)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)



When I try to build the package I get a message box with the following:

Unable to package application on Roku Box at IP Address '192.168.61.14'

Reason:
java.net.SocketTimeoutException: Read time out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(Unknown Source)

at java.net.SocketInputStream.read(Unknown Source)

at java.io.BufferedInputStream.fill(Unknown Source)

at java.io.BufferedInputStream.read1(Unknown Source)

at java.io.BufferedInputStream.read(Unknown Source)

at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)

at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

at java.net.HttpURLConnection.getResponseCode(Unknown Source)

at com.roku.brightscript.ide.eclipse.core.comms.HHTTPClientWithProgress.run(HTTPClientWithProgress.java:326)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)



HELP!!! Please?
0 Kudos
6 REPLIES 6
malloys
Visitor

Re: Problems with last plugin release

"tmann" wrote:

eclipse.buildId=M20110210-1200
java.version=1.7.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product


OK - good, the java version, O/S, and eclipse versions all look acceptable... and so, onward...

The stacktraces you listed point to two completely separate issues.
FYI - based on examination of the stacktraces and codebase, neither issue is specific to the last plugin release.

"tmann" wrote:

Error
Wed Aug 28 12:12:38 EDT 2013
throwable: null

java.lang.NullPointerException
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.checkFoldersAndContents(BrightScriptBuilder.java:234)
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.isBuildable(BrightScriptBuilder.java:159)
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.fullBuild(BrightScriptBuilder.java:586)
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.incrementalBuild(BrightScriptBuilder.java:596)
at com.roku.brightscript.ide.eclipse.core.builders.BrightScriptBuilder.build(BrightScriptBuilder.java:147)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


Although it's not handled well in the current plugin code (I'll add some code to handle this more gracefully in the next release), this stacktrace is an indication that you likely have a sub-folder under the "locale" folder that isn't named the same as one of the supported locales or the "default" folder.
Note, this error indicates a problem with checking for localization issues within the project during the "build" phase, but it won't cause any problems other than a silent and partial error/warning check generation failure (i.e. sideloading, packaging, etc. won't be effected by this).

In any case...
Please verify that all the folders directly under the locale folder are one of:

default,
en_US
fr_CA
de_DE
es_ES

If there's a folder under locale that's named something other than the above list, that's the cause of this stracktrace.
It's best that you move that folder to somewhere other than directly under the "locale" folder (it should be OK placed under one of the above locale sub-folders though).

"tmann" wrote:

When I try to build the package I get a message box with the following:

Unable to package application on Roku Box at IP Address '192.168.61.14'

Reason:
java.net.SocketTimeoutException: Read time out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(Unknown Source)

at java.net.SocketInputStream.read(Unknown Source)

at java.io.BufferedInputStream.fill(Unknown Source)

at java.io.BufferedInputStream.read1(Unknown Source)

at java.io.BufferedInputStream.read(Unknown Source)

at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)

at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

at java.net.HttpURLConnection.getResponseCode(Unknown Source)

at com.roku.brightscript.ide.eclipse.core.comms.HHTTPClientWithProgress.run(HTTPClientWithProgress.java:326)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)


**EDITED** from original response:

That's an indication that there was a problem *waiting for a response from the Roku box* at IP address 192.168.61.14 at the time the packaging operation was attempted.
The plugin was able to establish a connection to the Roku box, but it timed-out waiting for a response from the packaging request.
The default timeout for deployment operations is 5 seconds.
Try increasing the time-out value via the BrightScript user prefs (Window->Preferences->BrightScript->Deployment->Roku Box communication timeout in seconds).
If that doesn't work, try manually packaging as described in the Channel Packaging and Publishing guide:
http://sdkdocs.roku.com/display/sdkdoc/Channel+Packaging+And+Publishing#ChannelPackagingAndPublishin...
and time how long it takes to complete (then use that value in seconds plus a few seconds more as your user prefs value).

Cheers


Cheers
0 Kudos
destruk
Binge Watcher

Re: Problems with last plugin release

If it is timing out on the packaging or upload process, you can speed it up by exiting to the home screen on the roku before trying to package the channel.
0 Kudos
malloys
Visitor

Re: Problems with last plugin release

"destruk" wrote:
If it is timing out on the packaging or upload process, you can speed it up by exiting to the home screen on the roku before trying to package the channel.


Good tip.
Depending on the firmware version, hardware version, and what state the box is in... if the target box is not at the home screen when trying to sideload/package, it can take longer, and can therefore cause different kinds of eclipse-to-box communications errors - SocketTimeoutException, ConnectionException, and InvocationTargetException are just a few.
Firmware 3.1 (on the older boxes) is the most notably effected, but even the latest 5.x firmware shows some lag.

An additional tip/caveat...
I just discovered I can cause a Roku box crash/reboot via sideloading/packaging - only on firmware 5.x (current 5.1 and beta 5.2), only if Netflix is the running channel, and only if it's playing a video at the time.

Cheers
0 Kudos
TheEndless
Channel Surfer

Re: Problems with last plugin release

"malloys" wrote:
"destruk" wrote:
If it is timing out on the packaging or upload process, you can speed it up by exiting to the home screen on the roku before trying to package the channel.


Good tip.
Depending on the firmware version, hardware version, and what state the box is in... if the target box is not at the home screen when trying to sideload/package, it can take longer, and can therefore cause different kinds of eclipse-to-box communications errors - SocketTimeoutException, ConnectionException, and InvocationTargetException are just a few.
Firmware 3.1 (on the older boxes) is the most notably effected, but even the latest 5.x firmware shows some lag.

An additional tip/caveat...
I just discovered I can cause a Roku box crash/reboot via sideloading/packaging - only on firmware 5.x (current 5.1 and beta 5.2), only if Netflix is the running channel, and only if it's playing a video at the time.

Cheers

Could you add an ECP Home x 2 command to your packager, so it always wakes/returns home prior to the sideload?
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
malloys
Visitor

Re: Problems with last plugin release

"TheEndless" wrote:

Could you add an ECP Home x 2 command to your packager, so it always wakes/returns home prior to the sideload?


Great minds think alike. 🙂 I was just looking into doing this.
Simple to implement, so it should make it into the next release.

Cheers
0 Kudos
tmann
Visitor

Re: Problems with last plugin release

Thanks to both of you.

I had a folder named "language" under the locale folder. By removing it and adding the "en_US" folder, I solved the build issue.

Manually processing the package only took a couple of seconds but I had to increase the delay on my box to a full 30 seconds in order to get the package to create and upload.

Thanks again.
0 Kudos