Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Firefox crashes Xorg. Illegal instructions [SOLVED]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
vladimir1986
n00b
n00b


Joined: 09 Dec 2010
Posts: 37

PostPosted: Mon Jul 14, 2014 9:08 am    Post subject: Firefox crashes Xorg. Illegal instructions [SOLVED] Reply with quote

First of all, I reckon there is a similar thread (https://forums.gentoo.org/viewtopic-t-995292.html). However, some things are different (he claims the problem happens after opening various tabs, I have problems with displaying media and tabs work fine), searching in google I found the same error with very different causes (and those solutions didn't work for me, so there might be various bugs? In any case, I am more than happy is this threads need to be merged

The consequences are the same tough: X crashes and I am kicked to a console. Usually after trying to pause a video (both using flash or html5), after such video finishes or simply by going to a site with tons of pictures (like google images)

As this crashes firefox I can't see if there is any debug message. However, I get a crash log on my X server http://bpaste.net/show/461692/.

I tried some heavy web browsers, like chromium (segfault, illegal instruction), chrome (segfault, illegal instruction), qupzilla (segfault, illegal instruction). I can't check why they fail as they take just more than the whole night to compile on my system, and I don't have the patience. I am left with Firefox only (dillo and links won't crash xorg, but they can't play videos either. Images work fine, but no animated gifs).

The crash log doesn't clear me much. Some kind of memory mess?

my graphic card is an ATI RV515/M52 (lspci also says "Mobility Radeon X1300").

I am inclined to blame firefox because games and other software works flawlessly, only firefox is being rude towards me

* I also tried revdep-update, but every single time I do it, it recompiles GCC, (that is another problem to fix), so I avoid it like the plague. Both problems mention directfb somewhere (directfb is recompiled with revdep-update too, and I can see an error thrown by the same library on xorg). Maybe it is related? I can't remove directfb as I do a lot of work from the terminal...


Last edited by vladimir1986 on Wed Jul 16, 2014 8:26 am; edited 1 time in total
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 6193

PostPosted: Mon Jul 14, 2014 1:50 pm    Post subject: Reply with quote

"illegal instruction" errors in most cases (barring rare compiler bugs) usually are user errors. - in case of Gentoo, most likely reason is setting your C{XX}FLAGS wrong.
Back to top
View user's profile Send private message
Telemin
l33t
l33t


Joined: 25 Aug 2005
Posts: 734
Location: Glasgow, UK

PostPosted: Mon Jul 14, 2014 2:03 pm    Post subject: Reply with quote

VoidMage wrote:
"illegal instruction" errors in most cases (barring rare compiler bugs) usually are user errors. - in case of Gentoo, most likely reason is setting your C{XX}FLAGS wrong.


Agreed, can you please post:

  • your /etc/portage/make.conf
  • the output of emerge --info
  • one of the stanzas of /proc/cpuinfo (you will see it is repeated per core, we only need the info once)



As Voidmage says it is probable that there is an error in your configuration somewhere, and that should give us a good start as to what is wrong.

-Telemin-
_________________
The Geek formerly known as -Freestyling-
When you feel your problem has been solved please add [Solved] to the topic title.
Please adopt an unanswered post
Back to top
View user's profile Send private message
vladimir1986
n00b
n00b


Joined: 09 Dec 2010
Posts: 37

PostPosted: Mon Jul 14, 2014 6:42 pm    Post subject: Reply with quote

Thanks for the reply. I actually did read that at least chromium is very picky with its optimization flags. There is my configuration files.

make.conf

CFLAGS="-march=core2 -O2 -fomit-frame-pointer -pipe"
CXXFLAGS="-march=core2 -O2 -fomit-frame-pointer -pipe"

MAKEOPTS="-j3"
LINGUAS="en_GB"

VIDEO_CARDS="radeon"
INPUT_DEVICES="synaptics evdev"

USE="midi timidity multicore mmx sse sse2 sse3 sse4_1 ssse3 gif ccdb xmpp \
musepack xmmp cue aalib libcaca directfb gpm fbcon offensive \
alsa savedconfig xinerama"

emerge --info [url] http://bpaste.net/show/462923/ [/url]

cpuinfo
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 14
model name : Genuine Intel(R) CPU T2400 @ 1.83GHz
stepping : 8
microcode : 0x39
cpu MHz : 1000.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm dtherm
bogomips : 3657.76
clflush size : 64
cache_alignment : 64
address sizes : 32 bits physical, 32 bits virtual
power management:


Mhhh all I can think is the optimization level? I don't really know to be honest
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 7051
Location: almost Mile High in the USA

PostPosted: Mon Jul 14, 2014 6:54 pm    Post subject: Reply with quote

Might try with setting the tuning to pentium-m instead of core2, it looks like it's a prior-to core2 CPU:
http://ark.intel.com/products/27235/Intel-Core-Duo-Processor-T2400-2M-Cache-1_83-GHz-667-MHz-FSB
_________________
Intel Core i7 2700K@ 4.1GHz/HD3000 graphics/8GB DDR3/180GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
Telemin
l33t
l33t


Joined: 25 Aug 2005
Posts: 734
Location: Glasgow, UK

PostPosted: Mon Jul 14, 2014 7:29 pm    Post subject: Reply with quote

Also, note that recent versions of gcc support the -march=native option, which will autodetect the appropriate optimisation settings to use without you having to trying to match your ark.intel.com entry to the available options in the manpage (which is an artform in itself sometimes;)).

(although a minor health warning is that this option is entirely incompatible with distcc, as it causes each build host to optimise for itself)

-Telemin-
_________________
The Geek formerly known as -Freestyling-
When you feel your problem has been solved please add [Solved] to the topic title.
Please adopt an unanswered post
Back to top
View user's profile Send private message
vladimir1986
n00b
n00b


Joined: 09 Dec 2010
Posts: 37

PostPosted: Mon Jul 14, 2014 8:48 pm    Post subject: Reply with quote

I was so sure I had a Core2!

Well, in any case I'll need to also recompile my kernel plus all the distribution again, so it will be some busy couple of days. I would love to use distcc, but my emergency laptop is X86_64 and I know there can be problems cross compiling...

Thank you for the reply. I am going to start this night and post results after I finish
Back to top
View user's profile Send private message
vladimir1986
n00b
n00b


Joined: 09 Dec 2010
Posts: 37

PostPosted: Wed Jul 16, 2014 8:25 am    Post subject: Reply with quote

Changed the arch, recompiled the whole system with emerge -e @world and now everything works like a charm. Thank you! :)
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Wed Jul 16, 2014 11:44 am    Post subject: Reply with quote

vladimir1986 wrote:
Code:
cpu family : 6
model : 14
model name : Genuine Intel(R) CPU T2400 @ 1.83GHz

vladimir1986 ... eccerr0r is correct in that its a "core duo" (and so an "enhanced pentium-m") and not a "core2". With -march=core2 you will enable avx, sse4.x, and other optimisations that the processor doesn't support ... -march=native will set/detect "-march=pentium-m" and disable those optimisations.

You can also remove the sse3 sse4_1 useflags ... it only supports up to sse2.

best ... khay
Back to top
View user's profile Send private message
vladimir1986
n00b
n00b


Joined: 09 Dec 2010
Posts: 37

PostPosted: Wed Jul 16, 2014 7:03 pm    Post subject: Reply with quote

khayyam wrote:
vladimir1986 wrote:
Code:
cpu family : 6
model : 14
model name : Genuine Intel(R) CPU T2400 @ 1.83GHz

vladimir1986 ... eccerr0r is correct in that its a "core duo" (and so an "enhanced pentium-m") and not a "core2". With -march=core2 you will enable avx, sse4.x, and other optimisations that the processor doesn't support ... -march=native will set/detect "-march=pentium-m" and disable those optimisations.

You can also remove the sse3 sse4_1 useflags ... it only supports up to sse2.

best ... khay


Done, and thank you for the warning!

Right now I am on my menuconfig, as I did choose core2 when I compiled my kernel. I assume that even if it just works, It will be good if I change it. You say that my CPU is a pentium-m (as you can see, I am quite illiterate about CPUS). I assume that I shall change it to Pentium4-m ?

The scarce info on the kernel tells that Pentium-m is used for notebooks, and later I have the option to choose Pentium4-M. At the same time, an old 2007-2008 post said that he used Pentium 4 on his Thinkpad T60 (is my laptop, and I am assuming that the config file would be slightly different back then) as the cpu is based on Pentium 4. I know the T60 shipped with two different CPUs, but both the old post an my laptop are using a family 6...
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Wed Jul 16, 2014 10:17 pm    Post subject: Reply with quote

vladimir1986 wrote:
khayyam wrote:
You can also remove the sse3 sse4_1 useflags ... it only supports up to sse2.

Done, and thank you for the warning!

vladimir ... you're welcome.

vladimir1986 wrote:
Right now I am on my menuconfig, as I did choose core2 when I compiled my kernel. I assume that even if it just works, It will be good if I change it. You say that my CPU is a pentium-m (as you can see, I am quite illiterate about CPUS). I assume that I shall change it to Pentium4-m?

Your cpu is a "core duo" (which is based on pentium-m but has "extended" features). Anyhow, you should probably choose CONFIG_MNATIVE=y this way the compiler will work out what the cpu is and what features it supports.

vladimir1986 wrote:
The scarce info on the kernel tells that Pentium-m is used for notebooks, and later I have the option to choose Pentium4-M. At the same time, an old 2007-2008 post said that he used Pentium 4 on his Thinkpad T60 (is my laptop, and I am assuming that the config file would be slightly different back then) as the cpu is based on Pentium 4. I know the T60 shipped with two different CPUs, but both the old post an my laptop are using a family 6...

Yeah, the 'm' stands or "mobile", the core duo just followed on after so had much the same design.

best ... khay
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum