Segmentation fault : Try to make dual channel building blocks


#1

Hi all,

Now I’m building some signaling blocks having dual output streams.
But if I try to make dual output streams which have different data type
from
input stream, ‘Segmentation fault’ error is occurred. How can I make
dual
outputs which have different data type from input stream?

Thanks in advance.
Yong


View this message in context:
http://www.nabble.com/Segmentation-fault-%3A-Try-to-make-dual-channel-building-blocks-tp22378574p22378574.html
Sent from the GnuRadio mailing list archive at Nabble.com.


#2

On Fri, Mar 06, 2009 at 11:03:28AM -0800, Yong J. Chang wrote:

Hi all,

Now I’m building some signaling blocks having dual output streams.
But if I try to make dual output streams which have different data type from
input stream, ‘Segmentation fault’ error is occurred. How can I make dual
outputs which have different data type from input stream?

Thanks in advance.
Yong

Have you read

http://www.gnu.org/software/gnuradio/doc/howto-write-a-block.html ?

There are always separate is_signatures for input and output
directions. Look at gr_io_signature.h for additional information.
gdb will tell you where you are segfaulting.

Eric


#3

Thank you Eric,

But I still have a problem. I simply made two blocks.

  1. First One
    gr_data_parser::gr_data_parser ()
    : gr_block (“gr_data_parser”,
    gr_make_io_signature (1, 1, sizeof (gr_complex)),
    gr_make_io_signature (1, 2, sizeof (gr_complex)))

  2. Second One
    gr_data_parser2::gr_data_parser2 ()
    : gr_block (“gr_data_parser2”,
    gr_make_io_signature (1, 2, sizeof (gr_complex)),
    gr_make_io_signature (1, 1, sizeof (gr_complex)))

And I connect above two blocks in following way.

self.connect(self.u, … , data_parser, data_parser2 , … self. u);

I put a debug code in the function ‘general_work()’ of first function, I
just can have

output_items.size() = 1

The number of output stream of first block could not be changed. Is
there
any other point I should change?

Thanks in advance
Yong

View this message in context:
http://www.nabble.com/Segmentation-fault-%3A-Try-to-make-dual-channel-building-blocks-tp22378574p22383386.html
Sent from the GnuRadio mailing list archive at Nabble.com.


#4

On Fri, Mar 06, 2009 at 05:22:44PM -0800, Yong J. Chang wrote:

I put a debug code in the function ‘general_work()’ of first function, I
just can have

output_items.size() = 1

That means that the block has a single output, not that the size of
the output item is 1 byte.

Eric