Forum Discussion

tmann's avatar
tmann
Visitor
12 years ago

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?

6 Replies

  • "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#ChannelPackagingAndPublishing-32PackageUtility
    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
  • destruk's avatar
    destruk
    Streaming Star
    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.
  • "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
  • "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?
  • "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
  • 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.