depuis ce matin j'ai un problème avec Firefox, enfin Iceweasel mais j'imagine que le code qui est derrière est pour l'essentiel le même.
Tout d'abord mon système :
Triple boot Seven (/dev/sda1) / Debian (/dev/sda2) / CrunchBang (/dev/sda6) + une partition de données NTFS accessible à partir de tous les OS dont l'étiquette est 'Data' (/dev/sda7).
Mon problème concerne Iceweasel installé sous Debian Squeeze stable, plus d'infos via la commande uname -a :
Code : Tout sélectionner
Linux debian 2.6.32-5-686 #1 SMP Mon Jan 16 16:04:25 UTC 2012 i686 GNU/Linux
La liste de mes dépôts avec en gras les dépôts Debian Mozilla et backports (les dépôts backports sont obligatoires pour pouvoir installer la release d'Iceweasel sous Debian d'après cette page) :
#
# deb cdrom:[Debian GNU/Linux 6.0.3 _Squeeze_ - Official i386 NETINST Binary-1 20111008-19:55]/ squeeze main
#deb cdrom:[Debian GNU/Linux 6.0.3 _Squeeze_ - Official i386 NETINST Binary-1 20111008-19:55]/ squeeze main
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
# squeeze-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
# backports
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
# Debian Mozilla
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
# This file makes sure that Opera Browser is kept up-to-date
# as part of regular system upgrades
deb http://deb.opera.com/opera/ stable non-free #Opera Browser (final releases)
# The line above will make sure you get all final public releases.
# Uncomment the following line if you want to get alpha and beta
# releases, too.
# deb http://deb.opera.com/opera-beta/ stable non-free #Opera Browser (beta releases)
# Debian-Multimedia.org
deb http://www.debian-multimedia.org squeeze main non-free
Ma version d'Iceweasel (telle que me l'indique la commande 'aptitude show iceweasel') :
Version : 10.0.2-1~bpo60+1
C'est la version 10.0.2, donc stable et non pas beta ou alpha je suppose.
Mes extensions :
- Adblock Plus
Adblock Plus Pop-up Addon
Add-on Compatibility Reporter
Noia 4
Configurateur du thème Noia 4
Video DownloadHelper
Download Statusbar
Element Hiding Helper pour Adblock Plus
Flagfox
Flash-Aid
Ghostery
iGraal
Menu Editor
Tineye Reverse Image Search
Tree Style Tab
WOT
Mon problème :
ce matin je lance Debian et quelques applications dont Iceweasel, RSSOwl et VLC. Au bout d'une heure et demie le système se met à ralentir, le pointeur de la souris met du temps à réagir, vlc connaît lui-aussi des latences. Je regarde dans le tableau de bord du haut dans lequel j'ai mis un indicateur de la charge cpu.
Petit aparté :
J'ai l'impression que l'indicateur me montre 2 courbes l'une correspondant à la charge des applications lancées par le système et l'autre celle des applications lancées par l'utilisateur (toutefois je n'en suis pas sûr). Les 2 courbes sont bleues, l'une bleue claire, l'autre pareille mais plus transparente.
Je regarde donc l'indicateur de la charge cpu et la première courbe reste normale (10% environ) tandis que la deuxième s'envole (100% environ).
J'essaie de reprendre le contrôle en tuant le processus à l'origine de cette envolée mais je n'arrive pas à ouvrir un terminal. Je passe à la console (ctrl + alt + F1), je donne mon login et mon mdp (le système réagit mais très lentement), je tape 'top' histoire de voir quels sont les processus les plus gourmands, mais rien ne se passe. Finalement je laisse tomber en redémarrant le serveur graphique (alt + impr. écran + k).
A ce moment-là je me dis que peut-être j'ai un virus. Oui je suis un peu parano, dès que quelque chose cloche sur mon système je me dis que c'est peut-être la faute à un virus/trojan/keylogger/vers... En plus ce problème se produit le lendemain de mes premiers pas sur IRC et comme j'ai entendu dire qu'IRC était un excellent moyen de propagation de virus...
Je reboot sur mon live-cd de Karspersky Rescue CD 10 et je lance un scan sur la partition sda2 (Debian) avec la configuration la plus exigente. Rien, à part 6 avertissements dû au fait que j'avais installé mIRC via wine sur Debian (oui je sais mIRC sur Debian c'est une hérésie mais je voulais juste l'essayer rien de plus, autrement j'utilise XChat) et que Kaspersky considère mIRC comme une application trop facilement exploitable par des personnes mal intentionnées.
J'ai supprimé les fichiers que Kaspersky avait trouvés, j'ai reboot sous Windows 7, je mets à jour le système et l'antivirus, désinstalle mIRC juste au cas où (oui il était aussi installé sous Seven), je passe un coup de CCleaner pour supprimer les clés de registre laissées après la désinstallation, je reboot sous Debian, je modifie /etc/fstab pour interdire l'exécution de scripts à partir de la partition Data en faisant passer l'option 'exec' à 'noexec' et je me dis que dans l'immédiat ça devrait suffire (de toute façon à ma connaissance il n'existe pas réellement de virus sous Linux à part des proof of concept) et que c'était sans doute un problème qui ne se reproduirait pas.
Je relance Iceweasel ainsi que RSSOwl et au bout de quelques minutes à nouveau le même problème se produit. Je ne peux presque plus rien faire, même pas fermer Iceweasel, heureusement un terminal était déjà ouvert, j'en profite pour taper 'top', le terminal répond péniblement mais répond tout de même et je vois la liste des processus les plus gourmands. Bizarrement aucun n'a l'air de consommer beaucoup de ressources cpu, par contre l'un d'entre eux consomme 85% de la mémoire vive (je n'ai que 2 Go de ram), il s'agit de 'firefox-bin'.
Du coup je me dis que peut-être mon problème est une fuite mémoire d'Iceweasel. Depuis quelques heures et au moment où je vous écris ces lignes je me sers d'Opera et aucun problème à déplorer, mais j'aimerais bien pouvoir réutiliser Iceweasel sereinement. Pourriez-vous m'aider à confirmer ou à infirmer l'hypothèse de la fuite mémoire et s'il s'agit bien d'une fuite mémoire, pourriez-vous m'aider à en trouver la cause ? Un site particulier, un add-on, un conflit récent entre plusieurs paquets depuis la dernière mise à jour du système ... je ne sais pas trop par où commencer ni comment éliminer/confirmer mes différentes hypothèses.
Je précise une dernière chose, même si je ne pense pas que cela soit la cause de mes soucis, j'ai toujours beaucoup d'onglets ouverts, je ne sais pas combien exactement peut-être une centaine. Oui je sais je devrais faire le ménage, je le ferai mais encore une fois je doute que ce soit l'origine de mes soucis car cela fait longtemps que j'ai beaucoup d'onglets ouverts dans Iceweasel sans que cela ne pose le moindre problème et de plus j'ai activé une option qui fait qu'Iceweasel ne charge pas tous les onglets mais seulement l'onglet actif.
Voilà j'espère que vous pourrez m'aider un peu. Je vous remercie d'avance.
PS : je ne sais pas si ça pourra vous aider à m'aider mais je viens de taper 'about:memory' dans Iceweasel et voici le résultat (je précise qu'au moment où je l'ai tapé le système allait très bien et que depuis j'ai redémarré le serveur graphique parce que j'ai un peu la trouille que le système ne plante quelques minutes après avoir lancé Iceweasel) :
Code : Tout sélectionner
Main Process
Explicit Allocations
149.99 MB (100.0%) -- explicit
├───84.03 MB (56.03%) -- js
│ ├──51.34 MB (34.23%) -- compartment([System Principal], 0xffffffffb1d70000)
│ │ ├──32.26 MB (21.51%) -- gc-heap
│ │ │ ├──14.67 MB (09.78%) -- objects
│ │ │ │ ├───7.41 MB (04.94%) -- function
│ │ │ │ └───7.25 MB (04.84%) -- non-function
│ │ │ ├───7.57 MB (05.05%) -- shapes
│ │ │ │ ├──5.52 MB (03.68%) -- tree
│ │ │ │ └──2.05 MB (01.37%) -- dict
│ │ │ ├───6.64 MB (04.42%) -- arena
│ │ │ │ ├──6.41 MB (04.27%) -- unused
│ │ │ │ └──0.23 MB (00.15%) -- (2 omitted)
│ │ │ ├───1.90 MB (01.26%) -- strings
│ │ │ ├───1.20 MB (00.80%) -- scripts
│ │ │ └───0.28 MB (00.19%) -- (2 omitted)
│ │ ├───5.29 MB (03.53%) -- string-chars
│ │ ├───4.08 MB (02.72%) -- object-slots
│ │ ├───3.36 MB (02.24%) -- mjit-code
│ │ │ ├──2.08 MB (01.39%) -- method
│ │ │ ├──1.24 MB (00.83%) -- regexp
│ │ │ └──0.03 MB (00.02%) -- (1 omitted)
│ │ ├───2.60 MB (01.74%) -- script-data
│ │ ├───1.80 MB (01.20%) -- shapes-extra
│ │ │ ├──0.96 MB (00.64%) -- (3 omitted)
│ │ │ └──0.84 MB (00.56%) -- tree-tables
│ │ ├───1.50 MB (01.00%) -- analysis-temporary
│ │ └───0.44 MB (00.29%) -- (2 omitted)
│ ├──14.85 MB (09.90%) -- gc-heap-chunk-dirty-unused
│ ├───6.46 MB (04.31%) -- compartment(about:blank)
│ │ ├──6.01 MB (04.01%) -- gc-heap
│ │ │ ├──4.12 MB (02.75%) -- arena
│ │ │ │ ├──4.08 MB (02.72%) -- unused [102]
│ │ │ │ └──0.05 MB (00.03%) -- (2 omitted)
│ │ │ ├──0.99 MB (00.66%) -- objects
│ │ │ │ ├──0.82 MB (00.55%) -- function [102]
│ │ │ │ └──0.17 MB (00.11%) -- (1 omitted)
│ │ │ ├──0.85 MB (00.56%) -- shapes
│ │ │ │ └──0.85 MB (00.56%) -- tree [102]
│ │ │ └──0.05 MB (00.03%) -- (2 omitted)
│ │ └──0.45 MB (00.30%) -- (3 omitted)
│ ├───4.31 MB (02.87%) -- compartment(atoms)
│ │ ├──2.85 MB (01.90%) -- string-chars
│ │ └──1.46 MB (00.97%) -- gc-heap
│ │ ├──1.42 MB (00.95%) -- strings
│ │ └──0.04 MB (00.02%) -- (1 omitted)
│ ├───4.00 MB (02.67%) -- stack
│ ├───1.16 MB (00.77%) -- runtime
│ │ ├──1.00 MB (00.67%) -- atoms-table
│ │ └──0.16 MB (00.11%) -- (1 omitted)
│ ├───1.05 MB (00.70%) -- (5 omitted)
│ └───0.88 MB (00.58%) -- gc-heap-chunk-admin
├───38.96 MB (25.97%) -- heap-unclassified
├───11.76 MB (07.84%) -- layout
│ ├───8.81 MB (05.87%) -- shell(about:blank)
│ │ ├──7.43 MB (04.96%) -- styledata [102]
│ │ └──1.37 MB (00.92%) -- arenas [102]
│ ├───1.91 MB (01.27%) -- shell(chrome://browser/content/browser.xul)
│ │ ├──1.49 MB (01.00%) -- arenas
│ │ └──0.41 MB (00.27%) -- (2 omitted)
│ └───1.05 MB (00.70%) -- (4 omitted)
├───10.70 MB (07.14%) -- storage
│ └──10.70 MB (07.14%) -- sqlite
│ ├───5.49 MB (03.66%) -- places.sqlite
│ │ ├──5.37 MB (03.58%) -- cache-used [3]
│ │ └──0.12 MB (00.08%) -- (2 omitted)
│ ├───3.16 MB (02.10%) -- (11 omitted)
│ └───2.05 MB (01.37%) -- other
├────2.23 MB (01.49%) -- startup-cache
├────1.40 MB (00.94%) -- (7 omitted)
└────0.90 MB (00.60%) -- xpti-working-set
Resident Set Size (RSS) Breakdown
Proportional Set Size (PSS) Breakdown
Virtual Size Breakdown
Swap Usage Breakdown
Other Measurements
0.00 MB -- canvas-2d-pixel-bytes
0.02 MB -- gfx-surface-image
3.14 MB -- gfx-surface-xlib
83.12 MB -- heap-allocated
94.48 MB -- heap-committed
12.01% -- heap-committed-unallocated-fraction
2.66 MB -- heap-dirty
44.88 MB -- heap-unallocated
3 -- js-compartments-system
107 -- js-compartments-user
56.00 MB -- js-gc-heap
10.64 MB -- js-gc-heap-arena-unused
0.00 MB -- js-gc-heap-chunk-clean-unused
14.85 MB -- js-gc-heap-chunk-dirty-unused
0.00 MB -- js-gc-heap-decommitted
45.51% -- js-gc-heap-unused-fraction
1.75 MB -- js-total-analysis-temporary
3.84 MB -- js-total-mjit
20.35 MB -- js-total-objects
3.86 MB -- js-total-scripts
10.30 MB -- js-total-shapes
11.48 MB -- js-total-strings
0.41 MB -- js-total-type-inference
304 -- page-faults-hard
75,981 -- page-faults-soft
185.84 MB -- resident
480.71 MB -- vsize