all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: 61123@debbugs.gnu.org
Subject: [bug#61123] [PATCH] gnu: php: Update to 8.2.1.
Date: Mon, 30 Jan 2023 21:34:28 +0100	[thread overview]
Message-ID: <20230130213428.6a8a00b8@sybil.lepiller.eu> (raw)
In-Reply-To: <c4d115c7cbc2267fe14dbf8e28a9ab50df46b8a7.1674916243.git.julien@lepiller.eu>

OK, CI is failing for x86_64 and suceeding for aarch64... I managed to
reproduce the same failure on my usual machine.

On the failing machine, I attempted to run issue0115.php. I had to
create a small php.ini to set phar to writable, otherwise it fails
earlier than in the logs:

```php.ini
phar.readonly=Off
```

Then, running `/tmp/guix-build-php-8.2.1.drv-0/php-8.2.1/sapi/cli/php
-c . issue0115.php` from the test directory gives me the same error as
the test:

```
Fatal error: Uncaught PharException: unable to copy stub of old phar to
new phar "/tmp/issue0115_1.phar.php" in /tmp/issue0115.php:7 Stack
trace: #0 /tmp/issue0115.php(7): Phar->offsetSet('index.php', '<?php\n
echo "H...') #1 {main}
  thrown in /tmp/issue0115.php on line 7
```

However, I have two partitions: one for / and one for /home on that
computer. They are both SSDs, with btrfs file-system. In any directory
under /home, I'm able to execute the test further, until it fails to
find the php server (it's not running). It at least shows that it was
able to create the phar:

```
Warning: proc_open(): Exec failed: No such file or directory in
/home/tyreunom/projects/packages/new/php_cli_server.inc on line 20
Server is not running
```

Using strace, it seems that the first difference is with this syscall:

```
copy_file_range(4, NULL, 6, NULL, 6641, 0) = 4096
copy_file_range(4, NULL, 6, NULL, 90, 0) = -1 EXDEV (Lien physique
inter-périphérique invalide)
```

Now, EXDEV is documented as "not on the same filesystem", but only for
kernels older than 5.3. Newer kernels are supposed to support that.
Note that when copy_file_range succeeds, the test fails, whereas the
phar is created when copy_file_range fails.

This test succeeds all the time on another aarch64 and an x86_64
machine, with the same php version. However, I noticed that the failing
machine had linux-6.1.5 whereas the two passing machines had
linux-5.19.17. Maybe it's related? It could also be related to
file-systems somehow, but I fail to see a difference between the setup
of my / and my /home...

Ideas? Should we disable these tests? Creating phars is not a usual
operation, as the default php.ini disables it, but it could be useful...




  reply	other threads:[~2023-01-30 20:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-28 14:30 [bug#61123] [PATCH] gnu: php: Update to 8.2.1 Julien Lepiller
2023-01-30 20:34 ` Julien Lepiller [this message]
2023-02-07 21:45 ` [bug#61123] [PATCH v2] gnu: php: Update to 8.2.2 Julien Lepiller
2023-02-07 21:57 ` [bug#61123] [PATCH v3] " Julien Lepiller
2023-02-09 18:48 ` [bug#61123] [PATCH v4] " Julien Lepiller
2023-02-11 10:50 ` [bug#61123] [PATCH v5] " Julien Lepiller
2023-02-11 20:17   ` bug#61123: " Julien Lepiller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230130213428.6a8a00b8@sybil.lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=61123@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.