Bug 279815 - status reports: ERR_TOO_MANY_REDIRECTS
Summary: status reports: ERR_TOO_MANY_REDIRECTS
Status: Closed FIXED
Alias: None
Product: Documentation
Classification: Unclassified
Component: Website (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Document Engineering Group (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-17 13:01 UTC by Graham Perrin
Modified: 2024-08-27 23:52 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Graham Perrin 2024-06-17 13:01:02 UTC
First observed with a personal bookmark, which I made in 2016: 

<https://www.freebsd.org/news/status/report-2007-07-2007-10.html>

Subsequently observed with links from <https://www.freebsd.org/status/> to, for example: 

- October, 2020 - December, 2020
Comment 1 Graham Perrin 2024-06-17 13:02:07 UTC
% lynx https://www.freebsd.org/status/report-2020-10-2020-12/

Data transfer complete
HTTP/1.1 301 Moved Permanently
Using http://www.freebsd.org/status/report-2020-10-2020-12/
Looking up www.freebsd.org
Making HTTP connection to www.freebsd.org
Sending HTTP request.
HTTP request sent; waiting for response.
HTTP/1.1 301 Moved Permanently
Data transfer complete
HTTP/1.1 301 Moved Permanently
Using https://www.freebsd.org/status/report-2020-10-2020-12/
Looking up www.freebsd.org
Making HTTPS connection to www.freebsd.org
SSL callback:ok, preverify_ok=1, ssl_okay=0
SSL callback:ok, preverify_ok=1, ssl_okay=0
SSL callback:ok, preverify_ok=1, ssl_okay=0
Verified connection to www.freebsd.org (cert=www.freebsd.org)
Certificate issued by: /C=US/O=Let's Encrypt/CN=R3
Secure 256-bit TLSv1.3 (TLS_AES_256_GCM_SHA384) HTTP connection
Sending HTTP request.
HTTP request sent; waiting for response.
HTTP/1.1 301 Moved Permanently
Data transfer complete
HTTP/1.1 301 Moved Permanently
Using https://www.freebsd.org/status/report-2020-10-2020-12.html
Looking up www.freebsd.org
Making HTTPS connection to www.freebsd.org
SSL callback:ok, preverify_ok=1, ssl_okay=0
SSL callback:ok, preverify_ok=1, ssl_okay=0
SSL callback:ok, preverify_ok=1, ssl_okay=0
Verified connection to www.freebsd.org (cert=www.freebsd.org)
Certificate issued by: /C=US/O=Let's Encrypt/CN=R3
Secure 256-bit TLSv1.3 (TLS_AES_256_GCM_SHA384) HTTP connection
Sending HTTP request.
HTTP request sent; waiting for response.
HTTP/1.1 301 Moved Permanently
Data transfer complete
HTTP/1.1 301 Moved Permanently
Using http://www.freebsd.org/status/report-2020-10-2020-12/
Alert!: Redirection limit of 10 URL's reached.

lynx: Can't access startfile https://www.freebsd.org/status/report-2020-10-2020-12/
%
Comment 2 Danilo G. Baio freebsd_committer freebsd_triage 2024-06-18 03:04:08 UTC

The issue is due to Hugo's latest upgrades.
See the details below after building the website:

- gohugo-0.125.6_2,1:

[dbaio:~/FreeBSD/git/doc/website]$ find public/ | grep report-2007-07-2007-10
public/status/report-2007-07-2007-10
public/status/report-2007-07-2007-10/index.html

[dbaio:~/FreeBSD/git/doc/website]$ find public/ | grep report-2020-10-2020-12
public/status/report-2020-10-2020-12
public/status/report-2020-10-2020-12/index.html

- gohugo-0.115.4,1 or gohugo-0.118.2_1,1 

[dbaio:~/FreeBSD/git/doc/website]$ find public/ | grep report-2007-07-2007-10
public/status/report-2007-07-2007-10.html

[dbaio:~/FreeBSD/git/doc/website]$ find public/ | grep report-2020-10-2020-12
public/status/report-2020-10-2020-12.html


The good news is that all reports, both new and old, will follow the same URI schema.

Now, we need to disable the old redirects and implement a new one that does the opposite:
redirect from /news/status/report-2007-07-2007-10.html to /status/report-2007-07-2007-10/.

I'll work on this.

Last weekend, the docs/www jail builders were upgraded to FreeBSD 14.1 and the latest version of Hugo.
Graham, thank you for your prompt report; you noticed and reported the issue very quickly.
Comment 3 Danilo G. Baio freebsd_committer freebsd_triage 2024-06-19 00:57:27 UTC
Well, not so easy.

I've just downgraded Hugo to the previous version in the website builder due to rendering issues with the old status reports, such as duplicated menus.

I believe the issue is related to this:
https://github.com/gohugoio/hugo/issues/11999
Further investigation is needed.

For now, the redirect looping has stopped, but we need to resolve this issue to stay aligned with the upstream version of Hugo.
Comment 4 commit-hook freebsd_committer freebsd_triage 2024-08-27 11:48:36 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/doc/commit/?id=50acb848b64adcc2c5e0f81b0facb3737f26edb4

commit 50acb848b64adcc2c5e0f81b0facb3737f26edb4
Author:     Danilo G. Baio <dbaio@FreeBSD.org>
AuthorDate: 2024-08-27 11:34:41 +0000
Commit:     Danilo G. Baio <dbaio@FreeBSD.org>
CommitDate: 2024-08-27 11:39:42 +0000

    website: Relocate old status reports to the static folder

    The files in question are pure HTML and were not converted to
    Hugo/Asciidoctor formats.  In previous versions of Hugo, these were
    merely treated as assets and were copied to the static folder during the
    build process.

    However, recent versions of Hugo are treating them as page resources,
    similar to our .adoc files.

    Moving these reports to the static folder will not only resolve this
    issue but also allow us to upgrade our build servers to the latest
    version of Hugo.

    PR:             279815

 website/{content/en => static}/status/report-2001-06.html           | 0
 website/{content/en => static}/status/report-2001-07.html           | 0
 website/{content/en => static}/status/report-2001-08.html           | 0
 website/{content/en => static}/status/report-2001-09.html           | 0
 website/{content/en => static}/status/report-2001-11.html           | 0
 website/{content/en => static}/status/report-2001-12-2002-01.html   | 0
 website/{content/en => static}/status/report-2002-02-2002-04.html   | 0
 website/{content/en => static}/status/report-2002-05-2002-06.html   | 0
 website/{content/en => static}/status/report-2002-07-2002-08.html   | 0
 website/{content/en => static}/status/report-2002-09-2002-10.html   | 0
 website/{content/en => static}/status/report-2002-11-2002-12.html   | 0
 website/{content/en => static}/status/report-2003-01-2003-02.html   | 0
 website/{content/en => static}/status/report-2003-03-2003-09.html   | 0
 website/{content/en => static}/status/report-2003-10-2003-12.html   | 0
 website/{content/en => static}/status/report-2004-01-2004-02.html   | 0
 website/{content/en => static}/status/report-2004-03-2004-04.html   | 0
 website/{content/en => static}/status/report-2004-05-2004-06.html   | 0
 website/{content/en => static}/status/report-2004-07-2004-12.html   | 0
 website/{content/en => static}/status/report-2005-01-2005-03.html   | 0
 website/{content/en => static}/status/report-2005-03-2005-06.html   | 0
 website/{content/en => static}/status/report-2005-07-2005-10.html   | 0
 website/{content/en => static}/status/report-2005-10-2005-12.html   | 0
 website/{content/en => static}/status/report-2006-01-2006-03.html   | 0
 website/{content/en => static}/status/report-2006-04-2006-06.html   | 0
 website/{content/en => static}/status/report-2006-06-2006-10.html   | 0
 website/{content/en => static}/status/report-2006-10-2006-12.html   | 0
 website/{content/en => static}/status/report-2007-01-2007-03.html   | 0
 website/{content/en => static}/status/report-2007-04-2007-06.html   | 0
 website/{content/en => static}/status/report-2007-07-2007-10.html   | 0
 website/{content/en => static}/status/report-2007-10-2007-12.html   | 0
 website/{content/en => static}/status/report-2008-01-2008-03.html   | 0
 website/{content/en => static}/status/report-2008-04-2008-06.html   | 0
 website/{content/en => static}/status/report-2008-07-2008-09.html   | 0
 website/{content/en => static}/status/report-2008-10-2008-12.html   | 0
 website/{content/en => static}/status/report-2009-01-2009-03.html   | 0
 website/{content/en => static}/status/report-2009-04-2009-09.html   | 0
 website/{content/en => static}/status/report-2009-10-2009-12.html   | 0
 website/{content/en => static}/status/report-2010-01-2010-03.html   | 0
 website/{content/en => static}/status/report-2010-04-2010-06.html   | 0
 website/{content/en => static}/status/report-2010-07-2010-09.html   | 0
 website/{content/en => static}/status/report-2010-10-2010-12.html   | 0
 website/{content/en => static}/status/report-2011-01-2011-03.html   | 0
 website/{content/en => static}/status/report-2011-04-2011-06.html   | 0
 website/{content/en => static}/status/report-2011-07-2011-09.html   | 0
 website/{content/en => static}/status/report-2011-10-2011-12.html   | 0
 website/{content/en => static}/status/report-2012-01-2012-03.html   | 0
 website/{content/en => static}/status/report-2012-04-2012-06.html   | 0
 website/{content/en => static}/status/report-2012-07-2012-09.html   | 0
 website/{content/en => static}/status/report-2012-10-2012-12.html   | 0
 website/{content/en => static}/status/report-2013-01-2013-03.html   | 0
 website/{content/en => static}/status/report-2013-04-2013-06.html   | 0
 website/{content/en => static}/status/report-2013-05-devsummit.html | 0
 website/{content/en => static}/status/report-2013-07-2013-09.html   | 0
 website/{content/en => static}/status/report-2013-09-devsummit.html | 0
 website/{content/en => static}/status/report-2013-10-2013-12.html   | 0
 website/{content/en => static}/status/report-2014-01-2014-03.html   | 0
 website/{content/en => static}/status/report-2014-04-2014-06.html   | 0
 website/{content/en => static}/status/report-2014-07-2014-09.html   | 0
 website/{content/en => static}/status/report-2014-10-2014-12.html   | 0
 website/{content/en => static}/status/report-2015-01-2015-03.html   | 0
 website/{content/en => static}/status/report-2015-04-2015-06.html   | 0
 website/{content/en => static}/status/report-2015-07-2015-09.html   | 0
 website/{content/en => static}/status/report-2015-10-2015-12.html   | 0
 website/{content/en => static}/status/report-2016-01-2016-03.html   | 0
 website/{content/en => static}/status/report-2016-04-2016-06.html   | 0
 website/{content/en => static}/status/report-2016-07-2016-09.html   | 0
 website/{content/en => static}/status/report-2016-10-2016-12.html   | 0
 website/{content/en => static}/status/report-2017-01-2017-03.html   | 0
 website/{content/en => static}/status/report-2017-04-2017-06.html   | 0
 website/{content/en => static}/status/report-2017-07-2017-09.html   | 0
 website/{content/en => static}/status/report-2017-10-2017-12.html   | 0
 website/{content/en => static}/status/report-2018-01-2018-09.html   | 0
 website/{content/en => static}/status/report-2018-09-2018-12.html   | 0
 website/{content/en => static}/status/report-2019-01-2019-03.html   | 0
 website/{content/en => static}/status/report-2019-04-2019-06.html   | 0
 website/{content/en => static}/status/report-2019-07-2019-09.html   | 0
 website/{content/en => static}/status/report-2019-10-2019-12.html   | 0
 website/{content/en => static}/status/report-2020-01-2020-03.html   | 0
 website/{content/en => static}/status/report-2020-04-2020-06.html   | 0
 website/{content/en => static}/status/report-2020-07-2020-09.html   | 0
 website/{content/en => static}/status/report-2020-10-2020-12.html   | 0
 81 files changed, 0 insertions(+), 0 deletions(-)
Comment 5 Danilo G. Baio freebsd_committer freebsd_triage 2024-08-27 23:52:34 UTC
Our builders have been upgraded:

docs-builder  gohugo-0.125.6_2,1 --> gohugo-0.133.0,1
www-builder   gohugo-0.115.4,1   --> gohugo-0.133.0,1

And this issue has finally been properly fixed. I hope this latest Hugo update doesn't encounter any further issues. =) Thank you for reporting this; your vigilance helps us improve.