Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 315701

Summary: Firefox 3.6.x segfaults
Product: Gentoo Linux Reporter: Martin Doucha <next_ghost>
Component: Current packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED TEST-REQUEST    
Severity: normal CC: pchrist
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Backtrace after segfault
emerge --info output

Description Martin Doucha 2010-04-17 08:55:15 UTC
Since I've updated Firefox to 3.6.2, I've been getting a lot of segfaults. These segfaults seem random but they always happen when I try to open multiple pages in tabs in very short time. When I try to load only one page at a time, it seems to work fine.

Reproducible: Always
Comment 1 Martin Doucha 2010-04-17 08:57:53 UTC
Created attachment 228107 [details]
Backtrace after segfault

Here's the best backtrace I could get. It seems the problem is somewhere between xulrunner and cairo. Rebuilding these packages with debug use flag doesn't add any more verbosity to the backtrace.
Comment 2 Martin Doucha 2010-04-17 08:59:28 UTC
Created attachment 228109 [details]
emerge --info output
Comment 3 Panagiotis Christopoulos (RETIRED) gentoo-dev 2010-04-18 10:01:51 UTC
Can you try to emerge it with CFLAGS="-O2 -march=prescott -pipe" only? if you still have segfaults, please reopen the bug. Thank you for your report. I resolve the bug as TEST-REQUEST.
Comment 4 Panagiotis Christopoulos (RETIRED) gentoo-dev 2010-04-18 10:03:55 UTC
++and any dependencies
Comment 5 Martin Doucha 2010-04-18 10:48:49 UTC
Removing optimization options seems to help, I'll do more testing later today. I assume I should report this to GCC maintainers.
Comment 6 Panagiotis Christopoulos (RETIRED) gentoo-dev 2010-04-18 11:11:35 UTC
(In reply to comment #5)
> Removing optimization options seems to help, I'll do more testing later today.
> I assume I should report this to GCC maintainers.
> 

I'm not a gcc expert, but most of such problems are caused by ricing cflags, like you did. Firefox code is tricky, overoptimization may cause such issues. If you can test, and eliminate the problem to the flag, or mix of flags that cause the problem, and this happens only to this specific version of firefox, maybe you can reopen the bug and we will assign it to the proper maintainters, and they can decide if they will filter that flags inside the ebuilds, or not.

Comment 7 Martin Doucha 2010-04-19 21:03:38 UTC
(In reply to comment #6)
> I'm not a gcc expert, but most of such problems are caused by ricing cflags,
> like you did. Firefox code is tricky, overoptimization may cause such issues.

I do have some experience with compiler internals (not GCC though) and there are basically 2 possibilities:
1) The optimizations I used are buggy and need to be fixed because they generate incorrect instructions.
2) Firefox sources break some language restriction (eg. do something that should never ever be done according to language standard) and GCC *correctly* optimizes out something important.

"Tricky" code usually means the latter, so I'll take a closer look on weekend and file a better bugreport to the right place.