Aller au contenu

Mixxx segfault (sous Ubuntu Hoary)


Messages recommandés

Salut tout le monde !

J'aurais besoin d'un peu d'aide : j'essaie d'utiliser (logiciel qui simule une console DJ, http://mixxx.sourceforge.net/), mais j'ai à chaque fois une segfault pendant son initialisation :( J'utilise une Ubuntu Hoary.

Comme il n'y a pas de package disponible (pas trouvé en tout cas), j'ai d'abord essayé avec la version binaire, puis en le compilant depuis les sources. J'ai compilé avec et sans le support de JACK, pour tester. Mais j'ai invariablement un segfault, voilà ce que ça donne dans une console :

yannick@shagshag:~/mixxx-1.4.2$ mixxx 
Debug: Starting up... 
Debug: MidiObjectOSS: Open of MIDI device /dev/midi failed. 
Debug: Alsa getapi 
Debug: Track: /home/yannick/.mixxxtrack.xml does not exists. 
Debug: MidiObjectOSS: Open of MIDI device /dev/midi failed. 
Debug: id 0, sr 96000, ch 2, bufsize 16, bufno 120 
Erreur de segmentation

J'ai essayé de voir ce qui fait planter exactement en lançant un "strace mixxx", voici ce que ça donne à partir de la dernière ligne affichée dans la console :

write(2, "Debug: id 0, sr 96000, ch 2, buf"..., 51Debug: id 0, sr 96000, ch 2, bufsize 16, bufno 120
) = 51
open("/dev/dsp", O_WRONLY|O_NONBLOCK)   = 7
close(7)                                = 0
open("/dev/dsp", O_WRONLY)              = 7
ioctl(7, SNDCTL_DSP_SETFRAGMENT, 0xbffff618) = 0
ioctl(7, SNDCTL_DSP_SETFMT or SOUND_PCM_READ_BITS, 0xbffff618) = 0
ioctl(7, SOUND_PCM_READ_CHANNELS, 0xbffff634) = 0
ioctl(7, SNDCTL_DSP_SPEED or SOUND_PCM_READ_RATE, 0xbffff618) = 0
mmap2(NULL, 8392704, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb4477000
mprotect(0xb4477000, 4096, PROT_NONE)   = 0
clone(child_stack=0xb4c77b28, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM
|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0xb4c77bf8, {entry_number:6,
base_addr:0xb4c77bb0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0,
useable:1}, child_tidptr=0xb4c77bf8) = 18604
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 8
getsockname(8, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, [16]) = 0
getpeername(8, 0xbffff620, [128])       = -1 ENOTCONN (Transport endpoint is not connected)
setsockopt(8, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(8, {sa_family=AF_INET, sin_port=htons(33033), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
getsockname(8, {sa_family=AF_INET, sin_port=htons(33033), sin_addr=inet_addr("127.0.0.1")}, [16]) = 0
getpeername(8, 0xbffff5e0, [128])       = -1 ENOTCONN (Transport endpoint is not connected)
listen(8, 1)                            = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
futex(0x81e4d9c, FUTEX_WAKE, 1)         = 1
futex(0x81e4dbc, FUTEX_WAKE, 1)         = 1
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
futex(0x81e4d9c, FUTEX_WAKE, 1)         = 1
futex(0x81e4dbc, FUTEX_WAKE, 1)         = 1
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
gettimeofday({1122804484, 871748}, NULL) = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
gettimeofday({1122804484, 883275}, NULL) = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
gettimeofday({1122804484, 893036}, NULL) = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
gettimeofday({1122804484, 901455}, NULL) = 0
ioctl(5, FIONREAD, [1])                 = 0
ioctl(5, FIONREAD, [1])                 = 0
gettimeofday({1122804484, 901912}, NULL) = 0
gettimeofday({1122804484, 959304}, NULL) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Voilà, je ne sais pas trop où chercher quel est le problème, est-ce que quelqu'un aurait une idée ? J'ai déjà tenté les forums Ubuntu mais personne n'a l'air inspiré (aucune réponse)

Merci d'avance pour toutes vos suggestions :)

Lien vers le commentaire
Partager sur d’autres sites

ça segfault toujours au même endroit ?

tu peux owner tous les périphériques audio par le group audio (/dev/dsp et compagnie)

l'appel ioctl est pour changer les propriétés d'un périphérique et je me demande si ça viendrait pas d'un manque de droit :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Ce qu'il y a, c'est que le kernel n'aime pas qu'un programme aille écrire dans l'espace d'adressage de son voisin, ce qui est normal, et balance un SIGSEGV.

L'application est mal codée, enfin c'est ce que je pense.

Trouve une autre version binaire du programme.

neo

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...