| Issue 3233: | Cannot send emails | |
| 4 people starred this issue and may be notified of changes. | Back to list |
Affected Version: 2.10
What steps will reproduce the problem?
1. Setup gerrit
2. Do some action in the web ui that triggers email sending
3. See error_log
What is the expected output?
* EMail is sent to user
What do you see instead?
* Error message in error_log
Please provide any additional information below.
* OS: Debian 7
* JRE:
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
[2015-03-10 09:46:42,652] ERROR com.google.gerrit.server.change.EmailReviewComments : Cannot email comments for 8572,4
com.google.gerrit.common.errors.EmailException: Mail Error: Cannot format velocity template ChangeSubject.vm
at com.google.gerrit.server.mail.OutgoingEmail.velocifyFile(OutgoingEmail.java:392)
at com.google.gerrit.server.mail.ChangeEmail.setChangeSubjectHeader(ChangeEmail.java:173)
at com.google.gerrit.server.mail.ChangeEmail.init(ChangeEmail.java:151)
at com.google.gerrit.server.mail.ReplyToChangeSender.init(ReplyToChangeSender.java:32)
at com.google.gerrit.server.mail.CommentSender.init(CommentSender.java:81)
at com.google.gerrit.server.mail.OutgoingEmail.send(OutgoingEmail.java:88)
at com.google.gerrit.server.change.EmailReviewComments.run(EmailReviewComments.java:136)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:368)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.velocity.exception.MethodInvocationException: Object 'java.lang.String' does not contain method get(java.lang.String) at ChangeSubject.vm[line 60, column 57]
at org.apache.velocity.util.ClassUtils.getMethod(ClassUtils.java:232)
at org.apache.velocity.runtime.parser.node.ASTIndex.execute(ASTIndex.java:134)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.apache.velocity.Template.merge(Template.java:356)
at org.apache.velocity.Template.merge(Template.java:260)
at com.google.gerrit.server.mail.OutgoingEmail.velocifyFile(OutgoingEmail.java:389)
... 14 more
Mar 16, 2015
I consider this higher than "minor" priority. At least for us it clearly messes up the workflow how people are notified.
Mar 16, 2015
Is there a known workaround for this?
Mar 19, 2015
Confirmed for Gerrit 2.10.1
Apr 2, 2015
Confirmed for Gerrit 2.10.2
Apr 10, 2015
On a clean 2.10.2 installation, the email notifications are working. So the problem seems to only occur after a site upgrade (e.g. from 2.9).
Apr 19, 2015
Confirmed for Gerrit 2.11 Upgrade from 2.9.1
Apr 19, 2015
I resolve this issue. https://gerrit.googlesource.com/gerrit/+/stable-2.11/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeSubject.vm https://gerrit.googlesource.com/gerrit/+/stable-2.9/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeSubject.vm In last version of gerrit, ChangeSubject.vm is changed. If you update from old version, change ChangeSubject.vm file to ChangeSubject.vm.example in {GERRIT}/etc/mail |
|
| ► Sign in to add a comment |
I'm seeing this same error after upgrade from 2.9 to 2.10. Please provide any additional information below. * OS: Ubuntu Server 12.04.5 LTS * JRE: java version "1.7.0_67" Java(TM) SE Runtime Environment (build 1.7.0_67-b01) Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode) [2015-03-11 10:44:04,682] ERROR com.google.gerrit.server.git.MergeOp : Cannot send email for submitted patch set 914 com.google.gerrit.common.errors.EmailException: Mail Error: Cannot format velocity template ChangeSubject.vm at com.google.gerrit.server.mail.OutgoingEmail.velocifyFile(OutgoingEmail.java:392) at com.google.gerrit.server.mail.ChangeEmail.setChangeSubjectHeader(ChangeEmail.java:173) at com.google.gerrit.server.mail.ChangeEmail.init(ChangeEmail.java:151) at com.google.gerrit.server.mail.ReplyToChangeSender.init(ReplyToChangeSender.java:32) at com.google.gerrit.server.mail.MergedSender.init(MergedSender.java:47) at com.google.gerrit.server.mail.OutgoingEmail.send(OutgoingEmail.java:88) at com.google.gerrit.server.git.MergeOp$3.run(MergeOp.java:924) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at com.google.gerrit.server.util.RequestScopePropagator$5.call(RequestScopePropagator.java:222) at com.google.gerrit.server.util.RequestScopePropagator$4.call(RequestScopePropagator.java:201) at com.google.gerrit.server.util.ThreadLocalRequestScopePropagator$1.call(ThreadLocalRequestScopePropagator.java:55) at com.google.gerrit.server.util.RequestScopePropagator$1.call(RequestScopePropagator.java:98) at com.google.gerrit.server.util.RequestScopePropagator$3.run(RequestScopePropagator.java:163) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:368) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.velocity.exception.MethodInvocationException: Object 'java.lang.String' does not contain method get(java.lang.String) at ChangeSubject.vm[line 56, column 57] at org.apache.velocity.util.ClassUtils.getMethod(ClassUtils.java:232) at org.apache.velocity.runtime.parser.node.ASTIndex.execute(ASTIndex.java:134) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) at org.apache.velocity.Template.merge(Template.java:356) at org.apache.velocity.Template.merge(Template.java:260) at com.google.gerrit.server.mail.OutgoingEmail.velocifyFile(OutgoingEmail.java:389) ... 20 more