upload failing

My Roku has suddenly started failing in the course of uploading a zip file.

  1. Zip up executable code for a test run.
  2. Upload the zip file using the form hosted by the Roku, either in the browser or via curl at the command line.
  3. Wait, wait, wait
  4. Eventually the connection times out. The browser error message is “The connection to the server was reset while the page was loading.” The curl error message is “curl: (56) Failure when receiving data from the peer”

Has anybody else seen the issue?

I have rebooted without fixing the issue. I have also tried against executable zips that used to work.

This is version 2.6, build 687, model N1100.

Two other fixes I have tried without success:

  • Reset my device to factory settings, then reenabled the package utility following the steps in the “The Channel Packaging and Publishing Guide.”

  • Deleted all channels on my device.

Another fix I have tried without success: uploading zips from the example apps in the sdk.

This rules out issues with my code or packaging process.

Could it be a failure in solid state memory?

“lucasgonze” wrote:
The browser error message is “The connection to the server was reset while the page was loading.” The curl error message is “curl: (56) Failure when receiving data from the peer”

Googling seems to indicate this is a Firefox error, not a problem with the source of the connection. Suggestions mention disabling all extensions and/or using Firefox in safe mode. There’s some indications it may be caused by malfunctioning anti-virus/firewall programs. If switching to a different browser helps, it’s probably FF (or whatever browser you are using) specific, if not, it’s probably something a bit deeper, in which case I suggest first restarting any AV programs you have installed, and if that doesn’t help, try restarting the computer entirely (in case there’s components that are not starting correctly).

Thanks for the idea, kbenson.

It also occurs when I use curl instead of FF, which suggests it’s probably not FF itself. On the other hand it might be something about the user agent that curl and FF have in common, so I’ll give a try in Safari and Chrome.

I have now tested in Safari and Chrome. No change.

One thing I have learned is that the upload goes all the way, it’s the response from the Roku that never happens. It appears that the error is in installing the upload, which would be a software error.

I have ordered a new Roku on overnight delivery to test the assumption that it’s a hardware issue.

How large is your zip file?

Thanks for the input, Patrick. I have tested against the zip files in the SDK and found that none of them work, which means the cause of this problem cannot be in my program. That said, my zip file is 185k.

Did you ever check for any anti-virus software that might be getting in the way? If it sounds unlikely, believe me, it’s not. AV programs have long installed service proxies/filters and firewalls, which when there’s a problem, cause no small amount of havoc.

I could easily see antivirus software being the cause, but I just checked on the two computers that I’ve used to reproduce the issue and found that there is no anti virus software on either. Thanks anyhow, kbenson.

Try to telnet to port 8085 and check any compile errors you might be having…

If you are unable to telnet to port 8085, you might need to enable developer mode:

Home 3x, Up 2x, Right, Left, Right, Left, Right

–Kevin

Telnet to port 8085 to check for compile errors shows that the upload is never being loaded and evaluated by the Roku. The compiler is never being invoked, and the upload is never being installed.

About enabling developer mode, I have enabled the package utility following the steps in the “The Channel Packaging and Publishing Guide.”

The place to look is the Apache error log. Do you know how I get a bash prompt?

I have bought a new Roku and tested against it. The upload now works.

This is pretty good confirmation that the problem was a hardware failure.

I now believe that the issue is Roku devices overheating.

Here is why. After I had used my new Roku heavily for about a day, I found that the upload failure happened. The failure was intermittent, though. Then it became more frequent. When it became so frequent that I couldn’t work at all, I tried going back to my first Roku device. It worked!

Why was it working after a couple days of being powered down? Hypothesis: it had cooled down, and when that happened some system component that fails under high heat comes back to life. My guess is that the failing component is RAM.

For developers the takeaway is to own two devices and switch between them when uploads on one start failing. Turn the one that’s failing off in the meantime, so that it can cool down and be ready to use again when you need it.

What’s the ambient temperature? Is the Roku on some other device that generates a lot of heat? I haven’t seem this behavior, and I have no A/C, but I do most my development at dusk and after. That said, it’s been somewhat warm a few times (~80 degrees), and I haven’t seen this problem. I haven’t seen any overheating issues on my other unit, which is dedicated to normal use, and I’ve used in MUCH warmer temperatures (> 100.degrees).

Great idea.

The ambient temperature is nothing special, but there could be another factor. Sometimes there are things on top that could block the vents, like a yellow sticky note, a Chumby, or a manila folder.