|
From: <sl...@bl...> - 2004-08-19 15:54:36
|
"gboutwel" <gbo...@pr...> writes: > sl...@bl... wrote: > > > What is puzzling me is that I don't understand why only Firefox is > > affected by this. I am running many other programs that use > > floating point and none of them have this problem. Gnumeric uses > > many of the same libraries as Firefox (I am building Firefox > > against GTK2) and it seems to run. (Actually, it crashes the > > first time I run it (no idea why because the Gnome software > > helpfully hides the cause and pops up a window saying it has > > crashed but without giving the signal), but then if I run it > > immediately afterward it runs fine. This is new since the upgrade > > to the coLinux 2004-07-19 snapshot. Strange.) GV also runs fine, > > and it surely is doing a lot of floating point operations to scale > > and render fonts. > > > > Comments? > > Did you emerge or re-emerge firefox after updating to the new > snapshot? No and yes. "No" in the sense that the old build of Firefox (from before switching from coLinux 0.6.1 to the new snapshot) exhibits the problem. "Yes" in the sense that I then tried building a new version of Firefox to see if the problem might go away. Both the old version and the new version fail in the same way. I still have them both on my system. By the way, I have discovered that Xdvi also has the problem. It was built before I switched to the coLinux snapshot. > We have another person on IRC who reported getting > FPEs all of a sudden. He changed his cflags to something a little > safer and re-emerged his system with the new cflags and he no > longer gets FPEs. I recompiled the .o files where Firefox was crashing with "-O0" (no optimization at all, only using i386 features and not extra features of Pentium 4) and it didn't help. The only thing that helped was recompiling those .o files with "-msoft-float -mno-fp-ret-in-387 -lfp-bit" (where libfp-bit.a is a library for doing floating point operations in software). However, even recompiling all of the .o files of Firefox didn't seem to be enough because it still crashed in .o files from shared libraries. Did the person you mention re-emerge his *entire* system? Firefox uses these shared libraries: linux-gate.so.1 libmozjs.so libxpcom.so libplds4.so libplc4.so libnspr4.so libpthread.so.0 libdl.so.2 libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libatk-1.0.so.0 libgdk_pixbuf-2.0.so.0 libpangoxft-1.0.so.0 libpangox-1.0.so.0 libpango-1.0.so.0 libgobject-2.0.so.0 libgmodule-2.0.so.0 libglib-2.0.so.0 libX11.so.6 libm.so.6 libstdc++.so.5 libgcc_s.so.1 libc.so.6 /lib/ld-linux.so.2 libXrandr.so.2 libXi.so.6 libXinerama.so.1 libXext.so.6 libXft.so.2 libfreetype.so.6 libXrender.so.1 libfontconfig.so.1 libXcursor.so.1 libpangoft2-1.0.so.0 libexpat.so.0 libz.so.1 I'd rather not have to recompile all of these libraries, especially since they worked fine with coLinux 0.6.1 and Linux kernel 2.4. > I've been using the latest sources including > the changes in the 07/19 snapshot for like a month now, on Gentoo > with out a single FPE. I just emerged firefox and I don't see > any FPE while I'm using it at all. What is your CPU? On my system, /proc/cpuinfo reveals: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 9 model name : Intel(R) Pentium(R) M processor 1100MHz stepping : 5 cpu MHz : 0.000 cache size : 1024 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe tm2 est bogomips : 766.77 I find it interesting that the other person who recently sent e-mail about problems also has a "Intel Pentium M processor 1100MHz". > Is it possible that the prior versions of coLinux allowed FP > operations that shouldn't have been allowed and now that we've > fixed that, it's identifying a situation that was being allowed > but shouldn't have been in FireFox? This seems doubtful. Under the debugger, it is clear that things are going horribly wrong with straightforward instructions to merely load floating point values into floating point registers from memory or convert values in floating point registers into integers and store them into memory. I don't think movsd or cvttsd2si are extra or unusual operations. > The only significant change > between 0.6.1 and 0719 in regards to FP operations was that flop20 > didn't pass and now does. Where do I get flops20 so I can try it on my machine? Is it available as a Gentoo ebuild? "emerge search flops" and "emerge search float" do not reveal it. Thanks a lot for your advice! -- Joe |