Page 1 of 1

[Firefox] El navegador me bloquea el sistema continuamente

Posted: Fri Dec 16, 2005 10:55 pm
by Ark del KAOS
Unos 5/15 minutos me aguanta el sistema en pie mientras uso el firefox 1.5 (bin, 1.5, 1.5-r1, y 1.5-r2)
Y lo necesito, ya que estoy programando una extensión.

Se que está enmascarado, pero también se que la gente lo está usando sin el mas mínimo problema.

Solo pueden ser 2 cosas (espero):
- Los drivers de Nvidia, que estoy usando los mas nuevos y enmascarados.
Ahora bien, me van perfectos con el resto de aplicaciones. Mejor que el resto de drivers.
Y la diferencia es abismal
- El propio Firefox...pero no entiendo porque a mi me va TAN mal y a los demás no.

Los logs no me dicen nada, y no siempre es el mismo tipo de bloqueo.
Unas veces se queda frito todo el sistema.
Otras el kde, que no me deja iniciar nada
Y las menos molestas solo se queda el firefox congelado, pero no me deja matarlo si como root.

A ver si me ayudáis con esto, porque se hace insufrible.

Posted: Sat Dec 17, 2005 6:25 am
by Ark del KAOS
¿Puede que sean las cflags?
blueice ark # emerge --info
Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-gentoo-r2 i686)
=================================================================
System uname: 2.6.14-gentoo-r2 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.6.13
dev-lang/python: 2.3.5, 2.4.2
sys-apps/sandbox: 1.2.12
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils: 2.16.1
sys-devel/libtool: 1.5.20
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -m3dnow -mmmx -msse -mfpmath=sse -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -m3dnow -mmmx -msse -mfpmath=sse -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/dis ... ons/gentoo"
LANG="es_ES.UTF-8"
LC_ALL="es_ES.UTF-8"
LINGUAS="es"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/usr/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow 4l2 X Xaw3d aac aalib acpi alsa apm arts audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzip2 bzlib cddb cdr cjk cript crypt cups curl dga directfb divx4linux dts dv dvb dvd dvdr dvdread eds emboss encode esd exif expat fam fbcon ffmpeg flash foomaticdb fortran gdbm gif gimpprint glut gphoto2 gpm gstreamer gtk gtk2 hal idn imagemagick imlib ipv6 jabber java javascript jpeg kde kdeenablefinal lcms ldap libg++ libwww live logitech logitech-mouse lua lzo mad matroska mikmod mmx mng motif mouse mozilla mp3 mpeg msn musicbrainz mysql nas ncurses network nls nptl nptlonly nvidia ogg oggvorbis opengl oss pam pcre pdflib perl png python qt quicktime readline real rtc samba scanner sdl slp sockets spell sse ssl symlink tcpd tetex theora tiff toolbar truetipe truetype truetype-fonts type1-fonts udev unicode usb v4l videos visualization vorbis win32codecs xanim xine xml2 xmms xprint xscreensaver xv xvid xvidl xvmc zlib linguas_es userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LDFLAGS

Posted: Sat Dec 17, 2005 9:39 am
by quelcom
Que CFLAGS más bestias :lol:

Hombre... si has probado la -bin y te ocurre lo mismo yo descartaría que los tiros fuesen por ahí...

Lo primero sería probar con los nv genéricos y ver que sucede.

Por otra parte, tienes activado "RenderAccel" ? (a mi me dió muchos problemas con Firefox)

Saludos

Posted: Sat Dec 17, 2005 3:22 pm
by Stolz
La verdad es que los flags son bastante feos, no se como os podéis obsesionar tanto :). Tiene muchas papeletas para ser culpa de los flags.

Yo haría una copia de tu actual firefox con el comando quickpkg y probaria a reinstalarlo con unos flags menos agresivos. O mejor aun, una vez hecha la copia desinstala firefox e instala firefox-bin que es una forma más rápida todavía de averiguar si el problema son los FLAGS.

Si probando otros flags o la versión binaria sigue pasando, recupera la copia que hiciste y cuando se produzca el fallo intenta cambiar de consola (ctl+alt+Fx) o entra a tu máquina a través de ssh y con el comando top mira si el programa que se traga toda la CPU es firefox u otro, asi tendras mas pistas sobre la causa.

Saludozzzzzz

Posted: Sat Dec 17, 2005 4:35 pm
by LinuxBlues
Firefox, tanto en esta (benditos creadores de ebuilds), como en muchas otras distribuciones filtra casi todas las CFLAGS. Es decir de toda la lista mostrada quedará como mucho viva -march=athlon-xp, de las demás olvídate.
Échale un vistazo al ebuild y te convences...
Dudo que sea por eso.

No haré ningún comentario acerca de las CFLAGS mostradas, no es asunto mío.

Posted: Mon Dec 19, 2005 3:53 am
by Ark del KAOS
A ver, ya os avise arriba de que esto me pasaba tanto con las sources como con los binarios.
Acaba de salir una versión nueva, la r3, y parece que aguanta en pie mas que la anterior.

Pero, ¿sabéis que?
Si tan "bestias" os parecen...acepto sugerencias :D
Como veis tengo un athlon XP (2600+) de los típicos.
¿que flags creéis que debería utilizar?
Esto me va a venir bien, ya que así me podeis indicar alguna nueva implementacion al gcc 3.4 :wink:

Posted: Mon Dec 19, 2005 2:50 pm
by LinuxBlues
Ark del KAOS wrote: Como veis tengo un athlon XP (2600+) de los típicos.
¿que flags creéis que debería utilizar?
Esto me va a venir bien, ya que así me podeis indicar alguna nueva implementacion al gcc 3.4
Voy a contar un poco mi experiencia, pero Disclaimer (renuncia de responsabilidad): si tomas una decisión, tómala por tí mismo. No te bases en lo que cuento para llegar después y echarme la bronca porque las cosas no funcionan como esperabas.

En principio -m3dnow -mmmx y -msse son redundantes (en teoría), -march=athlon-xp ya las incluye y además te hace un prefecth sse. El manual de gcc dice que se ha de incluir -msse para poder usar -mfpmath=sse, sin embargo no dice que los procesadores que ya incluyen el juego de instrucciones, evidentemente, no necesitan añadirla: de pentium3 en adelante. Además teniendo las USE 3dnow mmx y sse, como las tienes, los programas que puedan beneficiarse de añadir el juego de instrucciones en el ensamblador, como xorg-x11 o mplayer ya lo harán. Y decía lo de en teoría, porque algunos programas no me han funcionado correctamente con ellas: fallos en el cálculo de posición en un fichero de texto, por ejemplo. Por lo que he visto en el código de GCC me temo que lo que falla es añadir mmx a procesadores con sse, dado que sse lo presupone o incluye de algún modo; pero si me hacen jurarlo, no lo juraría y lo que no voy a hacer es ponerme a estudiar juegos de instrucciones de procesadores por esta chorradita, dejo el march, mfpmath=sse y listo.

Con maccumulate-outgoing-args, obtienes una importante mejora, pero ojo, incrementando el tamaño del binario considerablemente. Tan sólo depende de lo que quieras obtener y realizar un contrapeso, comprobando programas y tamaños con y sin ella. quickpkg te resultará de mucha ayuda para hacer pruebas. Pero es como ganar en una cosa, para perder en todas las restantes, ya verás...

Con respecto a todo lo de los loops, he visto que hay algunos programas que se benefician y otros no, pero aún me quedan muchas pruebas por hacer y no puedo decir nada más de momento. (Andar haciendo benchmarks me parece tremendamente aburrido).

:arrow: CFLAGS que añadiría a las tuyas: -momit-leaf-frame-pointer, es complementaria a -fomit-frame-pointer y te deja un registro adicional libre en las leaf functions; utilizado de forma completamente innecesaria si se tiene el -fomit-frame-pointer y si no se tiene el -momit-leaf-frame-pointer.

:arrow: CXXFLAGS que añadiría (sólo con gcc-3.4.x): -fvisibility-inlines-hidden Según cuentan en GCCWiki - Visibility, es una CXXFLAG de aplicar y ganar en rendimiento sin más, dado que no afecta al código del programa, sencillamente lo hace más rápido. La tengo desde hará unos cuatro o cinco meses (mucho antes de que gcc-3.4.4 estuviese considerado estable) y no me ha dado el más mínimo problema. Eso sí, evita a toda costa el -fvisibility=hidden de ese Wiki, dado que si el programa o ha implementado ningún parámetro de "visibilidad" modifica el código, y se lo carga. En mis pruebas, los programas dejaban de compilar tras incontables referencias a clases C++ blah::bleh que no encontraban. Hay algunos que funcionan con ella, pero conste que no la estoy recomendando.


:?: :?: :?: Insisto :?: :?: :?: Exceptuando -fvisibility-inlines-hidden en las CXXFLAGS y quizá -momit-leaf-frame-pointer en las CFLAGS, si todo te ha ido bien no toques las CFLAGS, por algo las estarás usando.

Posted: Mon Dec 19, 2005 3:22 pm
by Ark del KAOS
Pues muchas gracias XD
Realmente no se muy bien ni lo que uso. Cuando compuse esas lineas intente hacer un compendio de las que mas usaba la gente, a base de preguntar y buscar por el foro en los emerge --info
Desgraciadamente de vez en cuando algún programa se me pone tonto, y me toca aligerar las cflags. Así que realmente no pierdo nada por limitarlas, aunque en mi caso seria mas bien mejorarlas, para perder la molestia de las aplicaciones que no compilan.

Posted: Tue Dec 20, 2005 7:26 pm
by pacho2
Más información en:
http://gentoo-wiki.com/Safe_Cflags

Saludos