[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Linrad] Re: Linrad 03.05b Frequent  Messages
- Subject: [Linrad] Re: Linrad 03.05b Frequent  Messages
- From: Leif Asbrink <sm5bsz.com; leif@xxxxxxxxxxxxxxxx>
- Date: Thu, 9 Apr 2009 12:59:59 +0200
Hi again Thomas,
> I start Linrad, select "C" and click the arrows at the top of the
> display, either right or left in various combinations. After a few
> clicks, I get message 1284.
> sudo gdb ./xlinrad
> (gdb) r
> The program being debugged has been started already.
> Start it from the beginning? (y or n) y
You can usually not run Linrad with a debugger. The CPU will appear
too slow and the USB system will crasch. Linrad then hangs on a
blocking read waiting for data to be returned from the USB
device driver. There is another thread in Linrad that eventually
discovers that the input thread has died and that thread generates
the error message you see.
What happens if you do not invoke the debugger?
If you really want to use the debugger you have to use bigger
decimation factors to get a much lower sampling rate. In the
order of 10 kHz perhaps. It depends on what you do. Frequent
clicking arrows that lead to a reconfiguration of the memory space
will always crasch Linrad when running under a debugger in case
you selected large storage times that lead to the need for the
debugger to manage allocation and freeing of large memory areas.
> Starting program: /home/tomdean/Radio/linrad-03.05b/xlinrad
> [Thread debugging using libthread_db enabled]
> [New Thread 0xb7c858d0 (LWP 10590)]
I do not know how to read these tables.....
> Program exited with code 04.
Or what code 04 means...
> If I press F1 in the top left arrow box, I get message . Clicking
> the mouse in this screen causes a segment violation.
OK. This is an error nobody reported before. With all Linrad versions
up to 03.05b you are not permitted to click the mouse while reading the
F1 help screen. I am not sure this will be an easy thing to change.
many threads are involved.....
I will have a look at it.
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xb18abb90 (LWP 10583)]
> 0x080bd130 in clear_baseb () at wcw.c:152
> 152 for(i=0; i<k; i++)fft3_slowsum[i]=0;
> (gdb) bt
> #0 0x080bd130 in clear_baseb () at wcw.c:152
> #1 0x080bd793 in narrowband_dsp () at wcw.c:1261
> #2 0x08096503 in thread_narrowband_dsp () at lxsys.c:510
> #3 0xb7e154ff in start_thread ()
> from /lib/tls/i686/cmov/libpthread.so.0
> #4 0xb7d6949e in clone () from /lib/tls/i686/cmov/libc.so.6
This is a real bug. I think you provoked it by using the debugger
because I have never seen it myself. Nevertheless it is a real
programming error that might occur now and then depending
on cpu load and number of cores etc. I am pretty sure the
error is caused by a mistake that allows the involved functions
to be called from more that one thread. Such mistakes should never
happen, but they do because Linrad was originally a single-threaded
program. Those errors that do not manifest themselves are to
some extent still hidden inside Linrad.
I will try to understand this one:-)
Leif / SM5BSZ
You received this message because you are subscribed to the Google Groups "Linrad" group.
To post to this group, send email to linrad@xxxxxxxxxxxxxxxx
To unsubscribe from this group, send email to linrad+unsubscribe@xxxxxxxxxxxxxxxx
For more options, visit this group at http://groups.google.com/group/linrad?hl=en