On Wednesday 01 April 2009, Abe Waranowitz wrote:
> Hey there, I'm trying to setup iwl5350 in my laptop on Gentoo Linux. ( -O2
> -mcpu=core2 -sse*)
>
> Instructions so far, work, but am getting GPF when trying to run wimaxd
> (1.4.0)
>
> [13684.284854] wimaxd[32568] general protection ip:7fa5119884fa
> sp:7fff1a20be60 error:0 in libpthread-2.9.so[7fa511980000+16000]
>
> Any suggestions on what to do?
Can you try the following?
$ ulimit -c unlimited # Set core files enabled with no size limti
$ wimaxd.. # run it, make it crash
Now there should be a core file (core or core.PID) in the directory
where you started it.
Run gdb:
$ gdb wimaxd core
...
Reading symbols from /lib/i686/cmov/libc.so.6...done.
Loaded symbols for /lib/i686/cmov/libc.so.6
Reading symbols from /lib/i686/cmov/libm.so.6...done.
Loaded symbols for /lib/i686/cmov/libm.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Core was generated by `wimaxd -d'.
Program terminated with signal 11, Segmentation fault.
[New process 23117]
[New process 23116]
[New process 23113]
[New process 23114]
[New process 23115]
#0 0x080a7c62 in SupplicantAgent_Initialize ()
at
../../../../../../L4.git/tools_projects/Pipe/wimaxd/Agents/Supplicant/SupplicantAgent.c:1157
1157 *(char *) 0 = 0;
(gdb) info stack
#0 0x080a7c62 in SupplicantAgent_Initialize ()
at
../../../../../../L4.git/tools_projects/Pipe/wimaxd/Agents/Supplicant/SupplicantAgent.c:1157
#1 0x08066590 in Act_InitPipeLogic ()
at ../../../../L4.git/tools_projects/Pipe/wimaxd/Act/Act.c:314
#2 0x080675cb in Act_DriverUp ()
at ../../../../L4.git/tools_projects/Pipe/wimaxd/Act/Act.c:693
#3 0x08067830 in Act_MessagesHandlingThreadFunc (lpParameter=0x0)
at ../../../../L4.git/tools_projects/Pipe/wimaxd/Act/Act.c:783
#4 0xb7f9c4e5 in start_thread () from /lib/i686/cmov/libpthread.so.0
#5 0xb7f150de in clone () from /lib/i686/cmov/libc.so.6
This one I forced it by doing something bad, but you get the idea :)
Also please go over each thread and dump their stack (if anyone has a more
effective idea on how to do this, I am all ears :) -- probably there is some
gdb magic to do it).
(gdb) thread X
(gdb) info stack
INFO
for finding the thread ids, run
(gdb) info threads
5 process 23115 0xb8010424 in __kernel_vsyscall ()
4 process 23114 0xb8010424 in __kernel_vsyscall ()
3 process 23113 0xb8010424 in __kernel_vsyscall ()
2 process 23116 0xb8010424 in __kernel_vsyscall ()
* 1 process 23117 0x080a7c62 in SupplicantAgent_Initialize ()
So you'd have to iterate X over 1, 2, 3, 4 and 5. To save typing, you can
abbreviate 'info stack' as 'i s' and 'thread' as 'thr'.
--
Inaky
_______________________________________________
wimax mailing list
[email protected]
http://www.linuxwimax.org/mailman/listinfo/wimax