Can't download new add-ons and themes

I updated concreteCMS 9.3.1. and now I can’t download new add-ons and themes in the Add Functionality page. When I click the download button in the waiting list, the error below occurs.

Whoops \ Exception \ ErrorException (E_WARNING)
rename(): The first argument to copy() function cannot be a directory

concrete-cms-9.3.1/concrete/src/Marketplace/PackageRepository.php

        $archive->open($output);
        $archive->extractTo($unzipPath);
        $archive->close();
 
        // Delete the temp file
        unlink($output);
 
        if (!file_exists($unzipPath . '/' . $package->handle . '/controller.php')) {
            throw new InvalidPackageException();
        }
 
        // Move the files into place
        $packageDir = DIR_PACKAGES . '/' . $package->handle;
        if ($overwrite && file_exists($packageDir)) {
            if (!rename($packageDir, $packageDir . '.old')) {
                throw new UnableToPlacePackageException();
            }
        }
 
        if (!rename($unzipPath . '/' . $package->handle, $packageDir)) {
            if ($overwrite) {
                rename($packageDir . '.old', $packageDir);
            }
            throw new UnableToPlacePackageException();
        }
 
        $this->rimraf($package->handle . '.old');
        rmdir($unzipPath);
    }
 
    protected function rimraf(string $handle)
    {
        // Make sure we're working with a valid dir
        if (!DIR_PACKAGES || !$handle || substr($handle, -4) !== '.old') {
            trigger_error('Invalid handle provided to delete.');
        }
 
        $path = DIR_PACKAGES . '/' . $handle;
 
        if (is_file($path)) {

Arguments

  1. β€œrename(): The first argument to copy() function cannot be a directory”

Environment & details:

Concrete CMS

Version β€œ9.3.1”
Installed Version β€œ9.3.1”
Database Version β€œ20240515173142”

PHP

Version β€œ8.2.19”
Extensions array:56 [:arrow_forward:]

Concrete Configuration

concrete array:56 [:arrow_forward:]
app array:20 [:arrow_forward:]

GET Data empty

POST Data empty

Files empty

Cookies

dashboardPanelStatus β€œ****”
CONCRETE β€œ**************************”
CONCRETE_LOGIN β€œ*”

Session

_sf2_attributes array:14 [:arrow_forward:]
_symfony_flashes
_sf2_meta array:3 [:arrow_forward:]

Server/Request Data

PATH β€œ****************************”
HTTP_ACCEPT β€œ***************************************************************************************************************************************”
HTTP_ACCEPT_ENCODING β€œ***********************”
HTTP_ACCEPT_LANGUAGE β€œ***********************”
HTTP_COOKIE β€œ********************************************************************************”
HTTP_HOST β€œ**********”
HTTP_USER_AGENT β€œ*********************************************************************************************************************”
HTTP_CACHE_CONTROL β€œ*********”
HTTP_X_FORWARDED_FOR β€œ**************”
HTTP_REMOTE_ADDR β€œ**************”
HTTP_X_FORWARDED_HOST β€œ**********”
HTTP_X_FORWARDED_PROTO β€œ*****”
HTTP_X_BACKEND β€œ**********************”
HTTP_SEC_CH_UA β€œ*****************************************************************”
HTTP_SEC_CH_UA_MOBILE β€œ**”
HTTP_SEC_CH_UA_PLATFORM β€œ*******”
HTTP_UPGRADE_INSECURE_REQUESTS β€œ*”
HTTP_SEC_FETCH_SITE β€œ****”
HTTP_SEC_FETCH_MODE β€œ********”
HTTP_SEC_FETCH_USER β€œ**”
HTTP_SEC_FETCH_DEST β€œ********”
HTTP_DNT β€œ*”
HTTP_PRIORITY β€œ******”
DOCUMENT_ROOT β€œ***********************************************************”
REMOTE_ADDR β€œ**************”
REMOTE_PORT β€œ*****”
SERVER_ADDR β€œ************”
SERVER_NAME β€œ**********”
SERVER_ADMIN β€œβ€
SERVER_PORT β€œ***”
REQUEST_SCHEME β€œ*****”
REQUEST_URI β€œ*********************************************************************************”
PATH_INFO β€œ***********************************************************************”
PATH_TRANSLATED β€œ**********************************************************************************************************************************”
PROXY_REMOTE_ADDR β€œ************”
HTTPS β€œ**”
SSL_PROTOCOL β€œ*******”
SSL_CIPHER β€œ***************************”
SSL_CIPHER_USEKEYSIZE β€œ***”
SSL_CIPHER_ALGKEYSIZE β€œ***”
SCRIPT_FILENAME β€œ*********************************************************************”
QUERY_STRING β€œβ€
SCRIPT_URI β€œ***************************************************************************************************”
SCRIPT_URL β€œ*********************************************************************************”
SCRIPT_NAME β€œ**********”
SERVER_PROTOCOL β€œ********”
SERVER_SOFTWARE β€œ*********”
REQUEST_METHOD β€œ***”
X-LSCACHE β€œ**********************”
PHP_SELF β€œ*********************************************************************************”
REQUEST_TIME_FLOAT β€œ***”
REQUEST_TIME β€œ***”

Environment Variables empty

Registered Handlers

  1. Concrete\Core\Error\Handler\ErrorHandler

  2. Concrete\Core\Error\Handler\JsonErrorHandler

Anyone can solve it?

I have the same problem with 9.31. upgraded from 8.5.17 cannot download any theme or addon from marketplace.

Did you find a fix?

I’ve also got the same issue after upgrading from 9.2.9 to 9.3.1.

I noticed that 9.3.1 was available for download, but it wasn’t being pushed via the auto updater in the admin area of the site.

I went a head and downloaded the new update, unzipped it, moved it into the updates directory and then performed the update via the admin interface in concrete.

Seemed to go smoothly except that attempting to install addons from the new marketplace result in the problem outlined in this thread.

I just found the github issue for this problem:

The problem has been fixed in version 9.3.2.

9.3.2 has been released and should solve this problem: GitHub - concretecms/concretecms at 9.3.2

1 Like

I’m running 9.3.3 and I cannot access the repository I get an error list the length of my arm…

Concrete\Core\Marketplace\PackageRepository::validate(): Argument #1 ($connection) must be of type Concrete\Core\Marketplace\ConnectionInterface, null given, called in /home8/allianc2/public_html/concrete/src/Page/Controller/MarketplaceDashboardPageController.php on line 23

I did figure this out. The basic introduction video by Concrete skips over entirely the need to link your site to the repository. If your getting an error msg when you try to access the Marketplace go to β€œSystem & Settings” then click β€œMarketplace” under the β€œBasics” Column.

1 Like