srcds Illegal instruction error

I recently installed Ubuntu,but i cannot seem to get servers running.
They used to work on windows xp(same machine) but they don’t work with ubuntu.
Whenever i launch my gmod server i get this in my console:
lenny@server:~/gmod/orangebox$ ./srcds_run -console -game garrysmod +maxplayers 12 +map gm_construct
Auto detecting CPU
Using default binary: ./srcds_linux
Server will auto-restart if there is a crash.
Illegal instruction
Add “-debug” to the ./srcds_run command line to generate a debug.log to help with solving this problem
wo nov 10 20:56:51 CET 2010: Server restart in 10 seconds

I googled around and saw people talking about problems with sse and their cpu not supporting it.
I ran a test to see if i can,and i can!
lenny@server:~$ grep -i sse /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up

And last the debug log:

CRASH: wo nov 10 21:03:50 CET 2010
Start Line: ./srcds_linux -console -game garrysmod +maxplayers 12 +map gm_construct -debug
Core was generated by `./srcds_linux -console -game garrysmod +maxplayers 12 +map gm_construct -debug'.
Program terminated with signal 4, Illegal instruction.
#0  0x00121f25 in CalculateCPUFreq() () from bin/
#0  0x00121f25 in CalculateCPUFreq() () from bin/
#1  0x00121b14 in GetCPUInformation () from bin/
#2  0x0012378b in global constructors keyed to fasttimer.cpp ()
   from bin/
#3  0x0013f8b5 in __do_global_ctors_aux () from bin/
#4  0x0011f475 in _init () from bin/
#5  0x0089c8bc in ?? () from /lib/
#6  0x0089ca21 in ?? () from /lib/
#7  0x0088f88f in ?? () from /lib/
No symbol table info available.
eax            0x55e895	5630101
ecx            0x0	0
edx            0x0	0
ebx            0x14bff4	1359860
esp            0xbffc90d0	0xbffc90d0
ebp            0xbffc9168	0xbffc9168
esi            0xbffc9148	-1073966776
edi            0x1d	29
eip            0x121f25	0x121f25 <CalculateCPUFreq()+216>
eflags         0x210246	[ PF ZF IF RF ID ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51
From        To          Syms Read   Shared Object Library
0x00367460  0x00381778  Yes (*)     /lib/tls/i686/cmov/
0x00b43a40  0x00b44988  Yes (*)     /lib/tls/i686/cmov/
0x009a5270  0x009b0d98  Yes (*)     /lib/tls/i686/cmov/
0x001202d0  0x0013f8c4  Yes (*)     bin/
0x00539fa0  0x00559574  Yes (*)     bin/
0x0016a930  0x0025ed6c  Yes (*)     /lib/tls/i686/cmov/
0x0088f830  0x008a569f  Yes (*)     /lib/
(*): Shared library is missing debugging information.
Dump of assembler code for function _Z16CalculateCPUFreqv:
0x00121e4d <_Z16CalculateCPUFreqv+0>:	push   %ebp
0x00121e4e <_Z16CalculateCPUFreqv+1>:	mov    %esp,%ebp
0x00121e50 <_Z16CalculateCPUFreqv+3>:	push   %edi
0x00121e51 <_Z16CalculateCPUFreqv+4>:	push   %esi
0x00121e52 <_Z16CalculateCPUFreqv+5>:	push   %ebx
0x00121e53 <_Z16CalculateCPUFreqv+6>:	sub    $0x8c,%esp
0x00121e59 <_Z16CalculateCPUFreqv+12>:	call   0x120397 <__i686.get_pc_thunk.bx>
0x00121e5e <_Z16CalculateCPUFreqv+17>:	add    $0x2a196,%ebx
0x00121e64 <_Z16CalculateCPUFreqv+23>:	lea    -0xc61b(%ebx),%eax
0x00121e6a <_Z16CalculateCPUFreqv+29>:	mov    %eax,(%esp)
0x00121e6d <_Z16CalculateCPUFreqv+32>:	call   0x11f728 <getenv@plt>
0x00121e72 <_Z16CalculateCPUFreqv+37>:	test   %eax,%eax
0x00121e74 <_Z16CalculateCPUFreqv+39>:	je     0x121ea8 <_Z16CalculateCPUFreqv+91>
0x00121e76 <_Z16CalculateCPUFreqv+41>:	movl   $0x0,0xc(%esp)
0x00121e7e <_Z16CalculateCPUFreqv+49>:	movl   $0xa,0x8(%esp)
0x00121e86 <_Z16CalculateCPUFreqv+57>:	movl   $0x0,0x4(%esp)
0x00121e8e <_Z16CalculateCPUFreqv+65>:	mov    %eax,(%esp)
0x00121e91 <_Z16CalculateCPUFreqv+68>:	call   0x11f828 <__strtol_internal@plt>
0x00121e96 <_Z16CalculateCPUFreqv+73>:	mov    $0xf4240,%edx
0x00121e9b <_Z16CalculateCPUFreqv+78>:	imul   %edx
0x00121e9d <_Z16CalculateCPUFreqv+80>:	add    $0x8c,%esp
0x00121ea3 <_Z16CalculateCPUFreqv+86>:	pop    %ebx
0x00121ea4 <_Z16CalculateCPUFreqv+87>:	pop    %esi
0x00121ea5 <_Z16CalculateCPUFreqv+88>:	pop    %edi
0x00121ea6 <_Z16CalculateCPUFreqv+89>:	pop    %ebp
0x00121ea7 <_Z16CalculateCPUFreqv+90>:	ret    
0x00121ea8 <_Z16CalculateCPUFreqv+91>:	movl   $0x0,-0x50(%ebp)
0x00121eaf <_Z16CalculateCPUFreqv+98>:	movl   $0x0,-0x4c(%ebp)
0x00121eb6 <_Z16CalculateCPUFreqv+105>:	movl   $0x13880,-0x60(%ebp)
0x00121ebd <_Z16CalculateCPUFreqv+112>:	movl   $0x0,-0x5c(%ebp)
0x00121ec4 <_Z16CalculateCPUFreqv+119>:	movl   $0x0,-0x54(%ebp)
0x00121ecb <_Z16CalculateCPUFreqv+126>:	lea    -0x20(%ebp),%eax
0x00121ece <_Z16CalculateCPUFreqv+129>:	mov    %eax,-0x70(%ebp)
0x00121ed1 <_Z16CalculateCPUFreqv+132>:	lea    -0x28(%ebp),%edx
0x00121ed4 <_Z16CalculateCPUFreqv+135>:	mov    %edx,-0x6c(%ebp)
0x00121ed7 <_Z16CalculateCPUFreqv+138>:	movl   $0x0,0x4(%esp)
0x00121edf <_Z16CalculateCPUFreqv+146>:	mov    -0x70(%ebp),%esi
0x00121ee2 <_Z16CalculateCPUFreqv+149>:	mov    %esi,(%esp)
0x00121ee5 <_Z16CalculateCPUFreqv+152>:	call   0x11f988 <gettimeofday@plt>
0x00121eea <_Z16CalculateCPUFreqv+157>:	rdtsc  
0x00121eec <_Z16CalculateCPUFreqv+159>:	mov    %eax,-0x48(%ebp)
0x00121eef <_Z16CalculateCPUFreqv+162>:	mov    %edx,-0x44(%ebp)
0x00121ef2 <_Z16CalculateCPUFreqv+165>:	movl   $0x1388,(%esp)
0x00121ef9 <_Z16CalculateCPUFreqv+172>:	call   0x11f958 <usleep@plt>
0x00121efe <_Z16CalculateCPUFreqv+177>:	movl   $0x0,0x4(%esp)
0x00121f06 <_Z16CalculateCPUFreqv+185>:	mov    -0x6c(%ebp),%edx
0x00121f09 <_Z16CalculateCPUFreqv+188>:	mov    %edx,(%esp)
0x00121f0c <_Z16CalculateCPUFreqv+191>:	call   0x11f988 <gettimeofday@plt>
0x00121f11 <_Z16CalculateCPUFreqv+196>:	rdtsc  
0x00121f13 <_Z16CalculateCPUFreqv+198>:	sub    -0x48(%ebp),%eax
0x00121f16 <_Z16CalculateCPUFreqv+201>:	sbb    -0x44(%ebp),%edx
0x00121f19 <_Z16CalculateCPUFreqv+204>:	movd   %eax,%xmm0
0x00121f1d <_Z16CalculateCPUFreqv+208>:	movd   %edx,%xmm1
0x00121f21 <_Z16CalculateCPUFreqv+212>:	punpckldq %xmm1,%xmm0
0x00121f25 <_Z16CalculateCPUFreqv+216>:	movq   %xmm0,-0x40(%ebp)
0x00121f2a <_Z16CalculateCPUFreqv+221>:	fildll -0x40(%ebp)
0x00121f2d <_Z16CalculateCPUFreqv+224>:	test   %edx,%edx
0x00121f2f <_Z16CalculateCPUFreqv+226>:	js     0x1220e3 <_Z16CalculateCPUFreqv+662>
0x00121f35 <_Z16CalculateCPUFreqv+232>:	fstpl  -0x48(%ebp)
0x00121f38 <_Z16CalculateCPUFreqv+235>:	mov    $0xf4240,%eax
0x00121f3d <_Z16CalculateCPUFreqv+240>:	imull  -0x20(%ebp)
0x00121f40 <_Z16CalculateCPUFreqv+243>:	mov    %eax,-0x80(%ebp)
0x00121f43 <_Z16CalculateCPUFreqv+246>:	mov    %edx,-0x7c(%ebp)
0x00121f46 <_Z16CalculateCPUFreqv+249>:	mov    -0x24(%ebp),%esi
0x00121f49 <_Z16CalculateCPUFreqv+252>:	mov    %esi,%edi
0x00121f4b <_Z16CalculateCPUFreqv+254>:	sar    $0x1f,%edi
0x00121f4e <_Z16CalculateCPUFreqv+257>:	sub    %esi,-0x80(%ebp)
0x00121f51 <_Z16CalculateCPUFreqv+260>:	sbb    %edi,-0x7c(%ebp)
0x00121f54 <_Z16CalculateCPUFreqv+263>:	mov    -0x1c(%ebp),%esi
0x00121f57 <_Z16CalculateCPUFreqv+266>:	mov    %esi,%edi
0x00121f59 <_Z16CalculateCPUFreqv+268>:	sar    $0x1f,%edi
0x00121f5c <_Z16CalculateCPUFreqv+271>:	add    %esi,-0x80(%ebp)
0x00121f5f <_Z16CalculateCPUFreqv+274>:	adc    %edi,-0x7c(%ebp)
0x00121f62 <_Z16CalculateCPUFreqv+277>:	mov    $0xf4240,%eax
0x00121f67 <_Z16CalculateCPUFreqv+282>:	imull  -0x28(%ebp)
0x00121f6a <_Z16CalculateCPUFreqv+285>:	sub    %eax,-0x80(%ebp)
0x00121f6d <_Z16CalculateCPUFreqv+288>:	sbb    %edx,-0x7c(%ebp)
0x00121f70 <_Z16CalculateCPUFreqv+291>:	movl   $0xf4240,0x8(%esp)
0x00121f78 <_Z16CalculateCPUFreqv+299>:	movl   $0x0,0xc(%esp)
0x00121f80 <_Z16CalculateCPUFreqv+307>:	mov    -0x80(%ebp),%esi
0x00121f83 <_Z16CalculateCPUFreqv+310>:	mov    -0x7c(%ebp),%edi
0x00121f86 <_Z16CalculateCPUFreqv+313>:	mov    %esi,(%esp)
0x00121f89 <_Z16CalculateCPUFreqv+316>:	mov    %edi,0x4(%esp)
0x00121f8d <_Z16CalculateCPUFreqv+320>:	call   0x13f5d0 <__udivdi3>
0x00121f92 <_Z16CalculateCPUFreqv+325>:	movd   %eax,%xmm0
0x00121f96 <_Z16CalculateCPUFreqv+329>:	movd   %edx,%xmm1
0x00121f9a <_Z16CalculateCPUFreqv+333>:	punpckldq %xmm1,%xmm0
0x00121f9e <_Z16CalculateCPUFreqv+337>:	movq   %xmm0,-0x40(%ebp)
0x00121fa3 <_Z16CalculateCPUFreqv+342>:	fildll -0x40(%ebp)
0x00121fa6 <_Z16CalculateCPUFreqv+345>:	test   %edx,%edx
0x00121fa8 <_Z16CalculateCPUFreqv+347>:	js     0x1220d8 <_Z16CalculateCPUFreqv+651>
0x00121fae <_Z16CalculateCPUFreqv+353>:	fstpl  -0x30(%ebp)
0x00121fb1 <_Z16CalculateCPUFreqv+356>:	fldl   -0x30(%ebp)
0x00121fb4 <_Z16CalculateCPUFreqv+359>:	fldl   -0x48(%ebp)
0x00121fb7 <_Z16CalculateCPUFreqv+362>:	fdivp  %st,%st(1)
0x00121fb9 <_Z16CalculateCPUFreqv+364>:	flds   -0xc60c(%ebx)
0x00121fbf <_Z16CalculateCPUFreqv+370>:	fxch   %st(1)
0x00121fc1 <_Z16CalculateCPUFreqv+372>:	fucomi %st(1),%st
0x00121fc3 <_Z16CalculateCPUFreqv+374>:	jae    0x1220ad <_Z16CalculateCPUFreqv+608>
0x00121fc9 <_Z16CalculateCPUFreqv+380>:	fstp   %st(1)
0x00121fcb <_Z16CalculateCPUFreqv+382>:	fnstcw -0x32(%ebp)
0x00121fce <_Z16CalculateCPUFreqv+385>:	movzwl -0x32(%ebp),%eax
0x00121fd2 <_Z16CalculateCPUFreqv+389>:	mov    $0xc,%ah
0x00121fd4 <_Z16CalculateCPUFreqv+391>:	mov    %ax,-0x34(%ebp)
0x00121fd8 <_Z16CalculateCPUFreqv+395>:	fldcw  -0x34(%ebp)
0x00121fdb <_Z16CalculateCPUFreqv+398>:	fistpll -0x40(%ebp)
0x00121fde <_Z16CalculateCPUFreqv+401>:	fldcw  -0x32(%ebp)
0x00121fe1 <_Z16CalculateCPUFreqv+404>:	mov    -0x40(%ebp),%eax
0x00121fe4 <_Z16CalculateCPUFreqv+407>:	mov    -0x3c(%ebp),%edx
0x00121fe7 <_Z16CalculateCPUFreqv+410>:	mov    -0x60(%ebp),%esi
0x00121fea <_Z16CalculateCPUFreqv+413>:	mov    -0x5c(%ebp),%edi
0x00121fed <_Z16CalculateCPUFreqv+416>:	sub    -0x50(%ebp),%esi
0x00121ff0 <_Z16CalculateCPUFreqv+419>:	sbb    -0x4c(%ebp),%edi
0x00121ff3 <_Z16CalculateCPUFreqv+422>:	cmp    $0x0,%edi
0x00121ff6 <_Z16CalculateCPUFreqv+425>:	ja     0x122088 <_Z16CalculateCPUFreqv+571>
0x00121ffc <_Z16CalculateCPUFreqv+431>:	cmp    $0x9c40,%esi
0x00122002 <_Z16CalculateCPUFreqv+437>:	ja     0x122088 <_Z16CalculateCPUFreqv+571>
0x00122008 <_Z16CalculateCPUFreqv+443>:	mov    -0x50(%ebp),%esi
0x0012200b <_Z16CalculateCPUFreqv+446>:	mov    -0x4c(%ebp),%edi
0x0012200e <_Z16CalculateCPUFreqv+449>:	sub    %eax,%esi
0x00122010 <_Z16CalculateCPUFreqv+451>:	sbb    %edx,%edi
0x00122012 <_Z16CalculateCPUFreqv+453>:	cmp    $0x0,%edi
0x00122015 <_Z16CalculateCPUFreqv+456>:	ja     0x122088 <_Z16CalculateCPUFreqv+571>
0x00122017 <_Z16CalculateCPUFreqv+458>:	cmp    $0x9c40,%esi
0x0012201d <_Z16CalculateCPUFreqv+464>:	ja     0x122088 <_Z16CalculateCPUFreqv+571>
0x0012201f <_Z16CalculateCPUFreqv+466>:	mov    -0x60(%ebp),%esi
0x00122022 <_Z16CalculateCPUFreqv+469>:	mov    -0x5c(%ebp),%edi
0x00122025 <_Z16CalculateCPUFreqv+472>:	sub    %eax,%esi
0x00122027 <_Z16CalculateCPUFreqv+474>:	sbb    %edx,%edi
0x00122029 <_Z16CalculateCPUFreqv+476>:	cmp    $0x0,%edi
0x0012202c <_Z16CalculateCPUFreqv+479>:	ja     0x122088 <_Z16CalculateCPUFreqv+571>
0x0012202e <_Z16CalculateCPUFreqv+481>:	cmp    $0x9c40,%esi
0x00122034 <_Z16CalculateCPUFreqv+487>:	ja     0x122088 <_Z16CalculateCPUFreqv+571>
0x00122036 <_Z16CalculateCPUFreqv+489>:	add    -0x60(%ebp),%eax
0x00122039 <_Z16CalculateCPUFreqv+492>:	adc    -0x5c(%ebp),%edx
0x0012203c <_Z16CalculateCPUFreqv+495>:	add    -0x50(%ebp),%eax
0x0012203f <_Z16CalculateCPUFreqv+498>:	adc    -0x4c(%ebp),%edx
0x00122042 <_Z16CalculateCPUFreqv+501>:	movl   $0x3,0x8(%esp)
0x0012204a <_Z16CalculateCPUFreqv+509>:	movl   $0x0,0xc(%esp)
0x00122052 <_Z16CalculateCPUFreqv+517>:	mov    %eax,(%esp)
0x00122055 <_Z16CalculateCPUFreqv+520>:	mov    %edx,0x4(%esp)
0x00122059 <_Z16CalculateCPUFreqv+524>:	call   0x13f5d0 <__udivdi3>
0x0012205e <_Z16CalculateCPUFreqv+529>:	cmp    $0x0,%edx
0x00122061 <_Z16CalculateCPUFreqv+532>:	ja     0x121e9d <_Z16CalculateCPUFreqv+80>
0x00122067 <_Z16CalculateCPUFreqv+538>:	cmp    $0x98967f,%eax
0x0012206c <_Z16CalculateCPUFreqv+543>:	ja     0x121e9d <_Z16CalculateCPUFreqv+80>
0x00122072 <_Z16CalculateCPUFreqv+549>:	lea    0x0(%esi),%esi
0x00122078 <_Z16CalculateCPUFreqv+555>:	call   0x121cb0 <_Z18GetCPUFreqFromPROCv>
0x0012207d <_Z16CalculateCPUFreqv+560>:	add    $0x8c,%esp
0x00122083 <_Z16CalculateCPUFreqv+566>:	pop    %ebx
0x00122084 <_Z16CalculateCPUFreqv+567>:	pop    %esi
0x00122085 <_Z16CalculateCPUFreqv+568>:	pop    %edi
0x00122086 <_Z16CalculateCPUFreqv+569>:	pop    %ebp
0x00122087 <_Z16CalculateCPUFreqv+570>:	ret    
0x00122088 <_Z16CalculateCPUFreqv+571>:	addl   $0x1,-0x54(%ebp)
0x0012208c <_Z16CalculateCPUFreqv+575>:	mov    -0x50(%ebp),%esi
0x0012208f <_Z16CalculateCPUFreqv+578>:	mov    -0x4c(%ebp),%edi
0x00122092 <_Z16CalculateCPUFreqv+581>:	mov    %esi,-0x60(%ebp)
0x00122095 <_Z16CalculateCPUFreqv+584>:	mov    %edi,-0x5c(%ebp)
0x00122098 <_Z16CalculateCPUFreqv+587>:	mov    %eax,-0x50(%ebp)
0x0012209b <_Z16CalculateCPUFreqv+590>:	mov    %edx,-0x4c(%ebp)
0x0012209e <_Z16CalculateCPUFreqv+593>:	cmpl   $0x258,-0x54(%ebp)
0x001220a5 <_Z16CalculateCPUFreqv+600>:	jne    0x121ed7 <_Z16CalculateCPUFreqv+138>
0x001220ab <_Z16CalculateCPUFreqv+606>:	jmp    0x122072 <_Z16CalculateCPUFreqv+549>
0x001220ad <_Z16CalculateCPUFreqv+608>:	fsubp  %st,%st(1)
0x001220af <_Z16CalculateCPUFreqv+610>:	fnstcw -0x32(%ebp)
0x001220b2 <_Z16CalculateCPUFreqv+613>:	movzwl -0x32(%ebp),%eax
0x001220b6 <_Z16CalculateCPUFreqv+617>:	mov    $0xc,%ah
0x001220b8 <_Z16CalculateCPUFreqv+619>:	mov    %ax,-0x34(%ebp)
0x001220bc <_Z16CalculateCPUFreqv+623>:	fldcw  -0x34(%ebp)
0x001220bf <_Z16CalculateCPUFreqv+626>:	fistpll -0x40(%ebp)
0x001220c2 <_Z16CalculateCPUFreqv+629>:	fldcw  -0x32(%ebp)
0x001220c5 <_Z16CalculateCPUFreqv+632>:	mov    -0x40(%ebp),%eax
0x001220c8 <_Z16CalculateCPUFreqv+635>:	mov    -0x3c(%ebp),%edx
0x001220cb <_Z16CalculateCPUFreqv+638>:	lea    -0x80000000(%edx),%esi
0x001220d1 <_Z16CalculateCPUFreqv+644>:	mov    %esi,%edx
0x001220d3 <_Z16CalculateCPUFreqv+646>:	jmp    0x121fe7 <_Z16CalculateCPUFreqv+410>
0x001220d8 <_Z16CalculateCPUFreqv+651>:	fadds  -0xc608(%ebx)
0x001220de <_Z16CalculateCPUFreqv+657>:	jmp    0x121fae <_Z16CalculateCPUFreqv+353>
0x001220e3 <_Z16CalculateCPUFreqv+662>:	lea    -0xc608(%ebx),%eax
0x001220e9 <_Z16CalculateCPUFreqv+668>:	fadds  (%eax)
0x001220eb <_Z16CalculateCPUFreqv+670>:	jmp    0x121f35 <_Z16CalculateCPUFreqv+232>
End of assembler dump.
Stack level 0, frame at 0xbffc9170:
 eip = 0x121f25 in CalculateCPUFreq(); saved eip 0x121b14
 called by frame at 0xbffc91c0
 Arglist at 0xbffc9168, args: 
 Locals at 0xbffc9168, Previous frame's sp is 0xbffc9170
 Saved registers:
  ebx at 0xbffc915c, ebp at 0xbffc9168, esi at 0xbffc9160, edi at 0xbffc9164,
  eip at 0xbffc916c
End of Source crash report

I have no idea what to do.
I tried installing tf2 before and after gmod to be sure that i got the right linux binaries.

Anybody knows the magical cure?

It would help if you use


Sorry,i forgot them.

Idea’s still welcome.

Edit your post please…


Core was generated by `./srcds_linux -console -game garrysmod +maxplayers 12 +map gm_construct -debug'.

Why do you have -debug?

I get it, to get the debug log…
But, I don’t know, I’m totally noob on this section.
I think you have to be at the srcds forums? Or am I wrong?

Most of the steam forums are dead.
You only get an answer on things that are VERY easy.
Sow i hope to have more luck here.

I think this isn’t the right place then.
They also reply on things they know, but I guess, that you need to contact valve or something, I’m not sure.
Since they don’t help people, even when they made like 20 threads, spread over 6 months, I think that this forum is pretty… dead…

Don’t think contacting valve wi’ll help.
They never answer,recently i asked for help to get 2 old stolen acc’s back(from my cousin) they gave one and now i asked for the second one again without any response.
Guess i’ll have to take a good look in ubuntu or go back to windows.

For anybody else on linux having this problem.
Run your server using WINE.
I thought the servers had the correct linux binaries but somebody said they dont,i decided to take a look.
Server works fine with WINE.