# [KERNEL] problemes au passage 2.6.12 (resolu)

## marvin rouge

J'essaie de passer du kernel 2.6.11 (gentoo-sources) au 2.6.12 et j'ai des problÃ¨mes bizarres.

1- MPD: j'utilise mpd comme service (rc-update add mpd default) et quand je boote sur le kernel 2.6.12 il lui faut quelques minutes pour dÃ©marrer.

2- gedit: si je lance gedit en ligne de commande, il lui faut un temps fou !

```
time gedit

real   6m27.489s

user   0m0.545s

sys   0m0.038s

```

 :Shocked:   :Shocked: 

MPD et gedit sont pour l'instant les 2 seuls problÃ¨mes qui sont apparus. Et bien sÃ»r, je n'ai aucune erreur dans les logs.

A priori je connais mon matos (vive lspci) tout le reste est rÃ©actif (thundirbird, firefox, pas de problÃ¨mes) et quand je rebascule sur un 2.6.11 il n'y a plus aucun problÃ¨me ...

Je peux faire un diff entre les deux fichiers de config, mais c'est le boxon et je sais pas si ca a vraiment du sens.

VoilÃ , je sais pas trop ou chercher. Y'en a ici qui sont passÃ©s en 2.6.12 ?

EDIT:

```
time /etc/init.d/mpd start

 * Starting Music Player Daemon ...                                                                                                                                [ ok ]

real   3m9.264s

user   0m0.224s

sys   0m0.057s
```

Last edited by marvin rouge on Thu Jul 07, 2005 8:07 pm; edited 1 time in total

----------

## yoyo

Comment as-tu fais la config de ton 2.6.12 ??

Avec oldconfig ?

----------

## marvin rouge

2 maniÃ¨res

-oldconfig Ã  partir de la config du 2.6.11

-from scratch, avec lspci

Dans les 2 cas, mÃªmes problÃ¨mes (avec mpd et gedit). Je cherches quels autres programmes me posent problÃ¨mes, mais je n'en trouve pas. Difficile de voir un point commun entre gedit et mpd.

----------

## yoyo

 *marvin rouge wrote:*   

> Difficile de voir un point commun entre gedit et mpd.

 Clair ...  :Confused: 

Peut-être une locale manquante dans le noyau ...

Et si tu lances gedit via le menu, c'est plus rapide ?

----------

## marvin rouge

 *yoyo wrote:*   

>  *marvin rouge wrote:*   Difficile de voir un point commun entre gedit et mpd. Clair ... 
> 
> Peut-être une locale manquante dans le noyau ...

 

```
grep -i nls .config

CONFIG_UDF_NLS=y

# CONFIG_SMB_NLS_DEFAULT is not set

CONFIG_NLS=y

CONFIG_NLS_DEFAULT="utf8"

CONFIG_NLS_CODEPAGE_437=y

# CONFIG_NLS_CODEPAGE_737 is not set

# CONFIG_NLS_CODEPAGE_775 is not set

CONFIG_NLS_CODEPAGE_850=y

<...>

CONFIG_NLS_ISO8859_15=y

<...>

CONFIG_NLS_UTF8=y
```

je suis en full utf8, donc ca devrait aller. Ceci dit, j'ai pas mis le ISO8859_1, je vais le rajouter et tester.

 *yoyo wrote:*   

> Et si tu lances gedit via le menu, c'est plus rapide ?

 Nope. C'est pareil. J'ai testé d'autres aplis, gtk et gtk2 (xmms, gimp, bluefish ...) tout fonctionne correctement. Par contre, j'ai l'impression que quanta a du mal, aussi.

----------

## marvin rouge

 *marvin rouge wrote:*   

> Ceci dit, j'ai pas mis le ISO8859_1, je vais le rajouter et tester.

 Ca ne change rien ...

----------

## kopp

faut croire que ce 2.6.12 n'embete pas que moi... moi ma carte son n'est plus reconnue :s

----------

## Kangourou

Tiens moi c'est ion3 et emacs qui mette bien 3 minutes aussi a se lancé ! C'est plutôt embetant, car une fois ion3 démarré la premiere chose que je fais c'est lancé emacs  :Confused:  J'ai un 2.6.12-cj1, j'ai cru que c'etais parce que je m'etais foiré avec la config de software suspend 2. D'un coté ça me rassure, je vais mettre un 2.6.11 et attendre la nouvelle version en ésperant que ça sera réglé...

----------

## marvin rouge

rhaa, pas cool tout ca.

Bon, j'essaie avec des patchsets (ck, cko, morph ... ?), pour voir si ca change qq chose.

----------

## guilc

Effectivement, j'ai le même problème avec ion3 sur un 2.6.12 a la vanille

Aucun problème pour emacs par contre

sans doute des accès a un device de /dev modifié, maintenant, faut trouver quoi  :Wink: 

----------

## marvin rouge

bon, une compile du 2.6.12-ck2-r1 plus tard, ca ne change rien:

```
time gedit

real   6m23.506s

user   0m0.856s

sys   0m0.082s
```

guilc: euh, t'as une idée plus précise en parlant d'un device de /dev pour identifier le problème ?

Sinon je confirme pour quanta, c'est très long à lancer ... (genre 6min comme gedit)

----------

## guilc

Alors pour ion3, c'est un problème d'UTF8 :

Avec UTF-8 (LC_ALL=fr_FR.UTF- :Cool:  :

```
writev(4, [{"1\0\6\0\1\0\20\0", 8}, {"*-KSC5601.1987-0", 16}], 2) = 24

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)

select(5, [4], NULL, NULL, NULL)        = 1 (in [4])

read(4, "\1)\330\0\0\0\0\0\0\0\0\0\4\0\0\0\370\276H\10\20\0\0\0"..., 32) = 32

writev(4, [{"1\0\7\0\1\0\22\0", 8}, {"*-*-KSC5601.1987-0", 18}, {"\0\0", 2}], 3) = 28

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)

select(5, [4], NULL, NULL, NULL)        = 1 (in [4])

read(4, "\1)\331\0\0\0\0\0\0\0\0\0\4\0\0\0\370\276H\10\22\0\0\0"..., 32) = 32

writev(4, [{"1\0\7\0\1\0\24\0", 8}, {"*-*-*-KSC5601.1987-0", 20}], 2) = 28

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)

select(5, [4], NULL, NULL, NULL)        = 1 (in [4])

read(4, "\1)\332\0\0\0\0\0\0\0\0\0\4\0\0\0\370\276H\10\24\0\0\0"..., 32) = 32

writev(4, [{"1\0\10\0\1\0\26\0", 8}, {"*-*-*-*-KSC5601.1987-0", 22}, {"\0\0", 2}], 3) = 32

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)

select(5, [4], NULL, NULL, NULL)        = 1 (in [4])

read(4, "\1)\333\0\0\0\0\0\0\0\0\0\4\0\0\0\370\276H\10\26\0\0\0"..., 32) = 32

writev(4, [{"1\0\10\0\1\0\30\0", 8}, {"*-*-*-*-*-KSC5601.1987-0", 24}], 2) = 32

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)

select(5, [4], NULL, NULL, NULL)        = 1 (in [4])

read(4, "\1)\334\0\0\0\0\0\0\0\0\0\4\0\0\0\370\276H\10\30\0\0\0"..., 32) = 32

writev(4, [{"1\0\t\0\1\0\32\0", 8}, {"*-*-*-*-*-*-KSC5601.1987-0", 26}, {"\0\0", 2}], 3) = 36

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)

select(5, [4], NULL, NULL, NULL)        = 1 (in [4])

read(4, "\1)\335\0\0\0\0\0\0\0\0\0\4\0\0\0\370\276H\10\32\0\0\0"..., 32) = 32

writev(4, [{"1\0\t\0\1\0\34\0", 8}, {"*-*-*-*-*-*-*-KSC5601.1987-0", 28}], 2) = 36

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)

select(5, [4], NULL, NULL, NULL)        = 1 (in [4])

read(4, "\1)\336\0\0\0\0\0\0\0\0\0\4\0\0\0\370\276H\10\34\0\0\0"..., 32) = 32

writev(4, [{"1\0\n\0\1\0\36\0", 8}, {"*-*-*-*-*-*-*-*-KSC5601.1987-0", 30}, {"\0\0", 2}], 3) = 40

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)

select(5, [4], NULL, NULL, NULL)        = 1 (in [4])

read(4, "\1)\337\0\0\0\0\0\0\0\0\0\4\0\0\0\370\276H\10\36\0\0\0"..., 32) = 32

writev(4, [{"1\0\n\0\1\0 \0", 8}, {"*-*-*-*-*-*-*-*-*-KSC5601.1987-0", 32}], 2) = 40

read(4, 0xbfbbe6c0, 32)                 = -1 EAGAIN (Resource temporarily unavailable)
```

Sur toutes les fontes possibles

Et en changeant la locale (LC_ALL=fr_FR@euro) :

```
$ LC_ALL=fr_FR@euro DISPLAY=:1 ion3

ion3: Encoding in LC_CTYPE (fr_FR@euro) and encoding reported by nl_langinfo(CODESET) (ISO-8859-15) do not match.

ion3: Reverting locale settings to "C".

/usr/libexec/ion3/bin/ion-statusd: statusd_mail.lua:73: assertion failed!

ion3: Caught signal 2. Dying.

ion3: Not saving state: running under session manager.
```

Hop, la ça marche, lancement instantanné

Donc le coup du device dans /dev ne tient pas  :Wink: 

Bon, maintenant, aller savoir pourquoi ça marchait avant et plus maintenant, alors que c'était aussi en UTF-8 avant... mystère

----------

## marvin rouge

Question de noob: t'as trouvé ou et comment ces logs ?

Parce que j'ai rien dans /var/log/messages ni dans /var/lox/Xorg.0.log et quand je lance gedit à partir d'un terminal il n'affiche rien. Il attend, juste.

----------

## guilc

 *marvin rouge wrote:*   

> Question de noob: t'as trouvé ou et comment ces logs ?
> 
> Parce que j'ai rien dans /var/log/messages ni dans /var/lox/Xorg.0.log et quand je lance gedit à partir d'un terminal il n'affiche rien. Il attend, juste.

 

Avec strace : 

```
strace gedit
```

 te donnera sans doute un log similaire, je pense que c'est le même problème

----------

## marvin rouge

bon, un essai avec mpd. strace est très "verbeux" (je ne connaissais pas ...) et du coup je comprends rien à sa sortie. *strace /etc/init.d/mpd start wrote:*   

> <...>
> 
> --- SIGCHLD (Child exited) @ 0 (0) ---
> 
> wait4(-1, 0x7fffff8bb6c4, WNOHANG, NULL) = -1 ECHILD (No child processes)
> ...

 Je vois pas de reference à l'utf8. Je suis en train de faire la même chose avec gedit, pour voir.

EDIT: gedit est bloqué là:

```
open("/etc/rpc", O_RDONLY)              = 17

fcntl(17, F_GETFD)                      = 0

fcntl(17, F_SETFD, FD_CLOEXEC)          = 0

fstat(17, {st_mode=S_IFREG|0644, st_size=1615, ...}) = 0

mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaab08aa000

read(17, "#ident\t\"@(#)rpc\t1.11\t95/07/14 SM"..., 4096) = 1615

close(17)                               = 0

munmap(0x2aaab08aa000, 4096)            = 0

socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 17

bind(17, {sa_family=AF_INET, sin_port=htons(928), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EACCES (Permission denied)

connect(17, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16
```

et après:

```
connect(17, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ETIMEDOUT (Connection timed out)

futex(0x2aaaaf5ac5e0, FUTEX_WAKE, 2147483647) = 0

close(17)                               = 0

open("/etc/rpc", O_RDONLY)              = 17

fcntl(17, F_GETFD)                      = 0

fcntl(17, F_SETFD, FD_CLOEXEC)          = 0

fstat(17, {st_mode=S_IFREG|0644, st_size=1615, ...}) = 0

mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaab08aa000

read(17, "#ident\t\"@(#)rpc\t1.11\t95/07/14 SM"..., 4096) = 1615

close(17)                               = 0

munmap(0x2aaab08aa000, 4096)            = 0

socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 17

bind(17, {sa_family=AF_INET, sin_port=htons(928), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EACCES (Permission denied)

connect(17, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ETIMEDOUT (Connection timed out)

close(17)                               = 0
```

pfff, j'y comprends rien.

EDIT bis: pour ceux qui sont bilingue en strace, le fichier complet de strace -o strace.gedit gedit est ici (blocage à la ligne 1502)

----------

## lbr

question con : iptable est désactivé ?

parce que 

```
bind(17, {sa_family=AF_INET, sin_port=htons(928), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EACCES (Permission denied) 
```

 c'est comme si ton appli essayait de se connecter sur 0.0.0.0:928 ...

C'est surement un post inutile ... mais s'il y a une chance de trouver une piste de ce coté, autant la saisir  :Smile: 

A+

----------

## marvin rouge

 *lbr wrote:*   

> question con : iptable est désactivé ?
> 
> parce que 
> 
> ```
> ...

 ah bah ouais ! si j'arrete iptables, j'ai des temps de chargement corrects pour gedit et mpd. Ca se précise ...

----------

## marvin rouge

Bon, je reviens avec mon problème:

- Je fais un emerge du gentoo-sources-2.6.12-r4 

- Je prends le .config du gentoo-sources-2.6.11 (celui sur lequel je tourne habituellement)

- Je fais mon lien (linux -> linux-2.6.12-gentoo-r4) et je fais make oldconfig

- Je réponds non à toutes les nouveautés, histoire de pas trop rajouter d'inconnues

- Compilation, installation sur /boot, modification grub.conf, reboot

Pareil  :Sad:  

```
time /etc/init.d/mpd start

 * Starting Music Player Daemon ...                                                                                                                     [ ok ]

real   3m9.381s

user   0m0.199s

sys   0m0.072s

time gedit

real   6m24.116s

user   0m0.853s

sys   0m0.081s
```

C'est complètement fou, le script iptables n'a pas changé. J'ai fais les diff entre les .config des kernels. Vu qu'il y a des nouveaux features dans le 2.6.12, et que j'ai répondu non partout, je commence par filtrer les réponses y pour chaque .config et je fais la différence dessus. Voilà ce que ca me sort: *Quote:*   

> grep y 2.6.11 >> 2.6.11.y
> 
> grep y 2.6.12 >> 2.6.12.y
> 
> diff 2.6.11.y 2.6.12.y
> ...

 

J'ai mis en gras les seuls véritables changements, le reste c'est juste du changement de place.

Et si je stoppe les scripts iptables, tout se charge correctement.

----------

## LostControl

Tu peux faire un :

```
iptables -L -v -n
```

histoire de voir quelles règles sont appliquées. Tu as bien autorisé tout le traffic sur lo ?

Personnellement, j'ai pas de problème sur mon laptop avec le 2.6.12-cj2. Par contre, sur mon serveur, je suis aussi passé au 2.6.12 et là, apcupsd (daemon pour la gestion de l'onduleur) fait monter le load du système à 1.00. C'est à cause d'une modification dans le comportement de l'USB introduite dans le 2.6.12.

A+

----------

## marvin rouge

Oui , le traffic est autorisé sur lo, et ca marche avec un 2.6.11 et les mêmes règles iptables, c'est ca que je comprends pas.

J'ai vérifié la charge quand je lance les applis qui prennent du temps, et ben y'a rien, nada. Pas d'occupation du proc. (je viens de trouver une autre appli qui fonctionne mal : evidence)

Et voilà le iptables -L -v -n (j'ai trois interfaces, eth0 est sur le net. je mets en gras lo): *Quote:*   

> Chain INPUT (policy DROP 0 packets, 0 bytes)
> 
>  pkts bytes target     prot opt in     out     source               destination         
> 
>    82 17442 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID 
> ...

 

----------

## LostControl

Ouais bizarre tout ça...

J'ai trouvé ça sur les newsgroups. On dirait que tu n'es pas le seul à avoir des problèmes... Maintenant à savoir si c'est la même chose ???

----------

## blasserre

j'ai eu (j'ai toujours) ce problème avec emacs, si le resolv.conf n'est pas bon

l'appli met deux minutes à se lancer....

ce sont les pointes réseau dans gkrellm lors du lancement qui m'ont mis sur la piste

on dirait que quelque chose tente une résolution de noms  :Question:  mais quoi  :Shocked: 

mais je n'ai pas fait d'investigations particulières... 

en mettant mon DNS LAN dans le resolv.conf, tout rentre dans l'ordre

----------

## marvin rouge

 *LostControl wrote:*   

> Ouais bizarre tout ça...
> 
> J'ai trouvé ça sur les newsgroups. On dirait que tu n'es pas le seul à avoir des problèmes... Maintenant à savoir si c'est la même chose ???

 

Merci pour la recherche  :Smile:  j'étais passé à coté.

mmm. ca s'applique au bridges (brX), et c'est bien technique, je comprends pas tout (voire pas grand chose). Il y en a juste un qui mentionne un problème avec le loopback, mais rien d'autre.

D'apres le changelog des gentoo-sources, j'arrive pas à voir si le patch proposé est inclus.

----------

## marvin rouge

 *blasserre wrote:*   

> j'ai eu (j'ai toujours) ce problème avec emacs, si le resolv.conf n'est pas bon
> 
> l'appli met deux minutes à se lancer....
> 
> ce sont les pointes réseau dans gkrellm lors du lancement qui m'ont mis sur la piste
> ...

 

T'as mis quoi dans ton resolv.conf ? ton adresse locale (127.0.0.1, ou 192.168.x.x ... ?)

----------

## blasserre

alors :

je n'arrive plus à reproduire la chose sur le serveur :/

par contre sur le portable j'avais en DNS mon modem routeur

temps d'ouverture d'emacs : 6mn

j'ai ajouté à mon resolv.conf le DNS de mon FAI

temps d'ouverture d'emacs : 1 sec

un petit tcpdump me confirme une requete DNS à l'ouverture d'emacs

ouverture qui ne se produit (me semble-t'il) qu'une fois la réponse ou le timeout arrivé...

j'investigue pour voir qui cherche et qui est cherché 

....

mouarf j'y capte rien  :Crying or Very sad: 

edit :

il cherche mon hostname sur le réseau, en l'ajoutant dans le /etc/hosts ça fuse...

à tester si ce n'est déjà fait

----------

## marvin rouge

 *blasserre wrote:*   

> edit :
> 
> il cherche mon hostname sur le réseau, en l'ajoutant dans le /etc/hosts ça fuse...
> 
> à tester si ce n'est déjà fait

 

ca change rien chez moi. toujours aussi long.

groumpf.

----------

## marvin rouge

Bon, ca y est, c'est (resolu)  :Smile: 

Solution: dans les règles iptables, échanger  "-i lo -j ACCEPT" et  "-m state --state INVALID -j DROP" pour que lo soit en premier.

bug 96948

pffiou ...

----------

