[FreeBSD] symbol msleep undefined (lors de passage 6.3 vers 7.0)
7 réponses
Paul Gaborit
Je viens de migrer l'un de mes serveur de FreeBSD 6.3 vers 7.0 en
suivant la procédure habituelle de /usr/src/UPDATING.
À la fin de 'dmesg', j'ai le message suivant :
link_elf: symbol msleep undefined
Impossible de savoir d'où provient ce message ! D'autant que, pour
l'instant (je touche du bois), je n'ai encore rien vu qui ne marche
pas comme avant...
Auriez-vous une idée de l'endroit où chercher le coupable de ce
message ?
Merci.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
man msleep done : "Its use is deprecated in favor of mtx_sleep(9) which provides identical behavior."
L'usage de msleep est 'deprecated' mais pas encore interdit. Et là, elle est introuvable...
Impossible de savoir d'où provient ce message ! D'autant que, pour l'instant (je touche du bois), je n'ai encore rien vu qui ne marche pas comme avant...
Auriez-vous une idée de l'endroit où chercher le coupable de ce message ?
comme msleep a l'air d'être utilisée dans le kernel, on doit pouvoir commencer avec : grep -R msleep /usr/src/sys
(ou un vieux kernel module qui serait resté de 6.x ? voir les dates des fichers dans /boot/kernel)
Il y a effectivement plein d'appels à 'msleep' dans les sources du noyau. Mais par contre, dans /boot/kernel tous mes fichiers datent de ma mise à jour (ouf...) et aucun d'eux ne fait appel à 'msleep' (il y a juste des appels à 'msleep_spin' et à 'nfs_msleep').
Je vais reconstruire un nouveau monde et un nouveau noyau et réinstaller le tout pour voir si ça perdure...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
man msleep done :
"Its use is deprecated in favor of mtx_sleep(9) which provides identical
behavior."
L'usage de msleep est 'deprecated' mais pas encore interdit. Et là,
elle est introuvable...
Impossible de savoir d'où provient ce message ! D'autant que, pour
l'instant (je touche du bois), je n'ai encore rien vu qui ne marche
pas comme avant...
Auriez-vous une idée de l'endroit où chercher le coupable de ce
message ?
comme msleep a l'air d'être utilisée dans le kernel, on doit pouvoir
commencer avec :
grep -R msleep /usr/src/sys
(ou un vieux kernel module qui serait resté de 6.x ? voir les dates des
fichers dans /boot/kernel)
Il y a effectivement plein d'appels à 'msleep' dans les sources du
noyau. Mais par contre, dans /boot/kernel tous mes fichiers datent de
ma mise à jour (ouf...) et aucun d'eux ne fait appel à 'msleep' (il y
a juste des appels à 'msleep_spin' et à 'nfs_msleep').
Je vais reconstruire un nouveau monde et un nouveau noyau et
réinstaller le tout pour voir si ça perdure...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
man msleep done : "Its use is deprecated in favor of mtx_sleep(9) which provides identical behavior."
L'usage de msleep est 'deprecated' mais pas encore interdit. Et là, elle est introuvable...
Impossible de savoir d'où provient ce message ! D'autant que, pour l'instant (je touche du bois), je n'ai encore rien vu qui ne marche pas comme avant...
Auriez-vous une idée de l'endroit où chercher le coupable de ce message ?
comme msleep a l'air d'être utilisée dans le kernel, on doit pouvoir commencer avec : grep -R msleep /usr/src/sys
(ou un vieux kernel module qui serait resté de 6.x ? voir les dates des fichers dans /boot/kernel)
Il y a effectivement plein d'appels à 'msleep' dans les sources du noyau. Mais par contre, dans /boot/kernel tous mes fichiers datent de ma mise à jour (ouf...) et aucun d'eux ne fait appel à 'msleep' (il y a juste des appels à 'msleep_spin' et à 'nfs_msleep').
Je vais reconstruire un nouveau monde et un nouveau noyau et réinstaller le tout pour voir si ça perdure...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Paul Gaborit
À (at) Mon, 21 Apr 2008 11:19:42 +0200, Paul Gaborit écrivait (wrote):
Je vais reconstruire un nouveau monde et un nouveau noyau et réinstaller le tout pour voir si ça perdure...
Bon, c'est fait... Le problème perdure. Pour rappel, message:
link_elf: symbol msleep undefined
en fin de 'dmesg'. Ça doit provenir d'un autre programme. Je vais recompiler mes ports pour ne plus utiliser les anciennes bibliothèques et ça devrait rentrer dans l'ordre.
Mais, je me heurte à un nouveau problème. La noyau a pris un peu d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo. Or ma partition racine (/) ne fait que 256Mo (248Mo une fois formattée) ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en 7.x, à chaque installation d'un nouveau noyau, il n'y a plus la place pour recopier l'ancien !
J'ai cherché dans le handbook mais je ne vois pas comment je peux changer la taille d'une partion UFS2 (sans perdre son contenu).
Est-ce possible ?
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Mon, 21 Apr 2008 11:19:42 +0200,
Paul Gaborit <Paul.Gaborit@invalid.invalid> écrivait (wrote):
Je vais reconstruire un nouveau monde et un nouveau noyau et
réinstaller le tout pour voir si ça perdure...
Bon, c'est fait... Le problème perdure. Pour rappel, message:
link_elf: symbol msleep undefined
en fin de 'dmesg'. Ça doit provenir d'un autre programme. Je vais
recompiler mes ports pour ne plus utiliser les anciennes bibliothèques
et ça devrait rentrer dans l'ordre.
Mais, je me heurte à un nouveau problème. La noyau a pris un peu
d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo. Or
ma partition racine (/) ne fait que 256Mo (248Mo une fois formattée)
ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en 7.x, à chaque
installation d'un nouveau noyau, il n'y a plus la place pour recopier
l'ancien !
J'ai cherché dans le handbook mais je ne vois pas comment je peux
changer la taille d'une partion UFS2 (sans perdre son contenu).
Est-ce possible ?
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Mon, 21 Apr 2008 11:19:42 +0200, Paul Gaborit écrivait (wrote):
Je vais reconstruire un nouveau monde et un nouveau noyau et réinstaller le tout pour voir si ça perdure...
Bon, c'est fait... Le problème perdure. Pour rappel, message:
link_elf: symbol msleep undefined
en fin de 'dmesg'. Ça doit provenir d'un autre programme. Je vais recompiler mes ports pour ne plus utiliser les anciennes bibliothèques et ça devrait rentrer dans l'ordre.
Mais, je me heurte à un nouveau problème. La noyau a pris un peu d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo. Or ma partition racine (/) ne fait que 256Mo (248Mo une fois formattée) ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en 7.x, à chaque installation d'un nouveau noyau, il n'y a plus la place pour recopier l'ancien !
J'ai cherché dans le handbook mais je ne vois pas comment je peux changer la taille d'une partion UFS2 (sans perdre son contenu).
Est-ce possible ?
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
espie
In article , Paul Gaborit <Paul.Gaborit+ wrote:
J'ai cherché dans le handbook mais je ne vois pas comment je peux changer la taille d'une partion UFS2 (sans perdre son contenu).
growfs ne fonctionne pas en freebsd 7 / sous ufs2 ?
C'est quoi l'interet d'avoir de l'UFS2 sur une partition aussi petite ?
In article <wt9r6czpdsh.fsf@marceau.enstimac.fr>,
Paul Gaborit <Paul.Gaborit+news@enstimac.fr> wrote:
J'ai cherché dans le handbook mais je ne vois pas comment je peux
changer la taille d'une partion UFS2 (sans perdre son contenu).
growfs ne fonctionne pas en freebsd 7 / sous ufs2 ?
C'est quoi l'interet d'avoir de l'UFS2 sur une partition aussi petite ?
Mais, je me heurte à un nouveau problème. La noyau a pris un peu d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo. Or ma partition racine (/) ne fait que 256Mo (248Mo une fois formattée) ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en 7.x, à chaque installation d'un nouveau noyau, il n'y a plus la place pour recopier l'ancien !
Héhé ... Been there done that :-)
Un petit rm -rf /boot/kernel.old et ça passe... tout juste
C'est effectivement ce que j'ai fait... mais il faut aimer vivre dangeureusement ! Et pour un serveur, c'est pas le top... ;-)
Je vais donc regarder à mieux choisir mes options du noyau (je n'ai certainement pas besoin de tout ce qu'il y a dans GENERIC) et/ou je vais agrandir ma "petite" partition.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Paul Gaborit <Paul.Gaborit@invalid.invalid> wrote:
Mais, je me heurte à un nouveau problème. La noyau a pris un peu
d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo. Or
ma partition racine (/) ne fait que 256Mo (248Mo une fois formattée)
ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en 7.x, à chaque
installation d'un nouveau noyau, il n'y a plus la place pour recopier
l'ancien !
Héhé ... Been there done that :-)
Un petit rm -rf /boot/kernel.old et ça passe... tout juste
C'est effectivement ce que j'ai fait... mais il faut aimer vivre
dangeureusement ! Et pour un serveur, c'est pas le top... ;-)
Je vais donc regarder à mieux choisir mes options du noyau (je n'ai
certainement pas besoin de tout ce qu'il y a dans GENERIC) et/ou je
vais agrandir ma "petite" partition.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Mais, je me heurte à un nouveau problème. La noyau a pris un peu d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo. Or ma partition racine (/) ne fait que 256Mo (248Mo une fois formattée) ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en 7.x, à chaque installation d'un nouveau noyau, il n'y a plus la place pour recopier l'ancien !
Héhé ... Been there done that :-)
Un petit rm -rf /boot/kernel.old et ça passe... tout juste
C'est effectivement ce que j'ai fait... mais il faut aimer vivre dangeureusement ! Et pour un serveur, c'est pas le top... ;-)
Je vais donc regarder à mieux choisir mes options du noyau (je n'ai certainement pas besoin de tout ce qu'il y a dans GENERIC) et/ou je vais agrandir ma "petite" partition.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Patrick Lamaizière
Le Mon, 21 Apr 2008 18:51:51 +0200,
Mais, je me heurte à un nouveau problème. La noyau a pris un peu d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo. Or ma partition racine (/) ne fait que 256Mo (248Mo une fois formattée) ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en 7.x, à chaque installation d'un nouveau noyau, il n'y a plus la place pour recopier l'ancien !
Héhé ... Been there done that :-)
Un petit rm -rf /boot/kernel.old et ça passe... tout juste
C'est effectivement ce que j'ai fait... mais il faut aimer vivre dangeureusement ! Et pour un serveur, c'est pas le top... ;-)
Tu peux n'effacer que les symbols, ça fait gagner vachement de place. J'ai fini par agrandir / aussi
Le Mon, 21 Apr 2008 18:51:51 +0200,
Mais, je me heurte à un nouveau problème. La noyau a pris un peu
d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo.
Or ma partition racine (/) ne fait que 256Mo (248Mo une fois
formattée) ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en
7.x, à chaque installation d'un nouveau noyau, il n'y a plus la
place pour recopier l'ancien !
Héhé ... Been there done that :-)
Un petit rm -rf /boot/kernel.old et ça passe... tout juste
C'est effectivement ce que j'ai fait... mais il faut aimer vivre
dangeureusement ! Et pour un serveur, c'est pas le top... ;-)
Tu peux n'effacer que les symbols, ça fait gagner vachement de place.
J'ai fini par agrandir / aussi
Mais, je me heurte à un nouveau problème. La noyau a pris un peu d'embonpoint : le répertoire /boot/kernel occupe maintenant 113Mo. Or ma partition racine (/) ne fait que 256Mo (248Mo une fois formattée) ce qui était suffisant avec FreeBSD 5.x ou 6.x. Mais en 7.x, à chaque installation d'un nouveau noyau, il n'y a plus la place pour recopier l'ancien !
Héhé ... Been there done that :-)
Un petit rm -rf /boot/kernel.old et ça passe... tout juste
C'est effectivement ce que j'ai fait... mais il faut aimer vivre dangeureusement ! Et pour un serveur, c'est pas le top... ;-)
Tu peux n'effacer que les symbols, ça fait gagner vachement de place. J'ai fini par agrandir / aussi
Je vais donc regarder à mieux choisir mes options du noyau (je n'ai certainement pas besoin de tout ce qu'il y a dans GENERIC) et/ou je vais agrandir ma "petite" partition.
il suffit de commenter la ligne (qui est active par défaut)
# makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
Bravo ! Je ne comprenais pas pourquoi ce noyau était devenu si gros... Voici l'explication !
Pour ne pas me fatiguer, j'avais bêtement mergé le nouveau fichier GENERIC à la fin de ma configuration locale sans le regarder en détail. Et pourtant c'est la toute première option du fichier GENERIC.
Ca gagne tout de suite un paquet de MB, et on ne debugge pas tous les jours le noyau d'un serveur en prod :-)
Je n'ai jamais débuggé un noyau FreeBSD (enfin si, une fois, mais c'était pour un driver). Je ne vais pas m'y mettre sur ce serveur. ;-)
Et pour la place prise par le noyau, c'est sûr, on y gagne : de 113Mo à ... (j'attends la fin de la compilation et de l'installation) ... 32Mo (en fait c'est la même chose qu'en supprimant les fichiers *.symbols).
Et là, ma partition / de 256Mo suffit largement !
Merci.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Paul Gaborit <Paul.Gaborit@invalid.invalid> wrote:
Je vais donc regarder à mieux choisir mes options du noyau (je n'ai
certainement pas besoin de tout ce qu'il y a dans GENERIC) et/ou je
vais agrandir ma "petite" partition.
il suffit de commenter la ligne (qui est active par défaut)
# makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
Bravo ! Je ne comprenais pas pourquoi ce noyau était devenu si gros...
Voici l'explication !
Pour ne pas me fatiguer, j'avais bêtement mergé le nouveau fichier
GENERIC à la fin de ma configuration locale sans le regarder en
détail. Et pourtant c'est la toute première option du fichier GENERIC.
Ca gagne tout de suite un paquet de MB, et on ne debugge pas tous les
jours le noyau d'un serveur en prod :-)
Je n'ai jamais débuggé un noyau FreeBSD (enfin si, une fois, mais
c'était pour un driver). Je ne vais pas m'y mettre sur ce serveur. ;-)
Et pour la place prise par le noyau, c'est sûr, on y gagne : de 113Mo
à ... (j'attends la fin de la compilation et de l'installation) ...
32Mo (en fait c'est la même chose qu'en supprimant les fichiers
*.symbols).
Et là, ma partition / de 256Mo suffit largement !
Merci.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Je vais donc regarder à mieux choisir mes options du noyau (je n'ai certainement pas besoin de tout ce qu'il y a dans GENERIC) et/ou je vais agrandir ma "petite" partition.
il suffit de commenter la ligne (qui est active par défaut)
# makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
Bravo ! Je ne comprenais pas pourquoi ce noyau était devenu si gros... Voici l'explication !
Pour ne pas me fatiguer, j'avais bêtement mergé le nouveau fichier GENERIC à la fin de ma configuration locale sans le regarder en détail. Et pourtant c'est la toute première option du fichier GENERIC.
Ca gagne tout de suite un paquet de MB, et on ne debugge pas tous les jours le noyau d'un serveur en prod :-)
Je n'ai jamais débuggé un noyau FreeBSD (enfin si, une fois, mais c'était pour un driver). Je ne vais pas m'y mettre sur ce serveur. ;-)
Et pour la place prise par le noyau, c'est sûr, on y gagne : de 113Mo à ... (j'attends la fin de la compilation et de l'installation) ... 32Mo (en fait c'est la même chose qu'en supprimant les fichiers *.symbols).
Et là, ma partition / de 256Mo suffit largement !
Merci.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>