mirror of
https://github.com/danog/jit_bugs.git
synced 2024-11-26 12:04:52 +01:00
Fixes
This commit is contained in:
parent
667be01cc2
commit
14561fd8e1
@ -28,9 +28,9 @@ RUN true \
|
|||||||
pkg-config autoconf bison re2c \
|
pkg-config autoconf bison re2c \
|
||||||
libxml2-dev libsqlite3-dev \
|
libxml2-dev libsqlite3-dev \
|
||||||
systemtap-sdt-dev libssl-dev \
|
systemtap-sdt-dev libssl-dev \
|
||||||
libpcre2-dev libargon2-dev libedit-dev libsodium-dev llvm-16 libonig-dev \
|
libpcre2-dev libargon2-dev libedit-dev libsodium-dev llvm-16 libonig-dev
|
||||||
\
|
|
||||||
&& git clone --depth 1 https://github.com/php/php-src -b PHP-8.1 && cd php-src \
|
RUN git clone https://github.com/php/php-src -b master && cd php-src \
|
||||||
\
|
\
|
||||||
&& ./buildconf \
|
&& ./buildconf \
|
||||||
&& ./configure --prefix=/usr \
|
&& ./configure --prefix=/usr \
|
||||||
@ -61,7 +61,10 @@ ADD php.ini /etc/php/php.ini
|
|||||||
RUN php -r "readfile('https://getcomposer.org/installer');" | php \
|
RUN php -r "readfile('https://getcomposer.org/installer');" | php \
|
||||||
&& mv composer.phar /usr/bin/composer
|
&& mv composer.phar /usr/bin/composer
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory /app
|
||||||
|
|
||||||
ENV USE_ZEND_ALLOC=0
|
ENV USE_ZEND_ALLOC=0
|
||||||
ENV PSALM_ALLOW_XDEBUG=1
|
ENV PSALM_ALLOW_XDEBUG=1
|
||||||
|
ENV ASAN_OPTIONS="detect_leaks=0:exitcode=139"
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
wrap=$PWD/bugs/wrap.php
|
||||||
standalone=$PWD/bugs/1_infection.php
|
standalone=$PWD/bugs/1_infection.php
|
||||||
|
|
||||||
cd /tmp
|
cd /tmp
|
||||||
@ -14,19 +15,24 @@ cd infection
|
|||||||
composer i --ignore-platform-reqs
|
composer i --ignore-platform-reqs
|
||||||
|
|
||||||
cp $standalone .
|
cp $standalone .
|
||||||
|
cp $wrap .
|
||||||
|
|
||||||
echo "About to run the standalone test"
|
echo "About to run the standalone test"
|
||||||
|
|
||||||
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/1_infection.php
|
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/wrap.php /app/1_infection.php
|
||||||
|
|
||||||
echo "About to run the testsuite"
|
echo "About to run the testsuite"
|
||||||
|
|
||||||
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php vendor/bin/phpunit
|
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/wrap.php vendor/bin/phpunit || EXIT_CODE=$?
|
||||||
|
|
||||||
|
if [ $EXIT_CODE -gt 128 ]; then
|
||||||
|
exit $EXIT_CODE
|
||||||
|
fi
|
||||||
|
|
||||||
echo "About to run composer"
|
echo "About to run composer"
|
||||||
|
|
||||||
rm -rf vendor
|
rm -rf vendor
|
||||||
|
|
||||||
docker run -v $PWD:/app --rm --privileged -it asan_tests composer update
|
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/wrap.php /usr/bin/composer update
|
||||||
|
|
||||||
echo "OK, no bugs!"
|
echo "OK, no bugs!"
|
@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
standalone=$PWD/bugs/wrap.php
|
||||||
|
|
||||||
cd /tmp
|
cd /tmp
|
||||||
|
|
||||||
rm -rf psalm
|
rm -rf psalm
|
||||||
@ -12,18 +14,20 @@ git branch -D master || true
|
|||||||
git branch master
|
git branch master
|
||||||
git checkout master
|
git checkout master
|
||||||
|
|
||||||
|
cp $standalone .
|
||||||
|
|
||||||
export PSALM_ALLOW_XDEBUG=1
|
export PSALM_ALLOW_XDEBUG=1
|
||||||
|
|
||||||
composer i --ignore-platform-reqs
|
composer i --ignore-platform-reqs
|
||||||
|
|
||||||
echo "About to run phpunit"
|
echo "About to run phpunit"
|
||||||
|
|
||||||
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/vendor/bin/phpunit --debug tests/MagicMethodAnnotationTest.php
|
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/wrap.php /app/vendor/bin/phpunit --debug tests/MagicMethodAnnotationTest.php
|
||||||
|
|
||||||
echo "About to run composer"
|
echo "About to run composer"
|
||||||
|
|
||||||
rm -rf vendor
|
rm -rf vendor
|
||||||
|
|
||||||
docker run -v $PWD:/app --rm --privileged -it asan_tests composer update
|
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/wrap.php /usr/bin/composer update
|
||||||
|
|
||||||
echo "OK, no bugs!"
|
echo "OK, no bugs!"
|
@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
standalone=$PWD/bugs/wrap.php
|
||||||
|
|
||||||
cd /tmp
|
cd /tmp
|
||||||
|
|
||||||
rm -rf psalm_3
|
rm -rf psalm_3
|
||||||
@ -14,16 +16,18 @@ git checkout master
|
|||||||
|
|
||||||
export PSALM_ALLOW_XDEBUG=1
|
export PSALM_ALLOW_XDEBUG=1
|
||||||
|
|
||||||
|
cp $standalone .
|
||||||
|
|
||||||
composer i --ignore-platform-reqs
|
composer i --ignore-platform-reqs
|
||||||
|
|
||||||
echo "About to run psalm"
|
echo "About to run psalm"
|
||||||
|
|
||||||
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/psalm --no-cache
|
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/wrap.php /app/psalm --no-cache
|
||||||
|
|
||||||
echo "About to run composer"
|
echo "About to run composer"
|
||||||
|
|
||||||
rm -rf vendor
|
rm -rf vendor
|
||||||
|
|
||||||
docker run -v $PWD:/app --rm --privileged -it asan_tests composer update
|
docker run -v $PWD:/app --rm --privileged -it asan_tests /usr/bin/php /app/wrap.php /usr/bin/composer update
|
||||||
|
|
||||||
echo "OK, no bugs!"
|
echo "OK, no bugs!"
|
30
bugs/wrap.php
Normal file
30
bugs/wrap.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
register_shutdown_function(function () {
|
||||||
|
$status = opcache_get_status(false);
|
||||||
|
var_dump($status);
|
||||||
|
|
||||||
|
if ($status["memory_usage"]["free_memory"] < 10*1024*1024) {
|
||||||
|
echo "Not enough free opcache memory!".PHP_EOL;
|
||||||
|
}
|
||||||
|
if ($status["interned_strings_usage"]["free_memory"] < 1*1024*1024) {
|
||||||
|
echo "Not enough free interned strings memory!".PHP_EOL;
|
||||||
|
}
|
||||||
|
if ($status["jit"]["buffer_free"] < 10*1024*1024) {
|
||||||
|
echo "Not enough free JIT memory!".PHP_EOL;
|
||||||
|
}
|
||||||
|
if (!$status["jit"]["on"]) {
|
||||||
|
echo "JIT is not enabled!".PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
|
unset($status);
|
||||||
|
gc_collect_cycles();
|
||||||
|
});
|
||||||
|
|
||||||
|
$argc--;
|
||||||
|
array_shift($argv);
|
||||||
|
|
||||||
|
$_SERVER['argc']--;
|
||||||
|
array_shift($_SERVER['argv']);
|
||||||
|
|
||||||
|
require $argv[0];
|
2
php.ini
2
php.ini
@ -14,8 +14,6 @@ opcache.file_update_protection=0
|
|||||||
opcache.max_accelerated_files=1000000
|
opcache.max_accelerated_files=1000000
|
||||||
opcache.interned_strings_buffer=64
|
opcache.interned_strings_buffer=64
|
||||||
|
|
||||||
;opcache.jit_debug=256
|
|
||||||
|
|
||||||
opcache.jit_prof_threshold=0.000000001
|
opcache.jit_prof_threshold=0.000000001
|
||||||
opcache.jit_max_root_traces= 30000000
|
opcache.jit_max_root_traces= 30000000
|
||||||
opcache.jit_max_side_traces= 30000000
|
opcache.jit_max_side_traces= 30000000
|
||||||
|
Loading…
Reference in New Issue
Block a user