Error doing git push

Hi @awolverton

I can take a look at those first devices for you.

In order to troubleshoot this further, we will need direct access to your app or device. In order to provide the best security we can while also helping you as much as possible, we need your permission before accessing it. We limit the window of time we have access. Please grant access for 4 hours.

To grant access: navigate to that app or device, find Actions in the sidebar, click “Grant support access”, and choose the timespan. Then please reply to this support message with the URL targeting the app or device to investigate. (For example: https://dashboard.resin.io/apps/11111/devices/22222/summary)

done

Hi, I’m having a very similar issue here trying to do a git push resin master:

Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (10/10), 874 bytes | 0 bytes/s, done.
Total 10 (delta 2), reused 0 (delta 0)

[Info]     Starting build for adrian_sanchez/mytest, user adrian_sanchez
[Info]     Dashboard link: https://dashboard.resin.io/apps/460134/devices
[Info]     Building on ARM01
[Info]     Pulling old image for caching purposes
[==================================================>] 100%
[Success]  Cached image pulled in 2 seconds
[Info]     Fetching base image
[Warning]  No image tag given for demosense/resin-deploy-compose, using default (latest)
[==================================================>] 100%
[Info]     Building Standard Dockerfile project
[Build]    Step 1/2 : FROM demosense/resin-deploy-compose
[Build]     ---> 0eaa70b6b8a1
[Build]    Step 2/2 : COPY apps /apps
[Build]     ---> 2b66287612b4
[Build]    Removing intermediate container d55adc2c6e4a
[Build]    Successfully built 2b66287612b4
[Build]    Successfully tagged registry2.resin.io:443/mytest/deca0010795059f5ea3db94d35483a5b4e75ae09:latest
[Success]  Image created successfully
[Info]     Verifying image integrity...
[Success]  Image passed integrity checks!
[Info]     Uploading image to registry...
[Info]     Still working...
[Info]     Still working...
[Info]     Still working...
[=========================>                         ] 50%[Info]     Still working...
[Info]     Still working...
[Info]     Still working...
[=========================>                         ] 50%[Info]     Still working...
[=========================>                         ] 50%[Info]     Still working...
[Info]     Still working...
[=========================>                         ] 50%[Info]     Still working...
[=========================>                         ] 50%[Error]    Build failed: denied: requested access to the resource is denied

remote: error: hook declined to update refs/heads/master
To adrian_sanchez@git.resin.io:adrian_sanchez/mytest.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'adrian_sanchez@git.resin.io:adrian_sanchez/mytest.git'

I tried this many many times, and I always get the same error (it takes a couple of minutes stuck in 50% uploading the image).
The thing is this same push of the same app and repository was working correctly before (hours earlier), now it doesn’t anymore.

I think there it might be an error on your server side. Any ideas?

Can you start a new thread please, the error you’re receiving does not look to be the same as at the start of this thread.

Thanks

Hi @awolverton

The issue appears to stem from an out of memory exception in docker, which would explain why the issue does not happen on your RaspberryPi 3.

We would like to investigate further, please could you give us access for a week to allow plenty of time for debugging.

Thanks

I already set it for a week

Did this get resolved? I’m having the same issue on a Beaglebone Green Wireless.

Hey @bob, which of the issues are you referring to? As there are a few mentioned in this thread

My application is failing to start. Here’s the output on the device terminal:

02.11.17 13:53:24 (-0700) Installing application 'registry2.resin.io/tracker/188c5a98a1e345d1704c5a33c1f36cb897b6ee0b'
02.11.17 13:53:24 (-0700) Installed application 'registry2.resin.io/tracker/188c5a98a1e345d1704c5a33c1f36cb897b6ee0b'
02.11.17 13:53:24 (-0700) Starting application 'registry2.resin.io/tracker/188c5a98a1e345d1704c5a33c1f36cb897b6ee0b'
02.11.17 13:53:27 (-0700) Failed to start application 'registry2.resin.io/tracker/188c5a98a1e345d1704c5a33c1f36cb897b6ee0b' due to '[object Object]'

Not sure if this is related, but trying to push the same dockerfile using local mode, I get this (initial successful steps ignored). Maybe this is a different problem, or maybe it gives insight to this one.

Step 10/10 : WORKDIR /infiswift
 ---> 95648c669571
Removing intermediate container f8c21c8533a2
Successfully built 95648c669571
- Creating 'tracker' container
- Starting 'tracker' container
rdt push failed. Error: Error while starting container tracker: Error: (HTTP code 500) server error - invalid character 'c' looking for beginning of value  Error: Error while starting container tracker: Error: (HTTP code 500) server error - invalid character 'c' looking for beginning of value 
    at /usr/local/lib/node_modules/resin-cli/node_modules/resin-sync/build/docker-utils.js:309:15
    at tryCatcher (/usr/local/lib/node_modules/resin-cli/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/resin-cli/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/usr/local/lib/node_modules/resin-cli/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/usr/local/lib/node_modules/resin-cli/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/usr/local/lib/node_modules/resin-cli/node_modules/bluebird/js/release/promise.js:689:18)
    at Async._drainQueue (/usr/local/lib/node_modules/resin-cli/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/usr/local/lib/node_modules/resin-cli/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues [as _onImmediate] (/usr/local/lib/node_modules/resin-cli/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:800:20)
    at tryOnImmediate (timers.js:762:5)
    at processImmediate [as _immediateCallback] (timers.js:733:5)

Could you send me the device’s dashboard url and enable support access please so I can take a look at the device for the [object Object] error. As for the rdt push I think that is only for unmanaged resin os images and you’d need to use resin local push for a managed image downloaded from resin.io

Sent in a message. Thanks Page.

So checking your device it appears the error the supervisor got was the same invalid character 'c' looking for beginning of value. The [object Object] error message is fixed in supervisor v6.2.8 which would help with giving the correct error message.
As for why you’re getting that error message the only thing I can think of is that you might be missing a CMD entry from your Dockerfile and that could be causing the issue - is that the case?

Once this starts happening, even just sending up a Dockerfile that doesn’t have any commands keeps failing. We should be able to push a container that is basically just a shell environment, without any CMD files, right?

To recover, one of our team found out we need to reflash the device with ResinOS. I’ll try that. Maybe that’ll be a clue.

I wonder if there’s some issue with an environment difference between my host machine, where I’m cross compiling for the ARM, and the docker Container. I’m not using the correct system files to compile against, but it’s a “hello world” program. That really shouldn’t be an issue.

The CMD I’m talking about is the Dockerfile CMD which is used to say what script should be run when the container is started, eg CMD ./start.sh, if there isn’t one provided then it can cause problems as the default value might well be wrong.
As for needing to reflash resinos, you really shouldn’t need to if you’re using managed resin and git pushing, if you’re using resin sync or resin local push though it will just update the existing container and restart it, which won’t work if the CMD is incorrect (as it still won’t be able to restart), so you have to first git push a working version

I think you’re right. I didn’t realize that it was necessary to specify a CMD. I thought I could just create an empty container, and see that it was installed. Maybe that could be more clear in the docs, but maybe it’s just me missing the obvious.

Using a valid CMD, I do see the container update okay, and I can terminal into it and see my binary. Thank you.