#1 Le 30/10/2022, à 13:02
- Christophe C
moc ne fonctionne plus dans Ubuntu 22.10
Je viens de faire la mise à jour. Le logiciel musical que j'utilise, MOC (https://doc.ubuntu-fr.org/moc), ne fonctionne plus.
(chris - 5.19.0-23-generic) ~ : mocp
*** buffer overflow detected ***: terminated
Abandon
(chris - 5.19.0-23-generic) ~ :
J'ai désinstallé, réinstallé : pas mieux.
J'ai supprimé le profil (~/.moc) : pas mieux.
Est-ce que quelqu'un a eu ce problème ? Voyez-vous une solution ?
Dernière modification par Christophe C (Le 30/10/2022, à 13:05)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#2 Le 31/10/2022, à 16:05
- Christophe C
Re : moc ne fonctionne plus dans Ubuntu 22.10
Même problème sur archlinux : https://bugs.archlinux.org/task/74041
Ils ont eu un pach qui fix le problème. Eux.
Dernière modification par Christophe C (Le 31/10/2022, à 16:06)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#3 Le 31/10/2022, à 19:50
- Nuliel
Re : moc ne fonctionne plus dans Ubuntu 22.10
Bonjour,
De ce que j'ai lu, le problème ne vient pas de moc mais de la glibc, donc le patch proposé pour moc n'est pas adapté. Il faut deux choses: avoir la glibc sans le problème (apparemment la glibc 2.35-5 ou au dessus), et que moc soit recompilé avec cette glibc.
Tu peux donner
dpkg -l libc6
dpkg -l moc
Au passage, c'est grâce à une protection mise sur le binaire (en l'occurrence fortify) que le buffer overflow a été détecté et que le programme s'arrête correctement
Tu es sur quelle version d'ubuntu?
Dernière modification par Nuliel (Le 31/10/2022, à 19:53)
Hors ligne
#4 Le 01/11/2022, à 09:27
- Christophe C
Re : moc ne fonctionne plus dans Ubuntu 22.10
Je suis sous Ubuntu 22.10 (c'est indiqué dans le titre).
(chris - 5.19.0-23-generic) ~ : dpkg -l libc6
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom Version Architecture Description
+++-==============-=============-============-=================================
ii libc6:amd64 2.36-0ubuntu4 amd64 GNU C Library: Shared libraries
Pour la version de la glibc, je ne suis pas sur qu'un nouvelle version change les choses dans le bon sens, tout simplement parce que moc a son dev arrêté depuis quelques années (2016). Je pense plutôt que les vieilles librairies l'avantagent.
(chris - 5.19.0-23-generic) ~ : dpkg -l moc
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom Version Architecture Description
+++-==============-=========================-============-==================================
ii moc 1:2.6.0~svn-r3005-2build1 amd64 ncurses based console audio player
Dernière modification par Christophe C (Le 01/11/2022, à 09:29)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#5 Le 01/11/2022, à 09:56
- Christophe C
Re : moc ne fonctionne plus dans Ubuntu 22.10
J'ai effacé moc ubuntu et réinstallé la version de Debian bullseye, et ça marche (celle de SID a un pb de dépendance). Je l'ai mis en mark hold pour éviter la mise à jour, mais c'est un peu foireux. Enfin, ça marche.
edit : marche pas si bien que cela. Si j'installe moc-ffmpeg-plugin pour mes morceaux en AAC (aucun pb avec les MP3), on retourne à la case départ. Il y a quand même du mieux, puisque avec ces plug-in ou sans, MOC ubuntu crash d'office. Là au moins le MP3 fonctionne.
J'ai ouvert un bug launchpad. Pour ceux qui veulent y souscrire : https://bugs.launchpad.net/ubuntu/+sour … ug/1995330
Dernière modification par Christophe C (Le 01/11/2022, à 10:04)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#6 Le 01/11/2022, à 10:21
- Nuliel
Re : moc ne fonctionne plus dans Ubuntu 22.10
Désolé, j'avais pas vu pour la version d'ubuntu.
Normalement la glibc est assez récente pour corriger la régression, donc pas de problème de ce côté (et c'est pas mal vu qu'on change pas une libc comme ça)
Je viens de comparer les binaires de moc pour voir les versions de la glibc supportées:
ubuntu 22.10
2.2.5
2.3
2.3.2
2.3.4
2.4
2.7
2.14
2.15
2.17
2.27
2.28
2.29
2.33
2.34
Debian bullseye
2.2.5
2.3
2.3.2
2.3.4
2.4
2.7
2.14
2.15
2.17
2.27
2.28
2.29
Je ne sais pas à quel moment la régression est arrivée dans la glibc mais j'imagine qu'elle est arrivée un peu avant la 2.35.
En tout cas ça donne un début d'explication au fait que ça marche mieux avec le paquet de debian.
Bonne idée pour le bug launchpad.
Dernière modification par Nuliel (Le 01/11/2022, à 10:23)
Hors ligne
#7 Le 04/11/2022, à 12:31
- Christophe C
Re : moc ne fonctionne plus dans Ubuntu 22.10
Ah, donc tu penses que le pb viendrait de la GLIBC de kinetic qui seraient trop "moderne" ? (le pb n'existe que dans Kinetic, si je reviens à Jammy : MOC remarche).
Ceci dit je ne vois pas trop pourquoi cela marche mieux avec le binaire debian. Celuis-ci revendique une compatibilité jusqu'à la GLIBC 2.29, alors que j'ai une GLIBC 2.36. Et pourtant cela marche mieux.
Je me demande si je peux mettre 2 variantes de la GLIBC en parallèle (celle de jammy et celle de kinetic) ?
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#8 Le 04/11/2022, à 18:56
- Nuliel
Re : moc ne fonctionne plus dans Ubuntu 22.10
Non, comme je l'ai dit ta version de la glibc est bien (ne change pas la glibc, c'est un point central du système)
Je pense que le paquet chez debian a été compilé il y a plus longtemps, donc il ne supporte pas la version de glibc qui pose problème.
Donc à part recompiler l'appli, il y a pas beaucoup d'autres solutions
Hors ligne
#9 Le 05/11/2022, à 11:13
- Christophe C
Re : moc ne fonctionne plus dans Ubuntu 22.10
Désolé, mais je ne comprends toujours pas ton raisonnement.
Si la version de moc "debian" n'utilise pas la glibc de kinetic (qui serait trop "moderne"), il utilise quoi, alors ? Cette version fonctionne, après tout.
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#10 Le 05/11/2022, à 13:06
- Nuliel
Re : moc ne fonctionne plus dans Ubuntu 22.10
La glibc est rétrocompatible. Tu as la version 2.36 de la glibc, cela signifie que tu peux faire fonctionner toutes les applications qui ont été compilées pour des versions antérieures de ta glibc. C'est le cas des deux versions de moc. Dans le cas de moc des dépôts ubuntu, ta glibc se comportera comme une glibc 2.34 avec moc, et dans le cas de moc des dépôts debian, ta glibc se comportera comme une glibc 2.29 avec moc.
Dans la glibc, il peut y avoir plusieurs fois la même fonction, définies pour différentes versions de glibc. Dans l'article que j'ai mis en référence, on voit 3 versions de glob64, une pour la 2.1, une pour la 2.2, et une pour la 2.27. Celle choisie par défaut est la plus récente car la version de la glibc dans l'article est la 2.29, plus récente que la 2.27. S'il y avait un programme qui se déclare compatible au mieux avec une glibc 2.22, alors la deuxième fonction serait prise par défaut.
Dans https://sourceware.org/bugzilla/show_bu … d=29030#c7, on voit qu'avant, le problème n'existait pas dans la fonction en question (je sais pas quelle fonction c'est exactement), parce qu'il y avait une vérification de faite. Il y a donc 3 versions de cette fonction: la fonction avant, la fonction avec l'erreur, et la fonction avec l'erreur corrigée.
Je pense donc que la fonction avec l'erreur est utilisée dans moc d'ubuntu contrairement à moc de debian qui doit utiliser la version plus ancienne qui n'a pas ce problème.
Et pour finir, sans toucher au sources de moc, juste en recompilant avec une version 2.36 de la glibc, la fonction corrigée sera utilisée, d'où le fait qu'il est inutile de changer le code de moc, recompiler suffit comme c'est dit dans l'avant dernier commentaire de https://bugs.archlinux.org/task/74041 .
N'hésite pas à demander des infos complémentaires si c'est pas clair.
Référence: https://developers.redhat.com/blog/2019 … patibility
Dernière modification par Nuliel (Le 05/11/2022, à 13:09)
Hors ligne
#11 Le 05/11/2022, à 17:19
- Christophe C
Re : moc ne fonctionne plus dans Ubuntu 22.10
Ah. Ok, c'est plus clair. Merci pour tes explications
jamais rien compilé. je crois comprendre que ce n'est pas si difficile, mais j'avoue que je n'y connais rien.
Sinon j'ai trouvé cmus qui est du même genre. Sauf que lui fonctionne . Il est un peu mieux. Un peu plus complexe aussi.
Sinon j'ai mis le commentaire dont tu parles dans mon ticket. il semble effectivement clair.
Dernière modification par Christophe C (Le 05/11/2022, à 17:24)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne