News:

Wondering if this will always be free?  See why free is better.

Main Menu

2.1.4 to 2.1.5 stuck in update loop

Started by Jailer, July 02, 2025, 08:19:28 PM

Previous topic - Next topic

Jailer

So I'm trying to update my forum and not having much luck. When I get to the update page is shows "test successful" for all categories so I hit proceed and after a couple seconds it takes me right back to the install page without installing anything. I also tried manually downloading the 2.1.4-2.1.5 upgrade package and it does the same thing. No errors are being generated, just a loop of the same thing happening every time I try to upgrade.

The nginx server log has this error if it helps.

Stack trace:
#0 /usr/local/www/nginx/Sources/Class-Punycode.php(280): Punycode->preprocess('www.simplemachi...', Array)
#1 /usr/local/www/nginx/Sources/Class-Punycode.php(148): Punycode->decode('www.simplemachi...')
#2 /usr/local/www/nginx/Sources/Subs-Compat.php(493): Punycode->encode('www.simplemachi...')
#3 /usr/local/www/nginx/Sources/Subs.php(8055): idn_to_ascii('www.simplemachi...', 0, 1)
#4 /usr/local/www/nginx/Sources/Subs.php(6135): iri_to_url('https://www.sim...')
#5 /usr/local/www/nginx/Sources/ScheduledTasks.php(1151): fetch_web_data('https://www.sim...')
#6 /usr/local/www/nginx/upgrade.php(1942): scheduled_fetchSMfiles()
#7 /usr/local/www/nginx/upgrade.php(357): DeleteUpgrade()
#8 {main}
  thrown in /usr/local/www/nginx/Sources/Class-Punycode.php on line 537" while reading response header from upstream, client: 79.127.220.244, server: test.mlcnfriends.com, request: "GET /upgrade.php?step=6&substep=0&data=eyJjdXJzdGVwIjo2LCJsYW5nIjoiZW5nbGlzaCIsInJpZCI6MTgyNywicGFzcyI6NDA2NzUsImRlYnVnIjowLCJqcyI6MX0=&ssi=1 HTTP/1.0", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "test.mlcnfriends.com", referrer: "https://test.mlcnfriends.com/upgrade.php?step=6&substep=0&data=eyJjdXJzdGVwIjo2LCJsYW5nIjoiZW5nbGlzaCIsInJpZCI6MTgyNywicGFzcyI6NDUxNDksImRlYnVnIjowLCJqcyI6MX0=&ssi=1"
2025/07/02 19:51:58 [error] 3515#100597: *2094 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function idna_maps_not_std3() in /usr/local/www/nginx/Sources/Class-Punycode.php:537

Any ideas on how to proceed from here?

Oldiesmann

It's a known issue. Just comment out or remove lines 536 and 537 of Sources/Class-Punycode.php

Jailer

Quote from: Oldiesmann on July 02, 2025, 09:59:39 PMIt's a known issue. Just comment out or remove lines 536 and 537 of Sources/Class-Punycode.php

No dice, same behavior.

pimps

Same thing happening to me. Commenting out those lines didn't fix it either.

What worked for me was clearing the cache folder and checking file permissions just to make sure everything could be written properly. Also tried disabling scheduled tasks during the upgrade and that seemed to help a bit.

Still testing things, but maybe that helps. Let me know if you find anything else.

Jailer

Quote from: pimps on July 03, 2025, 01:58:32 AMSame thing happening to me. Commenting out those lines didn't fix it either.

What worked for me was clearing the cache folder and checking file permissions just to make sure everything could be written properly. Also tried disabling scheduled tasks during the upgrade and that seemed to help a bit.

Still testing things, but maybe that helps. Let me know if you find anything else.

Tried all of your suggestions and still no joy. Same thing happens when I try to update.

Aleksi "Lex" Kilpinen

The error is "Call to undefined function idna_maps_not_std3() in /usr/local/www/nginx/Sources/Class-Punycode.php:537"

If you actually comment those lines out, it very much should be impossible for the error to remain the same.
https://github.com/SimpleMachines/SMF/blob/release-2.1/Sources/Class-Punycode.php#L536
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

shawnb61

Did you really start a full upgrade?  That backtrace shows you're running the upgrader...

If so, you likely need to delete all the upgrade*.* files in your forum root.

And make sure you have commented out the two proper lines in Class-Punycode.php.
A question worth asking is born in experience & driven by necessity. - Fripp

Jailer

Quote from: Aleksi "Lex" Kilpinen on July 03, 2025, 11:22:28 AMThe error is "Call to undefined function idna_maps_not_std3() in /usr/local/www/nginx/Sources/Class-Punycode.php:537"

If you actually comment those lines out, it very much should be impossible for the error to remain the same.
https://github.com/SimpleMachines/SMF/blob/release-2.1/Sources/Class-Punycode.php#L536

I have commented out lines 536 and 537 and the failure to update remains, it just doesn't produce an error in the nginx error log now.

Quote from: shawnb61 on July 03, 2025, 02:11:49 PMDid you really start a full upgrade?  That backtrace shows you're running the upgrader...

If so, you likely need to delete all the upgrade*.* files in your forum root.

And make sure you have commented out the two proper lines in Class-Punycode.php.


Not an upgrade, 2.1.4 to 2.1.5 patch. There are no upgrade files in the forum root.

shawnb61

Quote from: Jailer on July 03, 2025, 02:17:40 PMNot an upgrade, 2.1.4 to 2.1.5 patch. There are no upgrade files in the forum root.
Your trace says otherwise - look at lines 6 & 7:

Quote from: Jailer on July 02, 2025, 08:19:28 PMStack trace:
#0 /usr/local/www/nginx/Sources/Class-Punycode.php(280): Punycode->preprocess('www.simplemachi...', Array)
#1 /usr/local/www/nginx/Sources/Class-Punycode.php(148): Punycode->decode('www.simplemachi...')
#2 /usr/local/www/nginx/Sources/Subs-Compat.php(493): Punycode->encode('www.simplemachi...')
#3 /usr/local/www/nginx/Sources/Subs.php(8055): idn_to_ascii('www.simplemachi...', 0, 1)
#4 /usr/local/www/nginx/Sources/Subs.php(6135): iri_to_url('https://www.sim...')
#5 /usr/local/www/nginx/Sources/ScheduledTasks.php(1151): fetch_web_data('https://www.sim...')
#6 /usr/local/www/nginx/upgrade.php(1942): scheduled_fetchSMfiles()
#7 /usr/local/www/nginx/upgrade.php(357): DeleteUpgrade()
#8 {main}
  thrown in /usr/local/www/nginx/Sources/Class-Punycode.php on line 537" while reading response header from upstream, client: 79.127.220.244, server: test.mlcnfriends.com, request: "GET /upgrade.php?step=6&substep=0&data=eyJjdXJzdGVwIjo2LCJsYW5nIjoiZW5nbGlzaCIsInJpZCI6MTgyNywicGFzcyI6NDA2NzUsImRlYnVnIjowLCJqcyI6MX0=&ssi=1 HTTP/1.0", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "test.mlcnfriends.com", referrer: "https://test.mlcnfriends.com/upgrade.php?step=6&substep=0&data=eyJjdXJzdGVwIjo2LCJsYW5nIjoiZW5nbGlzaCIsInJpZCI6MTgyNywicGFzcyI6NDUxNDksImRlYnVnIjowLCJqcyI6MX0=&ssi=1"
2025/07/02 19:51:58 [error] 3515#100597: *2094 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function idna_maps_not_std3() in /usr/local/www/nginx/Sources/Class-Punycode.php:537

Is it possible your host is auto-applying a patch/upgrade?
A question worth asking is born in experience & driven by necessity. - Fripp

Jailer

OK I figured it out. Turns out I had 2 files that weren't writable and I missed the error message at the footer of the page indicating so. So it turns out it was user error. Just got done updating and I'm successfully on 2.1.6 now.

Sorry to waste everyone's time.

Jailer

Quote from: Oldiesmann on July 02, 2025, 09:59:39 PMIt's a known issue. Just comment out or remove lines 536 and 537 of Sources/Class-Punycode.php

I'm glad you posted this. My forum took a nose dive a bit ago and commenting those two lines out brought it back to a functional state.

Are the devs going to release another patch to address this?

Sesquipedalian

Quote from: Jailer on July 07, 2025, 07:47:31 PMAre the devs going to release another patch to address this?

Yes.
I promise you nothing.

Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.

Advertisement: