logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 11-01-2023 02:33:01

Zergy
Membre
Lieu : Villepreux
Distrib. : Debian 12
Noyau : Linux 6.1.67-1
Inscription : 10-01-2023
Site Web

Segfault PHP suite au passage à Debian 12

Bonjour,

Suite à la mise à jour de mon PC de Debian 11 à Debian 12 - qui, je sais, est encore en phase de test -, PHP ne fonctionne plus, celui-ci segfault quoi qu’il arrive :

# php -v
free(): invalid pointer
Abandon


Voici ce que me donne un strace (abrégé) :

mprotect(0x7f4e5e6fe000, 16384, PROT_READ) = 0
mprotect(0x7f4e5e770000, 4096, PROT_READ) = 0
mprotect(0x7f4e5e7fa000, 20480, PROT_READ) = 0
mprotect(0x7f4e5ea10000, 4096, PROT_READ) = 0
mprotect(0x7f4e5f32e000, 4096, PROT_READ) = 0
mprotect(0x7f4e5ebaf000, 32768, PROT_READ) = 0
mprotect(0x7f4e5ebfd000, 8192, PROT_READ) = 0
mprotect(0x7f4e5f372000, 24576, PROT_READ) = 0
mprotect(0x7f4e5f3c7000, 16384, PROT_READ) = 0
futex(0x7f4e6301773c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
openat(AT_FDCWD, "/proc/self/status", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0
read(3, "Name:\tphp\nUmask:\t0022\nState:\tR ("..., 1024) = 1024
read(3, "ed:\t00000000,00000000,00000000,0"..., 1024) = 373
writev(2, [{iov_base="free(): invalid pointer", iov_len=23}, {iov_base="\n", iov_len=1}], 2free(): invalid pointer
) = 24
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4e63cf0000
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
gettid()                                = 516453
getpid()                                = 516453
tgkill(516453, 516453, SIGABRT)         = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=516453, si_uid=0} ---
+++ killed by SIGABRT +++
Abandon


Et dans dmesg :

[40636.939171] php-fpm8.1[489392]: segfault at 8 ip 00007f61c265b690 sp 00007ffe6a3a8570 error 4 in libc.so.6[7f61c25eb000+155000]
[40641.098000] php[489434]: segfault at 8 ip 00007f136b3c1690 sp 00007fffc9f81dd0 error 4 in libc.so.6[7f136b351000+155000]
[40644.656360] php[489437]: segfault at 8 ip 00007f8a6c9c1690 sp 00007ffee5f8f250 error 4 in libc.so.6[7f8a6c951000+155000]
[40949.539050] php[491423]: segfault at 8 ip 00007f82ad6b5690 sp 00007fff41719770 error 4 in libc.so.6[7f82ad645000+155000]


Si quelqu’un à déjà rencontré un problème similaire.
J’ai essayer de supprimer et réinstaller PHP, voir réinstaller le minimum (juste le paquet « php »), mais rien de mieux. hmm

A noter que j'ai passé trois ordinateurs utilisant PHP-FPM à Debian 12, le problème ne se pose que sur l'un d'eux.

Système :

  • Debian 12

  • PHP 8.1.12

Dernière modification par Zergy (11-01-2023 02:33:58)

Hors ligne

#2 11-01-2023 23:23:41

Anonyme-14
Invité

Re : Segfault PHP suite au passage à Debian 12

Salut, je lis "invalid pointer".
en supposant que libc.so.6 (une librairie marrante lol !) soit installée, vérifies quand même il est possible que son chemin ne pointe pas correctement.
regardes ici j'espère que ça te donnera une piste.

#3 12-01-2023 05:46:30

Zergy
Membre
Lieu : Villepreux
Distrib. : Debian 12
Noyau : Linux 6.1.67-1
Inscription : 10-01-2023
Site Web

Re : Segfault PHP suite au passage à Debian 12

Anonyme-14 a écrit :

Salut, je lis "invalid pointer".
en supposant que libc.so.6 (une librairie marrante lol !) soit installée, vérifies quand même il est possible que son chemin ne pointe pas correctement.
regardes ici j'espère que ça te donnera une piste.


lic6 est bien installé, et mon ldconfig est bien réglé, heureusement, sinon, ça fonctionnerait moins bien. tongue

Hors ligne

#4 12-01-2023 10:17:36

Anonyme-14
Invité

Re : Segfault PHP suite au passage à Debian 12

Zergy a écrit :

heureusement, sinon, ça fonctionnerait moins bien. tongue


Euh mais cela ne fonctionne pas du tout ... 502 BadGateway ...
As-tu essayé de rétrograder php-fpm 8.1 à 8.0 ?

#5 12-01-2023 19:27:39

Zergy
Membre
Lieu : Villepreux
Distrib. : Debian 12
Noyau : Linux 6.1.67-1
Inscription : 10-01-2023
Site Web

Re : Segfault PHP suite au passage à Debian 12

Anonyme-14 a écrit :

Euh mais cela ne fonctionne pas du tout ... 502 BadGateway ...
As-tu essayé de rétrograder php-fpm 8.1 à 8.0 ?


???

Ma réponse signifiait que, oui, libc6 est bien installé est que min ldconfig est convenablement paramétré, sinon, tout le système déconnerait, pas seulement PHP.
Quand a PHP 8, il n'est pas proposé dans les dépôts.

Hors ligne

#6 12-01-2023 19:49:56

Anonyme-14
Invité

Re : Segfault PHP suite au passage à Debian 12

Ce que tu précises c'est qu'il y a 2 pc qui fonctionnent et le 3ème non, en parlant de php-fpm.
c'est curieux quand même...
as-tu essayé

apt update && apt upgrade


apt --fix-missing install


et

apt --fix-broken install


?

#7 12-01-2023 20:52:49

Anonyme-14
Invité

Re : Segfault PHP suite au passage à Debian 12

En cas si rien ne se passe avec les commandes ci-dessus il y a une autre façon de procéder
afin d'installer plusieurs versions de php et voir laquelle fonctionnerait sur cet ordi.
les pré-requis

sudo apt update


sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https


activer le dépôt de Sury

sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'


importer la clé

wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -


mettre à jour le dépôt

sudo apt update


sudo apt install php8.0


sudo apt install php7.4


sudo apt install php5.6


ce sont des exemples de versions mais tu mets celles que tu juges bon d'installer
tu peux procéder de la même manière pour les addons, ex :

sudo apt install php8.0-cli php8.0-mbstring php8.0-xml php8.0-common php8.0-curl


sudo apt install php7.4-cli php7.4-mbstring php7.4-xml php7.4-common php7.4-curl


etc... etc...
vérifier la version installée

php -v


maintenant vient la partie intéressante
basculer d'une version à l'autre

sudo update-alternatives --config php


une fenêtre proposera 2,3,4 choix selon le nombre de versions qui auront été installés, exemple ci-dessous
file-Rb04a0f29f0eca71882d481e41c9af723
cela pourrait être une manière de tester avec une version spécifique choisie et voir si cela fixe ton problème sur cet ordi.

#8 13-01-2023 11:32:44

jce76350
Membre
Lieu : Rouen
Distrib. : Debian_Bullseye 12.5
Noyau : 6.1.0-18-amd64
(G)UI : XFCE
Inscription : 24-08-2016
Site Web

Re : Segfault PHP suite au passage à Debian 12

Pour info "activer le dépôt de Sury"
C'est modifié voir https://packages.sury.org/php/README.txt

Et avec php-fpm c'est plus simple pour passer d'une version à l'autre avec un .htaccess dans le dossier
## pour avoir PHP 8.x.x...
## SetHandler "proxy:unix:/var/run/php/php8.x-fpm.sock|fcgi://localhost/"

Dernière modification par jce76350 (13-01-2023 11:37:26)


--
Jc E

Hors ligne

#9 13-01-2023 12:20:00

Anonyme-14
Invité

Re : Segfault PHP suite au passage à Debian 12

Salut jce76350 smile

   J'ai l'air fin avec mes vieilles notes old_geek.gif
merci pour les infos actualisées !

#10 15-01-2023 00:19:36

Zergy
Membre
Lieu : Villepreux
Distrib. : Debian 12
Noyau : Linux 6.1.67-1
Inscription : 10-01-2023
Site Web

Re : Segfault PHP suite au passage à Debian 12

Tout sans en ordre au niveau des paquets (les paquets php-fpm et php8.1-fpm ne sont pas installés au moment où je lance ces commandes, sinon, vous les verriez apparaît comme cassés puisque la commande php ne fonctionne pas :

apt --fix-missing install


Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.


apt --fix-broken install


Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.


dpkg --audit



J'avais déjà essayer les dépôts de Sury, mais ils ne proposent pour l'instant pas de paquets pour bookworm.
Idem, bookworm commence à proposer des paquets pour PHP 8.2, dont php82.-fpm, j'ai essayer de l'installer en remplacement de ceux lié à PHP 8.1, mais le problème reste le même avec cette version.

php8.2 -v


free(): invalid pointer
Abandon


Je pense qu'on est reparti pour une réinstallation dans les règles. ¯\_(ツ)_/¯ (L'installation date de février 2015, ça ne fera donc pas forcément de mal.)

Hors ligne

Pied de page des forums