Erreur de segmentation au lancement d'applications

Bonsoir,

Je possède un serveur@home hebergant 2 serveurs HLDS fonctionnemant sans aucun souci. Pour cela j’ai recompiler le kernel 2.6.18 avec le timer à 1000hz afin de pouvoir monter en fps.

J’ai voulu r’ajouter un serveur trackmania et un serveur teamspeak. Mais impossible; lors de l’execution des programmes j’ai une erreur de segmentation comme ci-dessous :

J’ai d’abord rebooter sans grand espoir, pensant qu’il n’y avait pas assez de ram disponible (sur les 2go…) et j’ai fait des recherches sans succès.

C’est pour cela que je me tourne vers vous, afin de sqvoir si vous pouvez m’aider à resoudre mon problème ou me donner des conseils pour y arriver.

En vous remerciant par avance.
Christian.

Salut, je ne connais pas du tout les “serveurs” dont tu parles, c’est du chinois pour moi. Par contre un timer à 1000 HZ c’est pour un ordinateur de bureau, pas pour un serveur chargé.
Si tu manquais de mémoire je pense que la swap serait utilisée, tu aurais des gros ralentissements et des accès disques nombreux mais pas un segfault directement.
Ça ressemble plutôt à un problème avec les programmes eux-même. Ça se présente comment ces “serveurs”, ils comportent un module noyau que tu as compilé toi même ou ce sont juste des applications en espace utilisateur ?

Lance un

$ strace -ff -o sortie ta_ligne_de_commande
etr regarde où le segfault a lieu

[quote=“idiotein”]Salut, je ne connais pas du tout les “serveurs” dont tu parles, c’est du chinois pour moi. Par contre un timer à 1000 HZ c’est pour un ordinateur de bureau, pas pour un serveur chargé.
Si tu manquais de mémoire je pense que la swap serait utilisée, tu aurais des gros ralentissements et des accès disques nombreux mais pas un segfault directement.
Ça ressemble plutôt à un problème avec les programmes eux-même. Ça se présente comment ces “serveurs”, ils comportent un module noyau que tu as compilé toi même ou ce sont juste des applications en espace utilisateur ?[/quote]

Ces “serveurs” sont de simple applications, il ne comporte aucun module noyau. Ce sont des applications lancé en user…

[quote=“fran.b”]Lance un

$ strace -ff -o sortie ta_ligne_de_commande
etr regarde où le segfault a lieu[/quote]

J’ai tourner la commande dans tout les sens, j’arrive pas à l’utiliser… :blush: tu pourrais m’en dire plus stp ?

merci pour votre aide.

apt-get install strace

puis tapes la commande, tu récupères des fichiers sortie.?? qui correspondent aux différents appels noyaux des processus de PID ?? lancés par ta commande. Tu verras quand le segfault a lieu.

kresta@Serveur:~/ts$ strace -ff ./teamspeak2-server_startscript execve("./teamspeak2-server_startscript", ["./teamspeak2-server_startscript"], [/* 19 vars */]) = 0 uname({sys="Linux", node="Serveur", ...}) = 0 brk(0) = 0x80f3000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f54000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3

J’ai eu beaucoup de ligne, mais à priori l’erreur se fait sur cette dernière ligne (numéro 7)…

-> je comprend pas pourquoi il ne peut pas ouvrir /etc/ld.so.cache, j’ai ce fichier ?

EDIT : je pensais que mon système n’était pas sain, mais je vien de faire les test sur un celeron 333mhz qui me sert de bidouille et j’ai les mêmes erreurs…

Non, c’est normal, tu as plein de lecture pour voir si un fichier existe ou non, ne serait ce qu’à cause du PATH, va plus loin à la fin d’un des fichiers tu auras le segfault.

Juste de passage pour signaler que le topic n’est pas mort ni résolu :stuck_out_tongue: pour pas q’uil finisse à la poubelle :slightly_smiling:, j’ai juste quasi pas de temps…

Concernant les erreurs
J’ai aps trouvé de segfault…
Je mettrais les résultats en ligne pour lecture.

Encore merci :smt006

Voici le retour :

kresta@Serveur:~/ts$ ./teamspeak2-server_startscript start starting the teamspeak2 server ./teamspeak2-server_startscript: line 7: 7349 Erreur de segmentation ./server_ linux -PID=tsserver2.pid kresta@Serveur:~/ts$ strace -ff ./teamspeak2-server_startscript execve("./teamspeak2-server_startscript", ["./teamspeak2-server_startscript"], [ /* 19 vars */]) = 0 uname({sys="Linux", node="Serveur", ...}) = 0 brk(0) = 0x80f3000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7 f65000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=52177, ...}) = 0 mmap2(NULL, 52177, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f58000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libncurses.so.5", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\345"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=263040, ...}) = 0 mmap2(NULL, 264196, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7 f17000 mmap2(0xb7f4f000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRI TE, 3, 0x38) = 0xb7f4f000 mmap2(0xb7f57000, 2052, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOU S, -1, 0) = 0xb7f57000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\f\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9592, ...}) = 0 mmap2(NULL, 12404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f 13000 mmap2(0xb7f15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRIT E, 3, 0x1) = 0xb7f15000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240O\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1241392, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7 f12000 mmap2(NULL, 1247388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb 7de1000 mmap2(0xb7f08000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRI TE, 3, 0x127) = 0xb7f08000 mmap2(0xb7f0f000, 10396, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMO US, -1, 0) = 0xb7f0f000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7 de0000 mprotect(0xb7f08000, 20480, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7de06c0, limit:1048575, seg_ 32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, usea ble:1}) = 0 munmap(0xb7f58000, 52177) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3 close(3) = 0 brk(0) = 0x80f3000 brk(0x80f4000) = 0x80f4000 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=1209056, ...}) = 0 mmap2(NULL, 1209056, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7cb8000 close(3) = 0 brk(0x80f5000) = 0x80f5000 brk(0x80f6000) = 0x80f6000 getuid32() = 1000 getgid32() = 1000 geteuid32() = 1000 getegid32() = 1000 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 time(NULL) = 1215073562 brk(0x80f7000) = 0x80f7000 open("/etc/mtab", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=349, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7 f64000 read(3, "/dev/hda1 / ext3 rw,errors=remou"..., 4096) = 349 close(3) = 0 munmap(0xb7f64000, 4096) = 0 open("/proc/meminfo", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7 f64000 read(3, "MemTotal: 2067388 kB\nMemFre"..., 1024) = 676 close(3) = 0 munmap(0xb7f64000, 4096) = 0 brk(0x80f8000) = 0x80f8000 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0 uname({sys="Linux", node="Serveur", ...}) = 0 brk(0x80f9000) = 0x80f9000 stat64("/home/kresta/ts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 getpid() = 7355 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=21568, ...}) = 0 mmap2(NULL, 21568, PROT_READ, MAP_SHARED, 3, 0) = 0xb7f5f000 close(3) = 0 getppid() = 7354 getpgrp() = 7354 rt_sigaction(SIGCHLD, {0x807acd0, [], 0}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("./teamspeak2-server_startscript", O_RDONLY|O_LARGEFILE) = 3 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfa47978) = -1 ENOTTY (Inappropriate i octl for device) _llseek(3, 0, [0], SEEK_CUR) = 0 read(3, "#! /bin/bash\n# Copyright (c) 200"..., 80) = 80 _llseek(3, 0, [0], SEEK_SET) = 0 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0 dup2(3, 255) = 255 close(3) = 0 fcntl64(255, F_SETFD, FD_CLOEXEC) = 0 fcntl64(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fstat64(255, {st_mode=S_IFREG|0744, st_size=2465, ...}) = 0 _llseek(255, 0, [0], SEEK_CUR) = 0 brk(0x80fa000) = 0x80fa000 brk(0x80fb000) = 0x80fb000 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 read(255, "#! /bin/bash\n# Copyright (c) 200"..., 2465) = 2465 brk(0x80fc000) = 0x80fc000 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 brk(0x80fd000) = 0x80fd000 brk(0x80fe000) = 0x80fe000 brk(0x80ff000) = 0x80ff000 brk(0x8100000) = 0x8100000 brk(0x8101000) = 0x8101000 write(1, "Usage: ./teamspeak2-server_start"..., 77Usage: ./teamspeak2-server_sta rtscript {start|stop|restart|status|passwords} ) = 77 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 exit_group(2) = ? Process 7355 detached

Vous en pensez quoi ? :unamused:

personne pour m’aiguiller ?