On November 6, 2020 8:45:55 PM GMT+01:00, Jakub Jelinek via Gcc <gcc@gcc.gnu.org> wrote: >On Tue, Nov 03, 2020 at 06:26:58PM +0000, Joseph Myers wrote: >> On Mon, 2 Nov 2020, Jakub Jelinek via Gcc wrote: >> >> > It isn't that easy (because update_version_git checks the gcc trunk >and >> > so I had to insert a sh invocation in which I've tweaked it), but >it worked, >> > thanks. But something is really wrong with the hooks, as the >gcc-cvs mail >> > for the trunk daily bump wasn't sent again (r10, r9 and r8 changes >did). >> >> I think any issue with an email not sent to gcc-cvs should be raised >with >> overseers or postmaster; they'll need to check logs at the exact time >to >> see if the email was ever submitted by the hooks to the MTA (and at >least >> part of the mail sending from the hooks is I think asynchronous so >any >> issues might not be reported back to the git commit command). If it >was >> submitted to the MTA, the problem is with the MTA or mailman. If it >was >> not submitted to the MTA, Joel might be able to advise on how to >> instrument the process of email sending from the hooks to see where >it >> went wrong. > >As I didn't hear from overseers yet and we've seen again multiple >missing >mails, after discussion with Martin Liska we've applied following hack >to log the mail addresses and mail subjects that are being passed to >sendmail.postfix, and a short while ago we got another case of missing >mail. >And it didn't show up in the log file either: >gcc-...@gcc.gnu.org [gcc r11-4793] core: Rename DECL_IS_BUILTIN -> >DECL_IS_UNDECLARED_BUILTIN >gcc-...@gcc.gnu.org [gcc r11-4794] Add PC as control register >gcc-...@gcc.gnu.org [gcc r11-4795] Combine new calculated ranges with >existing range. >gcc-...@gcc.gnu.org [gcc r11-4796] rework PRE PHI translation cache >gcc-...@gcc.gnu.org [gcc r11-4798] c++: Propagate attributes to clones >in duplicate_decls [PR67453] >As you can see, the r11-4797 commit is missing from that list and >didn't >make gcc-cvs either. >But git log certainly shows that commit in between: >commit 556ab5125912fa2233986eb19d6cd995cf7de1d2 >Author: Iain Sandoe <i...@sandoe.co.uk> >Date: Fri Jul 31 21:05:28 2020 +0100 > > Darwin: Darwin 20 is to be macOS 11 (Big Sur). >So, I'm afraid it must fail or bypass this code path somewhere earlier >in the hooks.
Is that maybe already known to the repo when it is on some rebased user branch? Richard. >diff --git a/hooks/post_receive.py b/hooks/post_receive.py >index 3761c00..f368559 100644 >--- a/hooks/post_receive.py >+++ b/hooks/post_receive.py >@@ -16,7 +16,7 @@ from init import init_all_globals > from updates.emails import EmailQueue > from updates.factory import new_update > from utils import debug, warn >- >+import traceback > >def post_receive_one(ref_name, old_rev, new_rev, refs, >submitter_email): > """post-receive treatment for one reference. >@@ -44,8 +44,12 @@ def post_receive_one(ref_name, old_rev, new_rev, >refs, submitter_email): > " old_rev = %s" % old_rev, > " new_rev = %s" % new_rev) > return >- update.send_email_notifications() >- >+ try: >+ update.send_email_notifications() >+ except Exception as e: >+ with open("/tmp/gcc-git-mail.log", "a") as f: >+ f.write(str(e) + '\n') >+ f.write(traceback.format_exc() + '\n') > > def post_receive(updated_refs, submitter_email): > """Implement the post-receive hook for all given updated_refs. >diff --git a/hooks/updates/emails.py b/hooks/updates/emails.py >index 706124c..81f4beb 100644 >--- a/hooks/updates/emails.py >+++ b/hooks/updates/emails.py >@@ -272,6 +272,9 @@ class Email(object): > else: # pragma: no cover (do not want real emails during testing) > sendmail(self.email_info.email_from, email_recipients, > e_msg.as_string(), 'localhost') >+ with open("/tmp/gcc-git-mail.log", "a") as f: >+ f.write(e_msg['To'] + ' ' + e_msg['Subject'] + '\n') >+ f.close() > > if self.filer_cmd is not None: > self.__call_filer_cmd() > > Jakub