Bug 41705 - [PATCH] собираемость на e2k
Summary: [PATCH] собираемость на e2k
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: php8.1 (show other bugs)
Version: unstable
Hardware: e2k Linux
: P5 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-13 10:21 MSK by Michael Shigorin
Modified: 2022-01-14 10:05 MSK (History)
2 users (show)

See Also:


Attachments
php-8.1.1 e2k support (1.20 KB, patch)
2022-01-13 10:21 MSK, Michael Shigorin
no flags Details | Diff
фрагмент dmesg (26.25 KB, text/plain)
2022-01-13 11:27 MSK, Michael Shigorin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2022-01-13 10:21:56 MSK
Created attachment 10117 [details]
php-8.1.1 e2k support

Прошу забрать правки для собираемости php8.1 на e2k:
http://git.altlinux.org/people/mike/packages/php8.1.git?p=php8.1.git;a=shortlog;h=refs/heads/master
=>
http://git.altlinux.org/people/mike/packages/php8.1.git?p=php8.1.git;a=commitdiff;h=98b30175367cb241542fb35f158b2317a2d0f7df
http://git.altlinux.org/people/mike/packages/php8.1.git?p=php8.1.git;a=commitdiff;h=b15f00f0581bd7150a92cf3d3a6e1478c0b67fcb

Также прилагаю отдельно патч в виде коммита -- постараемся провести в апстрим.

Правки в spec-файле:

+Patch2000: php-8.1-e2k.patch

...

+%ifarch %e2k
+%patch2000 -p1
+%endif

...

+- makecontext() patch for Elbrus
Comment 1 ilyakurdyukov 2022-01-13 11:17:58 MSK
У меня готовы изменения для коммита:

http://git.altlinux.org/people/ilyakurdyukov/packages/php8.1.git

Но я еще раз проверяю.

На Эльбрусе какая-то проблема со сборкой, собирается быстро, а потом пишет про какой-то lt-php и висит там час. Что это такое?


make: Leaving directory '/usr/src/RPM/BUILD/php-source'
make: Entering directory '/usr/src/RPM/BUILD/php-source'

Build complete.
Don't forget to run 'make test'.

make: Leaving directory '/usr/src/RPM/BUILD/php-source'
<8>Jan 13 07:23:48 lt-php:
<12>Jan 13 08:07:44 phpt[3976039]: Basic syslog test
<12>Jan 13 08:08:07 lt-php: A test syslog call invocation
<12>Jan 13 08:08:07 PHPT: First line
<12>Jan 13 08:08:07 PHPT: A simple \x00 message
Comment 2 ilyakurdyukov 2022-01-13 11:23:48 MSK
Отправил task #293412

В общем так, сначала висит-висит около часа, а потом выплёвывает лог от тестов (далее пакет собирается нормально):

make: Leaving directory '/usr/src/RPM/BUILD/php-source'
<8>Jan 13 07:23:48 lt-php: 
<12>Jan 13 08:07:44 phpt[3976039]: Basic syslog test
<12>Jan 13 08:08:07 lt-php: A test syslog call invocation
<12>Jan 13 08:08:07 PHPT: First line
<12>Jan 13 08:08:07 PHPT: A simple \x00 message
make: Entering directory '/usr/src/RPM/BUILD/php-source'

=====================================================================
PHP         : /usr/src/RPM/BUILD/php-source/sapi/cli/php 
PHP_SAPI    : cli
PHP_VERSION : 8.1.1
ZEND_VERSION: 4.1.1
PHP_OS      : Linux - Linux localhost.localdomain 5.4.163-elbrus-8c2-alt2.23.2 #1 SMP Fri Dec 24 19:11:05 UTC 2021 e2k
INI actual  : /usr/src/RPM/BUILD/php-source/tmp-php.ini
More .INIs  :   
---------------------------------------------------------------------
PHP         : /usr/src/RPM/BUILD/php-source/sapi/phpdbg/phpdbg 
PHP_SAPI    : phpdbg
PHP_VERSION : 8.1.1
ZEND_VERSION: 4.1.1
PHP_OS      : Linux - Linux localhost.localdomain 5.4.163-elbrus-8c2-alt2.23.2 #1 SMP Fri Dec 24 19:11:05 UTC 2021 e2k
INI actual  : /usr/src/RPM/BUILD/php-source/tmp-php.ini
More .INIs  : 
---------------------------------------------------------------------
CWD         : /usr/src/RPM/BUILD/php-source
Extra dirs  : 
VALGRIND    : Not used
=====================================================================
TIME START 2022-01-13 07:19:39
=====================================================================
TEST 1/12068 [tests/run-test/extensions-shared.phpt]
Comment 3 Anton Farygin 2022-01-13 11:24:00 MSK
Это таким образом php запускает тесты в параллельном режиме.
Comment 4 Michael Shigorin 2022-01-13 11:27:21 MSK
Created attachment 10119 [details]
фрагмент dmesg

(Ответ для ilyakurdyukov на комментарий #1)
> На Эльбрусе какая-то проблема со сборкой, собирается быстро, а потом пишет
> про какой-то lt-php и висит там час. Что это такое?
Раз в итоге собирается -- соберём и будем смотреть результат; "lt-" мне лично напоминает libtool, а в dmesg -w при этой сборке довольно активно что-то летит:

[670550.796695] PAGE FAULT. Page is not writable: IP=00000000008cf308 phpdbg(pid=4003963)
[670550.796705] SIGSEGV. Page fault: IP=00000000008cf2f0(interrupt IP=00000000008cf308) phpdbg(pid=4003963)
[670550.796708] PAGE FAULT. Signal 11 for address 0x455556815078: IP=00000000008cf308 phpdbg(pid=4003963)

Полагаю, уже после попадания начальной сборки в sisyphus_e2k (для большего удобства воспроизведения) будем показывать ядерщикам МЦСТ.
Comment 5 Anton Farygin 2022-01-13 11:39:10 MSK
тесты сейчас проверяются только для x86_64. поправьте спекфайл, отключив 
%ifarch x86_64
  exit 1
%endif

и увидите, падает ли на e2k.
Comment 6 ilyakurdyukov 2022-01-13 12:02:53 MSK
Нет смысла перезапускать, потому что ошибки всё равно пишутся в лог.

В логе я вижу только две:

TEST FAILURE: ../php-source/ext/standard/tests/general_functions/proc_nice_basic.diff --
001+ bool(false)
001- bool(true)
-- ../php-source/ext/standard/tests/general_functions/proc_nice_basic.diff result ends.
TEST FAILURE: ../php-source/ext/standard/tests/file/disk_free_space_basic.diff --
--
     
      Free Space after writing to a file
     float(%f)
012+  Free Space Value Is Incorrect
013+ float(233616683008)
014+ float(233616740352)
012-  Free Space Value Is Correct
     *** Testing with Binary Input ***
     float(%f)
     
--
-- ../php-source/ext/standard/tests/file/disk_free_space_basic.diff result ends.
Comment 7 Anton Farygin 2022-01-14 10:05:49 MSK
применено.