Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fresh install ends w/ error JLIB_UPDATER_ERROR_COLLECTION_PARSE_URL #36370

Open
helioloureiro opened this issue Dec 22, 2021 · 15 comments
Open

Comments

@helioloureiro
Copy link

Steps to reproduce the issue

Simple installation for Joomla_4.0.5-Stable-Full_Package.zip.
Selected to proceed with language English US.

Expected result

A clean installation without errors.

Actual result

2021-12-22_14-10
It displays the error JLIB_UPDATER_ERROR_COLLECTION_PARSE_URL.

Buttons are unresponsive and all site crashes after that.
2021-12-22_14-30

Clicking to install additional languages:
2021-12-22_14-31

Trying to access main page after installation gets stuck:
2021-12-22_14-33

Apache errors log:
[Wed Dec 22 13:52:32.655656 2021] [php:warn] [pid 4173326] [client 127.0.0.1:51724] PHP Warning: Trying to access array offset on value of type null in /var/www/loureiro.eng.br/libraries/src/Language/Language.php on line 1054, referer: http://helio2.loureiro.eng.br/installation/index.php?view=remove&layout=default
[Wed Dec 22 13:52:32.655743 2021] [php:warn] [pid 4173326] [client 127.0.0.1:51724] PHP Warning: Trying to access array offset on value of type null in /var/www/loureiro.eng.br/libraries/src/Language/Language.php on line 1085, referer: http://helio2.loureiro.eng.br/installation/index.php?view=remove&layout=default
[Wed Dec 22 13:52:32.658530 2021] [php:warn] [pid 160413] [client 127.0.0.1:51726] PHP Warning: Trying to access array offset on value of type null in /var/www/loureiro.eng.br/libraries/src/Language/Language.php on line 1054, referer: http://helio2.loureiro.eng.br/installation/index.php?view=remove&layout=default
[Wed Dec 22 13:52:32.658556 2021] [php:warn] [pid 160413] [client 127.0.0.1:51726] PHP Warning: Trying to access array offset on value of type null in /var/www/loureiro.eng.br/libraries/src/Language/Language.php on line 1085, referer: http://helio2.loureiro.eng.br/installation/index.php?view=remove&layout=default
[Wed Dec 22 13:52:32.658951 2021] [php:warn] [pid 160413] [client 127.0.0.1:51726] PHP Warning: Trying to access array offset on value of type null in /var/www/loureiro.eng.br/libraries/src/Language/Language.php on line 1054, referer: http://helio2.loureiro.eng.br/installation/index.php?view=remove&layout=default
[Wed Dec 22 13:52:32.658982 2021] [php:warn] [pid 160413] [client 127.0.0.1:51726] PHP Warning: Trying to access array offset on value of type null in /var/www/loureiro.eng.br/libraries/src/Language/Language.php on line 1085, referer: http://helio2.loureiro.eng.br/installation/index.php?view=remove&layout=default

System information (as much as possible)

Browser Firefox 95.0.1.
Client operating system: Ubuntu 21.10.
Server operating system: Ubuntu 21.10.
PHP 8.0.8.
Webserver Apache 2.4.48-3.

Additional comments

Note: helio2.loureiro.eng.br is redirected via /etc/hosts to loopback on 127.0.0.1.
Joomla 3 installation works flawlessly.

@toivo
Copy link
Contributor

toivo commented Dec 23, 2021

According to the first screenshot, PHP does not have Internationalization support (intl) available. Enable it in the server and hopefully that will make a difference.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/36370.

@infograf768
Copy link
Member

@toivo
I am afraid this is not the cause of the issue. Intl and GD are php extensions and J can be installed without them.
The warning is related to parsing the url to get the list of available languages to install from our server as we don't get the language tag and RTL metadata.

$app->getLogger()->warning("Error parsing url: {$this->_url}", array('category' => 'updater'));
$app->enqueueMessage(Text::sprintf('JLIB_UPDATER_ERROR_COLLECTION_PARSE_URL', $this->_url), 'warning');

We would not get the Apache logs posted by the OP if the code was first checking if the metadata exists.

	public function getTag()
	{
		return $this->metadata['tag'];
	}

Same for RTL.

BTW means that the JLIB string should be added to installation language.
JLIB_UPDATER_ERROR_COLLECTION_PARSE_URL="Update: :Collection: Could not parse %s"

As for the class not found, it looks like the OP is trying to load again the installation which has been already deleted.

Therefore it looks like the OP has another problem as not reaching the languages server should not prevent J from installing.

@helioloureiro
Copy link
Author

Someone else pointed me out about the missing libs, which I included and tried again. Same result.

photo_2021-12-23_14-01-35

@helioloureiro
Copy link
Author

Ooops... pasted the wrong picture. The correct one.
2021-12-23_17-48

@helioloureiro
Copy link
Author

And buttons to open site or administator also not working.

2021-12-23_17-52

@teoberi
Copy link

teoberi commented Jan 24, 2022

I have the same installation error regardless of the database used (MariaDB or PostgreSQL). I have tested several times, it is solved after a restart of the web server but I am not sure if the installation is complete.
Installing additional languages does not work from the administration console (System -> Install -> Languages) either, only as an extension (System -> Install -> Extensions).

@jkbavaria
Copy link

Hello!
I have exactly the same problem.
I can install extensions, but not language packages.
What can be the reason for this?

@Hackwar
Copy link
Member

Hackwar commented Mar 27, 2022

The error is thrown when the update site is not reachable due unknown reasons. I'm wondering if the request returns a 200 code, but does not contain any data.

Quy pushed a commit that referenced this issue Apr 2, 2022
Partial PR for #36370
see #36370 (comment)

Co-authored-by: Quy <quy@fluxbb.org>
@jovanhh
Copy link

jovanhh commented Apr 4, 2022

I have the same issue. I installed Joomla 4.12 and PHP 8.1 and received the error message above. Then I removed PHP 8.1 and installed PHP 7.4.
I don't know the reason why, but I can install Joomla 4.12 without any problem. I can also install Japanese Language Pack.

@jliebenow
Copy link

I had the same problem. After I installed php-curl lib in my system, installation is running fine.
Without this lib, Joomla seems to use some internal code to get the language XML file. This code is able to get the XML content from the Joomla server , BUT is somehow adding some strange characters before and after the real XML content. With these strange characters, the XML parser fails, leading to the error above

@teoberi
Copy link

teoberi commented May 3, 2022

Good point, that is it!

@zero-24
Copy link
Contributor

zero-24 commented May 3, 2022

I had the same problem. After I installed php-curl lib in my system, installation is running fine. Without this lib, Joomla seems to use some internal code to get the language XML file. This code is able to get the XML content from the Joomla server , BUT is somehow adding some strange characters before and after the real XML content. With these strange characters, the XML parser fails, leading to the error above

Did you worked out which "strange" character that was? We are in control of that XML so we should be able to sort it out and get rid of that extra strage character

@jliebenow
Copy link

Actually there are from my point of view two problems, when trying to install Joomla without the php-curl lib.

First it takes several minutes, showing the cycling joomla logo before I get the error message.
By the way with 4.1.3 I get now
"Update: :Collection: Could not parse https://update.joomla.org/language/translationlist_4.xml"

May this hanging is because the corresponding TCP connection (where it gets the XML file) stays open for some minutes. And the code in SocketTransport.php is checking for eof

while (!feof($connection))
		{
			$content .= fgets($connection, 4096);
		}

when replacing it with something simular as described in the "User Contributed Notes" of https://www.php.net/manual/de/function.feof.php

while(!feof($connection)) {
	$c = fgets($connection, 4096);
	if($c === false) break;
	$content .= $c;
  }

Then it just hangs for less then 20 second.

For the strange characters before and after the real XML code. I see something like


1bcf
<?xml version="1.0" encoding="utf-8"?>
      ...
</extensionset>

0

@teoberi
Copy link

teoberi commented May 24, 2022

Joomla 4.1.4 finally allows direct installation for language packs. Also, the version update works without the local download of the update package.

@richard67
Copy link
Member

Joomla 4.1.4 finally allows direct installation for language packs. Also, the version update works without the local download of the update package.

@helioloureiro Can you confirm this? Is your issue meanwhile solved so it can be closed?

@Hackwar Hackwar added the bug label Feb 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests