discuss-gnuradio
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]