entityreference patch passes all tests everywhere except on Drupal.org test framework

Created on 21 March 2023, almost 2 years ago
Updated 22 March 2023, over 1 year ago

Problem/Motivation

@joelpittet wrote a new test case for the entityreference module in this issue:
🐛 EntityMalformedException: Missing bundle property error when entity reference selection mode is set to Views: Filter by an entity reference view Fixed

So, I've created a patch to resolve and pass 100% with his test case, however the tests only pass locally when using PHP 8.2.1 however on Drupal.org the 8.2.0 runs always have at least one failure. Same code base, same core version, same module, same patch, the only thing that I see that is different is drupal.org using PHP 8.2.0 instead of 8.2.1

***UPDATE***
I tested this on a docker with PHP 8.2.0, and the same patch passes all tests, so my initial assumptions were incorrect, with that said, we're still trying to figure out why the code is not passing on Drupal.org test framework. Both Joelpittet and I in three different environments get 100% passing results with our patch, but fails on drupal.org. Very strange!
***END UPDATE***

Here's the list of fixes included in PHP 8.2.1:

See failures that occur on PHP 8.2.0, however they succeed on PHP 8.2.1 locally.
https://www.drupal.org/pift-ci-job/2623317

Version 8.2.1
05 Jan 2023

    Core:
        Fixed bug GH-9905 (constant() behaves inconsistent when class is undefined).
        Fixed bug GH-9918 (License information for xxHash is not included in README.REDIST.BINS file).
        Fixed bug GH-9890 (OpenSSL legacy providers not available on Windows).
        Fixed bug GH-9650 (Can't initialize heap: [0x000001e7]).
        Fixed potentially undefined behavior in Windows ftok(3) emulation.
        Fixed GH-9769 (Misleading error message for unpacking of objects).
    Apache:
        Fixed bug GH-9949 (Partial content on incomplete POST request).
    FPM:
        Fixed bug GH-9959 (Solaris port event mechanism is still broken after bug #66694).
        Fixed bug #68207 (Setting fastcgi.error_header can result in a WARNING).
        Fixed bug #80669 (FPM numeric user fails to set groups).
        Fixed bug GH-8517 (Random crash of FPM master process in fpm_stdio_child_said).
    Imap:
        Fixed bug GH-10051 (IMAP: there's no way to check if a IMAP\Connection is still open).
    MBString:
        Fixed bug GH-9535 (The behavior of mb_strcut in mbstring has been changed in PHP8.1).
    Opcache:
        Fixed bug GH-9968 (Segmentation Fault during OPCache Preload).
    OpenSSL:
        Fixed bug GH-9997 (OpenSSL engine clean up segfault).
        Fixed bug GH-9064 (PHP fails to build if openssl was built with --no-ec).
        Fixed bug GH-10000 (OpenSSL test failures when OpenSSL compiled with no-dsa).
    Pcntl:
        Fixed bug GH-9298 (Signal handler called after rshutdown leads to crash).
    PDO_Firebird:
        Fixed bug GH-9971 (Incorrect NUMERIC value returned from PDO_Firebird).
    PDO/SQLite:
        Fixed bug #81740 (PDO::quote() may return unquoted string). (CVE-2022-31631)
    Session:
        Fixed GH-9932 (session name silently fails with . and [).
    SPL:
        Fixed GH-9883 (SplFileObject::__toString() reads next line).
        Fixed GH-10011 (Trampoline autoloader will get reregistered and cannot be unregistered).
    SQLite3:
        Fixed bug #81742 (open_basedir bypass in SQLite3 by using file URI).
    TSRM:
        Fixed Windows shmget() wrt. IPC_PRIVATE.

Steps to reproduce

Download the 7.x-1.7 release of entityreference
install Drupal core 7.95
apply this patch to entityreference
install dependencies:
ctools
views
entity
all latest tagged release versions

run your Drupal site on PHP 8.2.1 or higher
compare test results to the same patch running against 8.2.0 on Drupal.org testbot

Results:
test failure on drupal.org

Test success on local environment.

passes on my local, see screenshot:

 Drupal version                  :  7.95                               
 Site URI                        :  http://default                     
 Database driver                 :  mysql                              
 Database hostname               :  localhost 

Proposed resolution

Upgrade the test runner builds to use a higher minor release of PHP
upgrade 8.2.0 to 8.2.1+
upgrade 8.1.x to the next higher minor release or newer
upgrade 8.0.x to the next higher minor release or newer
upgrade 7.4.x to the next higher minor release or newer
upgrade 7.3.x to the next higher minor release or newer
and so on and so forth for all versions of PHP.

Remaining tasks

Review proposed changes, make the changes.

User interface changes

TBD

API changes

TBD

Data model changes

N/A

🐛 Bug report
Status

Active

Component

Codebase Build

Created by

🇨🇦Canada joseph.olstad

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

Comments & Activities

Production build 0.71.5 2024