Cannot access offset of type Drupal\Core\StringTranslation\TranslatableMarkup in isset or empty in Drupal\update\ProjectCoreCompatibility->getPossibleCoreUpdateVersions

Created on 12 August 2024, 4 months ago

Problem/Motivation

I try to install drupal but i get this error at the end of user interface installation process.
Drupal 10.3.2
PHP 8.3

Cannot access offset of type Drupal\Core\StringTranslation\TranslatableMarkup in isset or empty in Drupal\update\ProjectCoreCompatibility->getPossibleCoreUpdateVersions() (line 83 of core/modules/update/src/ProjectCoreCompatibility.php).

Drupal\update\ProjectCoreCompatibility->getPossibleCoreUpdateVersions(Array, Array) (Line: 67)
Drupal\update\ProjectCoreCompatibility->__construct(Array, Array, Array) (Line: 107)
update_calculate_project_data(Array) (Line: 40)
update_requirements('runtime') (Line: 22)
_update_cron_notify() (Line: 193)
update_cron() (Line: 335)
Drupal\Core\Cron->Drupal\Core\{closure}(Object, 'update') (Line: 395)
Drupal\Core\Extension\ModuleHandler->invokeAllWith('cron', Object) (Line: 318)
Drupal\Core\Cron->invokeCronHandlers() (Line: 159)
Drupal\Core\Cron->run() (Line: 75)
Drupal\Core\ProxyClass\Cron->run() (Line: 1899)
install_finished(Array) (Line: 697)
install_run_task(Array, Array) (Line: 574)
install_run_tasks(Array, NULL) (Line: 122)
install_drupal(Object) (Line: 48)

Steps to reproduce

Install drupal

🐛 Bug report
Status

Active

Version

10.3

Component
Install 

Last updated about 18 hours ago

No maintainer
Created by

🇮🇹Italy trickfun

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @trickfun
  • Status changed to Postponed: needs info 4 months ago
  • Is that Drupal patched, changed, or modified in any way?

  • 🇮🇹Italy trickfun

    No patch, no changed.
    Thank you

  • 🇮🇹Italy trickfun

    The value of getPossibleCoreUpdateVersions function parameters:
    I don't know if $this->existingCoreVersion value is right.

    I hope can help
    Thank you

  • 🇫🇷France dqd London | N.Y.C | Paris | Hamburg | Berlin

    We have a flood of such issues at the moment on d.org issues. Can you please add more info? For example: on which system/distro, server, drupal installation profile, etc. And last but not least: if it is still the case or is it fixed in your case? And when it is fixed, why, how? That would help a lot, because it seems we have a ghost in the shell here with these type of errors atm.

  • 🇮🇹Italy trickfun

    debian 12
    docker image
    php 8.3
    redis

    [PHP]
    
    ; PHP: engine
    engine = On
    
    ; PHP: short tag
    short_open_tag = On
    
    ; PHP: precision of floating point numbers
    precision = 14
    
    ; PHP: output buffering
    output_buffering = 4096
    
    ; PHP: transparent output compression using the zlib library
    zlib.output_compression = Off
    
    ; PHP: implicit flush
    implicit_flush = Off
    
    ; PHP: unserialize callback function
    unserialize_callback_func =
    
    ; PHP: serialize precision
    serialize_precision = -1
    
    ; PHP: disabled functions
    disable_functions =
    
    ; PHP: disabled class
    disable_classes =
    
    ; PHP: circular reference collector
    zend.enable_gc = On
    
    ; PHP: arguments from stack traces generated for exceptions
    zend.exception_ignore_args = Off
    
    ; PHP: expose the version of php in the header
    expose_php = Off
    
    ; PHP: max execution time of each script ( in seconds )
    max_execution_time = 360
    
    ; PHP: max amount of time each script may spend parsing request data ( in seconds )
    max_input_time = -1
    
    ; PHP: GET/POST/COOKIE input variables accepted
    max_input_vars = 3280
    
    ; PHP: max amount of memory
    memory_limit = 1024M
    
    ; PHP: error reporting
    error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
    
    ; PHP: display errors
    display_errors = Off
    
    ; PHP: display startup errors
    display_startup_errors = Off
    
    ; PHP: log errors
    log_errors = On
    
    ; PHP: log path
    error_log = /enviro/logs/php/php.log
    
    ; PHP: max length of errors
    log_errors_max_len = 1024
    
    ; PHP: log repeated messages
    ignore_repeated_errors = Off
    
    ; PHP: ignore repeated source code
    ignore_repeated_source = Off
    
    ; PHP: report memleaks
    report_memleaks = On
    
    ; PHP: variables order
    variables_order = "GPCS"
    
    ; PHP: request order
    request_order = "GP"
    
    ; PHP: registers $argv & $argc each time it runs.
    register_argc_argv = Off
    
    ; PHP: auto globals jit
    auto_globals_jit = On
    
    ; PHP: max size of POST data
    post_max_size = 1024M
    
    ; PHP: automatically add files before PHP document
    auto_prepend_file =
    
    ; PHP: automatically add files after PHP document
    auto_append_file =
    
    ; PHP: default mime type
    default_mimetype = "text/html"
    
    ; PHP: default character set
    default_charset = "UTF-8"
    
    ; PHP: root folder
    doc_root =
    
    ; PHP: user folder
    user_dir =
    
    ; PHP: enable dl() function
    enable_dl = Off
    
    ; PHP: CGI fix pathinfo
    cgi.fix_pathinfo=0
    
    ; PHP: file uploads
    file_uploads = On
    
    ; PHP: file upload max size
    upload_max_filesize = 256M
    
    ; PHP: max number of files that can be uploaded via a single request
    max_file_uploads = 20
    
    ; PHP: allow url fopen
    allow_url_fopen = On
    
    ; PHP: allow url include
    allow_url_include = Off
    
    ; PHP: default timeout for socket based streams ( in seconds )
    default_socket_timeout = 360
    
    ; PHP: extension Imagick
    extension = imagick.so
    
    ; PHP: extension Igbinary
    extension = igbinary.so
    session.serialize_handler = igbinary
    igbinary.compact_strings = On
    apc.serializer = igbinary
    
    ; PHP: extension Msgpack
    extension = msgpack.so
    
    ; PHP: extension APCu
    extension = apcu.so
    
    ; PHP: extension Redis
    extension = redis.so
    
    ; PHP: extension Memcached
    extension = memcached.so
    
    ; PHP: extension Uploadprogress
    extension = uploadprogress.so
    
    ; PHP: extension MaxMindDB
    extension = maxminddb.so
    
    ; PHP: extension Zend OPcache
    zend_extension = opcache.so
    
    
    [CLI Server]
    
    ; CLI Server: CLI web server uses ANSI color coding in its terminal output
    cli_server.color = On
    
    
    [Date]
    
    ; Date: timezone used by the date functions
    date.timezone = "Europe/Rome"
    
    
    [Pdo_mysql]
    
    ; Pdo_mysql: default socket name for local MySQL connects
    pdo_mysql.default_socket=
    
    ; Pdo_mysql: add X-PHP-Originating-Script: that will include uid of the script followed by the filename
    mail.add_x_header = Off
    
    
    [ODBC]
    
    ; ODBC: allow or prevent persistent links
    odbc.allow_persistent = On
    
    ; ODBC: check that a connection is still valid before reuse
    odbc.check_persistent = On
    
    ; ODBC: max number of persistent links
    odbc.max_persistent = -1
    
    ; ODBC: max number of links ( persistent + non-persistent )
    odbc.max_links = -1
    
    ; ODBC: handling of LONG fields
    odbc.defaultlrl = 4096
    
    ; ODBC: Handling of binary data
    odbc.defaultbinmode = 1
    
    
    [MySQLi]
    
    ; MySQLi: max number of persistent links
    mysqli.max_persistent = -1
    
    ; MySQLi: allow or prevent persistent links
    mysqli.allow_persistent = On
    
    ; MySQLi: max number of links
    mysqli.max_links = -1
    
    ; MySQLi: default port number for mysqli_connect()
    mysqli.default_port = 3306
    
    ; MySQLi: default socket name for local MySQL connects
    mysqli.default_socket =
    
    ; MySQLi: default host for mysqli_connect()
    mysqli.default_host =
    
    ; MySQLi: default user for mysqli_connect()
    mysqli.default_user =
    
    ; MySQLi: default password for mysqli_connect()
    mysqli.default_pw =
    
    ; MySQLi: allow or prevent reconnect
    mysqli.reconnect = Off
    
    
    [mysqlnd]
    
    ; Mysqlnd: collect statistics
    mysqlnd.collect_statistics = On
    
    ; Mysqlnd: collect memory usage statistics
    mysqlnd.collect_memory_statistics = On
    
    
    [PostgreSQL]
    
    ; PostgreSQL: persistent links
    pgsql.allow_persistent = On
    
    ; PostgreSQL: detect broken persistent links always with pg_pconnect()
    pgsql.auto_reset_persistent = Off
    
    ; PostgreSQL: max number of persistent links
    pgsql.max_persistent = -1
    
    ; PostgreSQL: max number of links ( persistent + non persistent )
    pgsql.max_links = -1
    
    ; PostgreSQL: ignore backends notice message
    pgsql.ignore_notice = 0
    
    ; PostgreSQL: log backends notice message
    pgsql.log_notice = 0
    
    
    [bcmath]
    
    ; Bcmath: number of decimal digits for all functions
    bcmath.scale = 0
    
    
    [Session]
    
    ; Session: save handler
    session.save_handler = files
    
    ; Session: save path
    session.save_path = "/enviro/tmp"
    
    ; Session: strict mode
    session.use_strict_mode = 0
    
    ; Session: use cookie
    session.use_cookies = 1
    
    ; Session: use only cookies
    session.use_only_cookies = 1
    
    ; Session: name
    session.name = PHPSESSID
    
    ; Session: auto start up
    session.auto_start = 0
    
    ; Session: lifetime
    session.cookie_lifetime = 0
    
    ; Session: cookie path
    session.cookie_path = /
    
    ; Session: cookie domain
    session.cookie_domain =
    
    ; Session: http only
    session.cookie_httponly =
    
    ; Session: cookie same site
    session.cookie_samesite =
    
    ; Session: serialize handler
    session.serialize_handler = php
    
    ; Session: garbage collection probability
    session.gc_probability = 1
    
    ; Session: garbage collection divisor
    session.gc_divisor = 1000
    
    ; Session: garbage collection max lifetime
    session.gc_maxlifetime = 1440
    
    ; Session: referer check
    session.referer_check =
    
    ; Session: cache limiter
    session.cache_limiter = nocache
    
    ; Session: cache expire ( in minutes )
    session.cache_expire = 180
    
    ; Session: use trans sid
    session.use_trans_sid = 0
    
    ; Session: sid length
    session.sid_length = 26
    
    ; Session: trans sid tags
    session.trans_sid_tags = "a=href,area=href,frame=src,form="
    
    ; Session: sid bits per character
    session.sid_bits_per_character = 5
    
    
    [Assertion]
    
    ; Zend: assertions
    zend.assertions = 1
    
    
    [Tidy]
    
    ; Tidy: clean output
    tidy.clean_output = Off
    
    
    [soap]
    
    ; Soap: cache enabled
    soap.wsdl_cache_enabled = 1
    
    ; Soap: chache folder
    soap.wsdl_cache_dir = "/tmp"
    
    ; Soap: chache ttl
    soap.wsdl_cache_ttl = 86400
    
    ; Soap: chache limit
    soap.wsdl_cache_limit = 5
    
    
    [ldap]
    
    ; Ldap: max number of open links
    ldap.max_links = -1
    
    
    [opcache]
    
    ; Zend OPCache: enabled
    opcache.enable = 0
    
    ; Zend OPCache: CLI enabled
    opcache.enable_cli = 0
    
    ; Zend OPCache: jit buffer size
    opcache.jit_buffer_size = 128M
    
    ; Zend OPCache: jit
    opcache.jit = 1205
    
    ; Zend OPCache: revalidate frequency
    opcache.revalidate_freq = 0
    
    ; Zend OPCache: validate timestamp
    opcache.validate_timestamps = 0
    
    ; Zend OPCache: max accelerated files
    opcache.max_accelerated_files = 10000
    
    ; Zend OPCache: shared memory storage size
    opcache.memory_consumption = 384
    
    ; Zend OPCache: max percentage of "wasted" memory until a restart is scheduled
    opcache.max_wasted_percentage = 10
    
    ; Zend OPCache: amount of memory for interned strings ( in mbytes )
    opcache.interned_strings_buffer = 16
    
    ; Zend OPCache: fast shutdown
    opcache.fast_shutdown = 1
    
    
  • seeing a fair number of these at links from /admin. e.g., @ https://example.com/admin/config

    similar as above,
    ```
    The website encountered an unexpected error. Try again later.

    TypeError: Cannot access offset of type Drupal\Core\StringTranslation\TranslatableMarkup in isset or empty in Drupal\update\ProjectCoreCompatibility->getPossibleCoreUpdateVersions() (line 83 of core/modules/update/src/ProjectCoreCompatibility.php).

    Drupal\update\ProjectCoreCompatibility->__construct(Array, Array, Array) (Line: 107)
    update_calculate_project_data(Array) (Line: 40)
    update_requirements('runtime')
    call_user_func_array(Object, Array) (Line: 416)
    Drupal\Core\Extension\ModuleHandler->{closure:Drupal\Core\Extension\ModuleHandler::invokeAll():415}(Object, 'update') (Line: 395)
    ...
    ```

    @dqd, it's "still the case" ... on a locally managed instance,
    ```
    distro
    Name: Fedora Linux 41 (Forty One)
    Version: 41
    Codename:

    nginx -v
    nginx version: nginx/1.27.3 (local build)

    php -v
    PHP 8.4.1 (cli) (built: Nov 20 2024 09:48:35) (NTS gcc x86_64)
    Copyright (c) The PHP Group
    Built by Remi's RPM repository #StandWithUkraine
    Zend Engine v4.4.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.1, Copyright (c), by Zend Technologies
    with Xdebug v3.4.0, Copyright (c) 2002-2024, by Derick Rethans
    ```

    here, it's Drupal 11, composer installed, drush site-installed & managed
    ```
    drush status
    Drupal version : 11.0.9
    Site URI : http://default
    DB driver : mysql
    DB port :
    DB username : my_user
    DB name : mysite_drupal
    Database : Connected
    Drupal bootstrap : Successful
    Default theme : olivero
    Admin theme : claro
    PHP binary : /usr/bin/php
    PHP config : /usr/local/etc/php8/php.ini
    PHP OS : Linux
    PHP version : 8.4.1
    Drush script : /srv/my.app/vendor/bin/drush.php
    Drush version : 13.3.3.0
    Drush temp : /tmp
    Drush configs : /srv/my.app/vendor/drush/drush/drush.yml
    Install profile : standard
    Drupal root : /srv/my.app/web
    Site path : sites/default
    Files, Public : sites/default/files
    Files, Private : /srv/drupal/private
    Files, Temp : /tmp/drupal/mysite
    ```

  • i'm seeing a fair number of these as well at links from /admin. e.g., @ https://example.com/admin/config

    similar as above,

    The website encountered an unexpected error. Try again later.
    
    TypeError: Cannot access offset of type Drupal\Core\StringTranslation\TranslatableMarkup in isset or empty in Drupal\update\ProjectCoreCompatibility->getPossibleCoreUpdateVersions() (line 83 of core/modules/update/src/ProjectCoreCompatibility.php).
    
    Drupal\update\ProjectCoreCompatibility->__construct(Array, Array, Array) (Line: 107)
    update_calculate_project_data(Array) (Line: 40)
    update_requirements('runtime')
    call_user_func_array(Object, Array) (Line: 416)
    Drupal\Core\Extension\ModuleHandler->{closure:Drupal\Core\Extension\ModuleHandler::invokeAll():415}(Object, 'update') (Line: 395)
    ...
    

    @dqd, it's "still the case" ... on a locally managed instance,

    distro
    	Name: Fedora Linux 41 (Forty One)
    	Version: 41
    	Codename:
    
    nginx -v
    	nginx version: nginx/1.27.3 (local build)
    
    php -v
    	PHP 8.4.1 (cli) (built: Nov 20 2024 09:48:35) (NTS gcc x86_64)
    	Copyright (c) The PHP Group
    	Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine
    	Zend Engine v4.4.1, Copyright (c) Zend Technologies
    	    with Zend OPcache v8.4.1, Copyright (c), by Zend Technologies
    	    with Xdebug v3.4.0, Copyright (c) 2002-2024, by Derick Rethans
    

    here, it's Drupal 11, composer installed, drush site-installed & managed

    drush status
    	Drupal version   : 11.0.9
    	Site URI         : http://default
    	DB driver        : mysql
    	DB port          :
    	DB username      : my_user
    	DB name          : mysite_drupal
    	Database         : Connected
    	Drupal bootstrap : Successful
    	Default theme    : olivero
    	Admin theme      : claro
    	PHP binary       : /usr/bin/php
    	PHP config       : /usr/local/etc/php8/php.ini
    	PHP OS           : Linux
    	PHP version      : 8.4.1
    	Drush script     : /srv/my.app/vendor/bin/drush.php
    	Drush version    : 13.3.3.0
    	Drush temp       : /tmp
    	Drush configs    : /srv/my.app/vendor/drush/drush/drush.yml
    	Install profile  : standard
    	Drupal root      : /srv/my.app/web
    	Site path        : sites/default
    	Files, Public    : sites/default/files
    	Files, Private   : /srv/drupal/private
    	Files, Temp      : /tmp/drupal/mysite
    
  • i'm seeing a fair number of these at links from /admin. e.g., @ https://example.com/admin/config

    similar as above,

    The website encountered an unexpected error. Try again later.
    
    TypeError: Cannot access offset of type Drupal\Core\StringTranslation\TranslatableMarkup in isset or empty in Drupal\update\ProjectCoreCompatibility->getPossibleCoreUpdateVersions() (line 83 of core/modules/update/src/ProjectCoreCompatibility.php).
    
    Drupal\update\ProjectCoreCompatibility->__construct(Array, Array, Array) (Line: 107)
    update_calculate_project_data(Array) (Line: 40)
    update_requirements('runtime')
    call_user_func_array(Object, Array) (Line: 416)
    Drupal\Core\Extension\ModuleHandler->{closure:Drupal\Core\Extension\ModuleHandler::invokeAll():415}(Object, 'update') (Line: 395)
    ...
    

    @dqd, it's "still the case" ... on a locally managed instance,

    distro
    	Name: Fedora Linux 41 (Forty One)
    	Version: 41
    	Codename:
    
    nginx -v
    	nginx version: nginx/1.27.3 (local build)
    
    php -v
    	PHP 8.4.1 (cli) (built: Nov 20 2024 09:48:35) (NTS gcc x86_64)
    	Copyright (c) The PHP Group
    	Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine
    	Zend Engine v4.4.1, Copyright (c) Zend Technologies
    	    with Zend OPcache v8.4.1, Copyright (c), by Zend Technologies
    	    with Xdebug v3.4.0, Copyright (c) 2002-2024, by Derick Rethans
    

    here, it's Drupal 11, composer installed, drush site-installed & managed

    drush status
    	Drupal version   : 11.0.9
    	Site URI         : http://default
    	DB driver        : mysql
    	DB port          :
    	DB username      : my_user
    	DB name          : mysite_drupal
    	Database         : Connected
    	Drupal bootstrap : Successful
    	Default theme    : olivero
    	Admin theme      : claro
    	PHP binary       : /usr/bin/php
    	PHP config       : /usr/local/etc/php8/php.ini
    	PHP OS           : Linux
    	PHP version      : 8.4.1
    	Drush script     : /srv/my.app/vendor/bin/drush.php
    	Drush version    : 13.3.3.0
    	Drush temp       : /tmp
    	Drush configs    : /srv/my.app/vendor/drush/drush/drush.yml
    	Install profile  : standard
    	Drupal root      : /srv/my.app/web
    	Site path        : sites/default
    	Files, Public    : sites/default/files
    	Files, Private   : /srv/drupal/private
    	Files, Temp      : /tmp/drupal/mysite
    
  • I am closing this as a duplicate of 🐛 fatal error on `update` module enable on composer-managed D11.1.0 instance Active , which has more and better information.

Production build 0.71.5 2024