Does appengine throw AccessControlExceptions when I've tried to do something disallowed? - google-app-engine

I'm using an opaque library which I'm not sure can work on appengine. I'm just testing out various classes to see what happens, and one particular method causes a AccessControlException to be thrown:
java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0)
There's no stack trace or any other information. Would this exception be thrown if the library tried to do something that appengine doesn't allow, like starting another thread, writing to a file, etc?

I deployed to the production servers and got a much more specific message:
Google App Engine does not support Runtime.removeShutdownHook
So, I guess the answer is "yes."

In case you haven't seen the App Engine class whitelist:
http://code.google.com/appengine/docs/java/jrewhitelist.html

Related

gcloud app engine region does not have enough resources

I ran into this error while trying to deploy my Node.js app on Google's App Engine:
(gcloud.app.deploy) Error Response: [9] An internal error occurred while processing task /app-engine-flex/flex_await_healthy/flex_await_healthy>2022-01-07T08:03:21.449Z334.zf.2: The region us-west3 does not have enough resources available to fulfill the request. Please try again later.
It seems like the error is with the region "not having enough resources," but how is this possible? Is it really the case that us-west3 has run out of "capacity"? Or does this error indicate something wrong with my app? I've deployed it before on Google App Engine but I am open to the possibility that something in my code could be causing errors. I don't know what this could be, but the problem has to be on my end, right?
As suggested by John Hanley, you will have to wait and try again, but you cannot change the region of App Engine, you will have to create another project in another region if you want to.

Google cloud platform quota error. Quota on INsances issue

error [INTERNAL]: An internal error occurred while processing task /appengine-flex-v1/insert_flex_deployment/flex_create_resources>2020-05-22T15:14:57.416Z3210.jc.5: Deployment Manager operation thesis-lock/operation-1590160497681-5a63e1799a578-3c148be2-663d8bc4 errors: [code: "RESOURCE_ERROR"
location: "/deployments/aef-flex-20200522t171231/resources/aef-flex-20200522t171231"
message: \"ResourceType\":\"compute.beta.regionAutoscaler\",\"ResourceErrorCode\":\"403\",\"ResourceErrorMessage\":{\"code\":403,\"errors\":[{\"domain\":\"usageLimits\",\"message\":\"Exceeded limit \'QUOTA_FOR_INSTANCES\' on resource \'aef-flex-20200522t171231\'. Limit: 8.0\",\"reason\":\"limitExceeded\"}],\"message\":\"Exceeded limit \'QUOTA_FOR_INSTANCES\' on resource \'aef-flex-20200522t171231\'. Limit: 8.0\",\"statusMessage\":\"Forbidden\",\"requestPath\":\"https://compute.googleapis.com/compute/beta/projects/.../regions/asia-south1/autoscalers\",\"httpMethod\":\"POST\"}}"
I'm getting the aboveerror when trying to deploy my app to Google App Engine using gcloud app deploy.
I've been able to deploy previously without any problems or errors in exactly the same way. I haven't changed my app.yaml. I have checked my quota in the Console yet I can find no quota that have been exceeded. The documentation does not provide any insights.
Any ideas as to what I can do?
I have found some similar questions on SO, but none of them seem to point to this issue specifically and none of the proposed solutions to those questions seem to work.
Google is already aware of this, and the engineering team is working on it. There is an Issue Tracker thread that you can "star" to keep track of updates and follow-ups regarding this issue.
Current workaround: Switch from App Engine Flexible to Standard environment.

on what error log settings can I find app error logs that google clould compute engine apps throw

I've deployed an app using googles cloud compute engine service.
I get an error when I try to register a new user:
We're sorry, but something went wrong. If you are the application owner check the logs for more information.
I'm in the logs section of the google cloud console and it has all sorts of random logs I can look at but I cant find where the errors that the app coding itself caused caused are put, e.g. I'm sure its a mail configuration problem that is causing the error message for new registered users but I cant fix the problem until I find out what the actual error is.
Where exactly are actual app errors put, because they aren't displayed on the page the like in production on my local computer. (I'm using a rails app if that makes a difference to anything)
All errors are logged in the logging section, try applying filters or sorting the logs by date. Sometimes they take a little while to appear.

Problems using Twitter4j on GAE throws 401 just after deploy

Well, I'm having a weird error here:
I'm developing one GAE app to read some Twitter Data, and after read a lot of docs, I have it working on my test server (Running on my pc) but after deploy and test on the real (my appspot domain) it shows this message:
401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or >incorrect. Ensure that you have set valid consumer key/secret, access token/secret, and the >system clock is in sync.
message - Could not authenticate you
code - 32
I've tried to recreate my OAuthAppToken and OAuthAppTokenSecret keys, even changing the permissions to "Write, Read and Direct Messages" and even assingning one Callback URL but nothing seems to work...
I've tried using twitter4j.properties OR using setOAuthConsumer(TW_CONSUMER_KEY, TW_CONSUMER_SECRET) OR a ConfigurationBuilder whith the correct constants and I'm experimenting the same Issue.
I'm working with AppEngine 1.8.3 and Twitter4j 3.0.4
Iv'e been writing on log and the Twitter object seems to be well created... I dont understand why is working on my PC but not on the real app.
On some other post someone says that could be because it needs to use Sync clock.. but he doesn't explains where to change that property...
Did someone had a clue?
Ok, the problem was me (and Twitter.... well..... I really think it was Twitter problem for being so dark on his api messages)...
On testing server I was looking for an existing account and on the cloud I was looking for an inexistent one. So, It was my mistake. But seriously, what about Twitter saying: "Access Forbidden"? That doesn't have any sense...

LookupHost in Google App Engine errors

I've tried the following code:
addresses, error := net.LookupHost("google.com")
in regular Go and in the Google App Engine SDK, and it generally works fine.
However in a production GAE instance, it produces the following error:
error reading DNS config: open /etc/resolv.conf: operation not permitted
Will this be fixed, is there a workaround, can I change anything in the app.yaml configuration etc.?
You'll need to use the AppEngine API:
http://godoc.org/code.google.com/p/appengine-go/appengine/socket#LookupIP
Note you'll need a context there as well.

Resources