GAE Logger triggers StackOverflowError

68 views
Skip to first unread message

Joshua Fox

unread,
Nov 1, 2018, 10:02:08 AM11/1/18
to google-a...@googlegroups.com
GAE logger gets a StackOverflowError. We are not using any custom formatters -- this is straight out-of-the-box AppEngine Standard Environment.

In fact, the log-line in question  is not even one that I generate. It is in com.google.common.flogger.backend.system.AbstractBackend.

It is known that Java regex can encounter StackOverflowError  but the GAE logger  should work around this.

This is appengine-api-1.0-sdk-1.9.65.


java.lang.StackOverflowError
  at java.util.regex.Pattern$CharProperty.match(Pattern.java:3776)
  at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
  at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
  at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
  at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
  at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
  at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
  at java.util.regex.Pattern$Branch.match(Pattern.java:4602)
  at java.util.regex.Pattern$Branch.match(Pattern.java:4602)
  at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
  at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
  at java.util.regex.Pattern$Curly.match0(Pattern.java:4279)
  at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
  at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
  at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
  at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
  at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
  at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
  at java.util.regex.Pattern$Curly.match0(Pattern.java:4279)
  at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
  at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
  at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
  at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
  at java.util.regex.Pattern$Start.match(Pattern.java:3461)
  at java.util.regex.Matcher.search(Matcher.java:1367)
  at java.util.regex.Matcher.find(Matcher.java:665)
  at java.util.Formatter.parse(Formatter.java:2549)
  at java.util.Formatter.format(Formatter.java:2501)
  at java.util.Formatter.format(Formatter.java:2455)
  at java.lang.String.format(String.java:2942)
  at java.util.logging.SimpleFormatter.format(SimpleFormatter.java:161)
  at java.util.logging.StreamHandler.publish(StreamHandler.java:211)
  at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:116)
  at java.util.logging.Logger.log(Logger.java:738)
  at com.google.common.flogger.backend.system.AbstractBackend.log(AbstractBackend.java:76)
  at com.google.common.flogger.backend.system.SimpleLoggerBackend.log(SimpleLoggerBackend.java:31)
  at com.google.common.flogger.AbstractLogger.write(AbstractLogger.java:137)
  at com.google.common.flogger.LogContext.logImpl(LogContext.java:621)
  at com.google.common.flogger.LogContext.log(LogContext.java:759)
  at com.google.apphosting.runtime.ApiProxyImpl.doAsyncCall(ApiProxyImpl.java:413)
  at com.google.apphosting.runtime.ApiProxyImpl.access$100(ApiProxyImpl.java:63)
  at com.google.apphosting.runtime.ApiProxyImpl$2.run(ApiProxyImpl.java:247)
  at com.google.apphosting.runtime.ApiProxyImpl$2.run(ApiProxyImpl.java:244)
  at java.security.AccessController.doPrivileged(Native Method)
  at com.google.apphosting.runtime.ApiProxyImpl.makeAsyncCall(ApiProxyImpl.java:243)
  at com.google.apphosting.runtime.ApiProxyImpl.makeAsyncCall(ApiProxyImpl.java:63)
  at com.google.apphosting.api.ApiProxy.makeAsyncCall(ApiProxy.java:203)
  at com.google.apphosting.api.ApiProxy.makeAsyncCall(ApiProxy.java:141)
  at com.google.appengine.api.memcache.MemcacheServiceApiHelper.makeAsyncCall(MemcacheServiceApiHelper.java:113)
  at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.doGet(AsyncMemcacheServiceImpl.java:457)
  at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.get(AsyncMemcacheServiceImpl.java:464)
  at com.google.appengine.api.memcache.MemcacheServiceImpl.get(MemcacheServiceImpl.java:51)

Omair (Cloud Platform Support)

unread,
Nov 1, 2018, 5:00:38 PM11/1/18
to Google App Engine

Hi Joshua,


I would recommend you to file a bug on issue tracker by clicking here so that we can end up forwarding it to our engineering team. It would be best if you could provide us with a reproducible sample or a description of any specific action that you are taking that is resulting in this error so that we can attempt to reproduce it.


Joshua Fox

unread,
Nov 4, 2018, 5:52:50 AM11/4/18
to google-a...@googlegroups.com

> I would recommend you to file a bug on issue tracker by clicking here so that we can end up forwarding it to our engineering team.


Done. Where can I see statistics for fixes for the issue tracker? It would be good to know, statistically, the average time-to-fix for issues. > It would be best if you could provide us with a reproducible sample or a description of any specific action that you are taking that is resulting in this error so that we can attempt to reproduce it.


This only occurs in production, I guess because there may be very large log strings, with a specific content -- I don't know what, as these strings are not logged 😉 -- that breaks the Cloud Logging regex pattern.



--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/326367f6-991f-4bf7-885b-78d1e91932b5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--
 

JOSHUA FOX
Director, Software Architecture | Freightos



T (Israel): +972-545691165 | T (US):  +1-3123400953  
Smooth shipping.



Ying Li

unread,
Nov 4, 2018, 5:19:19 PM11/4/18
to Google App Engine
Hello Joshua,

Unfortunately, there is no statistic on average fix time for Public Issue tracker issues; even if there is, it would be relatively meaningless because of the high variance. You can probably find year old bugs due to high complexity and low priority and you can probably find bugs that are closed within a week due to high impact. If you have particular inquires regarding the ETA, you could ask on the PIT. It's possible that engineering can provide you with an ETA if the issue is close to resolution.

If you have further information to provide, it's best to provide them in the Public Issue tracker, thanks.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscribe@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.

Joshua Fox

unread,
Nov 5, 2018, 1:33:56 AM11/5/18
to google-a...@googlegroups.com
>  If you have particular inquires regarding the ETA, you could ask on the PIT

Actually, in this case, I am not asking about specific tickets, but about statistics.

>  You can probably find year old bugs due to high complexity and low priority and you can probably find bugs that are closed within a week due to high impact.

Certainly. That is why I'd like to see the statistics or the raw data. For example, to know the variance. Slicing by priority and other fields would be nice to have.

Of course I ask because in my three-year experience, high-impact confirmed Google Cloud bugs (not necessarily managed through this Issue tracker)  often take years to fix. But I wonder if something is special about the set of issues that I am interested in, so statistics would help.

To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.


--
 

JOSHUA FOX
Director, Software Architecture | Freightos



T (Israel): +972-545691165 | T (US):  +1-3123400953  
Smooth shipping.



--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

George (Cloud Platform Support)

unread,
Nov 6, 2018, 1:29:56 PM11/6/18
to Google App Engine
Hello Joshua, 

Providing statistics implies that parameters such as issue complexity and priority level are made publicly available. This is not the case. How would statistics provide more information than a simple parameter such as priority level? If the value of this parameter is, let's say, P4, one shouldn't expect resolution by tomorrow. For all issues, steps undertaken towards resolution are published on the thread, as well as various related decisions, as well as final resolution. This information should help you directly and specifically with setting expectations for your issue. 
Reply all
Reply to author
Forward
0 new messages