[ANNOUNCE] Gerrit 2.1.2.2

33 views
Skip to first unread message

Shawn Pearce

unread,
Mar 29, 2010, 7:35:24 PM3/29/10
to repo-discuss
Gerrit 2.1.2.2 is now available in the usual location:

link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]

Bug Fixes
---------

* Add ',' to be encoded in email headers.

Email headers which used UTF-8 character set encoding did not
properly escape a comma. Fixed.

* issue 513 Log OpenID SSL failures

If OpenID authentication fails, such as due to the JRE not having
access to any of the root certificates and therefore being unable
to open an https connection, the problem is now logged to the
server's error_log.

Luciano Carvalho

unread,
Mar 29, 2010, 11:42:23 PM3/29/10
to Shawn Pearce, repo-discuss
Hi Shawn,

After I installed 2.1.2.2, I started to see "Too many open files issue", specially when trying to see the gitweb links.

I'm rolling back to 2.1.2.1 for now.

Luciano.

HTTP ERROR 500

Problem accessing /gitweb. Reason:

    Cannot run program "/home/repo/review_site/gitweb/gitweb.cgi" (in directory "project_name.git"): java.io.IOException: error=24, Too many open files

Caused by:

java.io.IOException: Cannot run program "/home/repo/review_site/gitweb/gitweb.cgi" (in directory "project_name.git"): java.io.IOException: error=24, Too many open files
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at com.google.gerrit.httpd.gitweb.GitWebServlet.exec(GitWebServlet.java:370)
at com.google.gerrit.httpd.gitweb.GitWebServlet.service(GitWebServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:76)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.gerrit.httpd.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:54)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:425)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:931)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:362)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:867)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:50)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.Server.handle(Server.java:334)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:992)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:541)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: java.io.IOException: error=24, Too many open files
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 40 more

Caused by:

java.io.IOException: java.io.IOException: error=24, Too many open files
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
at java.lang.Runtime.exec(Runtime.java:593)
at com.google.gerrit.httpd.gitweb.GitWebServlet.exec(GitWebServlet.java:370)
at com.google.gerrit.httpd.gitweb.GitWebServlet.service(GitWebServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:76)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.gerrit.httpd.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:54)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:425)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:931)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:362)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:867)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:50)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.Server.handle(Server.java:334)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:992)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:541)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Thread.java:619)

Powered by Jetty://























--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en

To unsubscribe from this group, send email to repo-discuss+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

Shawn Pearce

unread,
Mar 30, 2010, 9:49:11 AM3/30/10
to Luciano Carvalho, repo-discuss
Luciano Carvalho <lsca...@gmail.com> wrote:
> After I installed 2.1.2.2, I started to see "Too many open files issue",
> specially when trying to see the gitweb links.
>
> I'm rolling back to 2.1.2.1 for now.

I don't know how that will help. Here is the complete difference
from 2.1.2.1 to 2.1.2.2. As you may notice, there is nothing here
that impacts file descriptor usage. So any leaking file descriptor
issue is an *existing* bug, perhaps even in 2.1.2 itself.

--snip--
$ git diff v2.1.2.1..v2.1.2.2
diff --git a/ReleaseNotes/ReleaseNotes-2.1.2.2.txt b/ReleaseNotes/ReleaseNotes-2.1.2.2.txt
new file mode 100644
index 0000000..ccf25d6
--- /dev/null
+++ b/ReleaseNotes/ReleaseNotes-2.1.2.2.txt
@@ -0,0 +1,21 @@
+Release notes for Gerrit 2.1.2.2
+================================
+
+Gerrit 2.1.2.2 is now available in the usual location:
+
+link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
+
+Bug Fixes
+---------
+
+* Add ',' to be encoded in email headers.
++
+Email headers which used UTF-8 character set encoding did not
+properly escape a comma. Fixed.
+
+* issue 513 Log OpenID SSL failures
++
+If OpenID authentication fails, such as due to the JRE not having
+access to any of the root certificates and therefore being unable
+to open an https connection, the problem is now logged to the
+server's error_log.
diff --git a/ReleaseNotes/index.txt b/ReleaseNotes/index.txt
index 4cd91ae..fa420a3 100644
--- a/ReleaseNotes/index.txt
+++ b/ReleaseNotes/index.txt
@@ -4,6 +4,8 @@ Gerrit Code Review - Release Notes
[[2_1]]
Version 2.1.x
-------------
+* link:ReleaseNotes-2.1.2.2.html[2.1.2.2]
+* link:ReleaseNotes-2.1.2.1.html[2.1.2.1]
* link:ReleaseNotes-2.1.2.html[2.1.2]
* link:ReleaseNotes-2.1.1.html[2.1.1],
link:ReleaseNotes-2.1.1.html[2.1.1.1]
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/openid/OpenIdServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/openid/OpenIdServiceImpl.java
index bdab696..e7aa98f 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/openid/OpenIdServiceImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/openid/OpenIdServiceImpl.java
@@ -143,6 +143,7 @@ class OpenIdServiceImpl implements OpenIdService {
final List<?> list = manager.discover(url);
return list != null && !list.isEmpty() ? list : null;
} catch (DiscoveryException e) {
+ log.error("Cannot discover OpenID " + url, e);
return null;
}
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailHeader.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailHeader.java
index bab1118..f2e89ac 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailHeader.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailHeader.java
@@ -69,7 +69,7 @@ abstract class EmailHeader {
if (b == ' ') {
r.append('_');

- } else if (b == '=' || b == '"' || b == '_' || b < ' ' || '~' <= b) {
+ } else if (b == ',' || b == '=' || b == '"' || b == '_' || b < ' ' || '~' <= b) {
r.append('=');
r.append(Integer.toHexString((b >>> 4) & 0x0f).toUpperCase());
r.append(Integer.toHexString(b & 0x0f).toUpperCase());

Reply all
Reply to author
Forward
0 new messages