sherlokk Posted August 1, 2005 Share Posted August 1, 2005 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 :) Link to comment Share on other sites More sharing options...
lorinc Posted August 1, 2005 Share Posted August 1, 2005 c'est normal les deux "failed" et le "does not exist" dans les message de debug ? essaye avec un periphérique midi émulé (genre à travers arts) Link to comment Share on other sites More sharing options...
sherlokk Posted August 1, 2005 Author Share Posted August 1, 2005 Je ne pensais pas que cela puisse avoir un impact (après tout le logiciel peut se passer de contrôleur midi), mais j'essaierai de voir de ce côté là après le boulot. Merci :) Link to comment Share on other sites More sharing options...
sherlokk Posted August 1, 2005 Author Share Posted August 1, 2005 Bon, après changement de /dev/midi vers le groupe audio au lieu de root, ce message d'erreur a disparu. Mais tout le reste est inchangé ... Link to comment Share on other sites More sharing options...
lorinc Posted August 1, 2005 Share Posted August 1, 2005 ç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 Link to comment Share on other sites More sharing options...
sherlokk Posted August 1, 2005 Author Share Posted August 1, 2005 C'est déjà le cas malheureusement, (/dev/snd/* et /dev/midi, je ne vois rien d'autre). Link to comment Share on other sites More sharing options...
neologix Posted August 8, 2005 Share Posted August 8, 2005 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.