Hi Martin, thanks for quick reply.
There are errors, values of the data that is different than the pattern. It is gr_block. I never had time to look into this but I always speculated that the code that takes the data from the files does not expect the data to be available. Thanks, Bogdan --- On Tue, 4/10/12, Martin Braun <martin.br...@kit.edu> wrote: > From: Martin Braun <martin.br...@kit.edu> > Subject: Re: [Discuss-gnuradio] Data lost whe using big file sources > To: discuss-gnuradio@gnu.org > Date: Tuesday, April 10, 2012, 2:09 PM > Hi Bogdan, > > On Tue, Apr 10, 2012 at 03:48:11AM -0700, Bogdan Diaconescu > wrote: > > Hello gnuradio fellows, > > > > I have an issue that appears in all gnuradio versions I > used lately (I started with 3.3 and last week I updated to > latest from git) and I thought I should post here before > allocating the time to look into it by myself. > > > > I'm modifying a gnuradio block that is connected from > python to 6 file sources. Everything works fine as long as > the files I'm using as source for data are relatively small > (30MB). When the files become large I see that the data > received in general_work() function is corrupted. It is not > massively corrupted but enough to screw my work. > > I've seen this behaviour, too. My workaround was to use a > throttle block > after noticing that my code works with USRPs, but not with > files. > However, I never managed to trace the bug to the file > source. Thanks for > this! > > > Investigating the problem, I did a small test with > having the 6 files filled with known patterns and printing > an error in the general_work() if what is received is > different. The result is that if I use files with sizes over > 100MB I see 50-80 errors in total. > > Do you have errors, or are samples missing? > > > Now, to unblock my work I did observe that if I insert > some printing in general_work() I will not get the errors. > Going further, inserting a boost delay of 100uS also solves > the problem. > > > > some more data: > > 1. I know the new blocks should use work() instead of > general_work() but is it still supposed to work as long as I > call consume_each(), right? > > That should work since general_work() calls work() and then > consume_each(). Have a look at the code of gr_block (or was > it > gr_basic_block?) > > MB > > > -- > Karlsruhe Institute of Technology (KIT) > Communications Engineering Lab (CEL) > > Dipl.-Ing. Martin Braun > Research Associate > > Kaiserstraße 12 > Building 05.01 > 76131 Karlsruhe > > Phone: +49 721 608-43790 > Fax: +49 721 608-46071 > www.cel.kit.edu > > KIT -- University of the State of Baden-Württemberg and > National Laboratory of the Helmholtz Association > > -----Inline Attachment Follows----- > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio