[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Weird threading problem
From: |
Dan Halperin |
Subject: |
[Discuss-gnuradio] Weird threading problem |
Date: |
Wed, 28 Mar 2007 15:57:14 -0700 |
User-agent: |
Thunderbird 1.5.0.10 (X11/20070306) |
Hi,
So I made a loopback graph (file source, modulator, demodulator, file
sink) with a short 1K file in it. The following code works (runs and
exits without any exceptions):
graph = loopback_graph()
print "starting"
graph.start()
print "started"
print "stopping"
graph.stop()
print "done"
As does the following:
graph = loopback_graph()
print "starting"
graph.start()
print "started"
for x in range(1000):
for y in range(10000):
pass
# print "stopping"
# graph.stop()
print "done"
But this does not:
graph = loopback_graph()
print "starting"
graph.start()
print "started"
# for x in range(1000):
# for y in range(10000):
# pass
# print "stopping"
# graph.stop()
print "done"
It exits with this inscrutable message:
>>> gr_fir_ccf: using SSE
starting
started
done
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
So, discussion:
A) Case 2 should really print an exception, or a warning, or something
right? Why would the application exit without any errors if I haven't
stopped the flow graph? Or is it automatically stopped by the
file_source exhausting its input?
B) There must be some competing thread issue in Case 3 that makes things
go crazy, right? I should note I'm running this on a Intel(R) XEON(TM)
CPU 2.20GHz with "4" cores - I think it has two multithreaded cores. I'm
not sure, it's a few years old, but I've run into all kinds of weird
thread problems in my apps on this machine that don't pop up in other
machines with single cores or with a dual-core Athlon X2 TL-50.
-Dan
- [Discuss-gnuradio] Weird threading problem,
Dan Halperin <=