discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] "corrupted double-linked list" crash


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] "corrupted double-linked list" crash
Date: Tue, 1 Aug 2017 11:19:22 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

Hi Sebastian,

ok, that looks like only one installation, indeed. Then let's dig deeper. It really looks like we've got a memory management mishap taking place somewhere in the python runtime, sooooo did you maybe update python, libc or anything relevant between building (and installing) GNU Radio and now?

Point is that it's still a bit unlikely that we uncover Python bugs, so the more likely reason is that something with your specific binaries is amiss – that's my working hypothesis.

Best regards,

Marcus


On 07/31/2017 10:02 PM, Sebastian wrote:

 

 

Hi Marcus,

 

thanks for your reply and i am sorry for answering late.

 

I guess there is only one version of runtime-lib on my system.

I ran „sudo find -name libgnuradio-runtime*.so*“ and got this:

 

./usr/local/lib/libgnuradio-runtime-3.7.11.1.so

./usr/local/lib/libgnuradio-runtime-3.7.11.1.so.0

./usr/local/lib/libgnuradio-runtime-3.7.11.1.so.0.0.0  

./usr/local/lib/libgnuradio-runtime.so

 

./home/grc1/gnuradio/build/gnuradio-runtime/lib/ libgnuradio-runtime-3.7.11.1.so

./home/grc1/gnuradio/build/gnuradio-runtime/lib/ libgnuradio-runtime-3.7.11.1.so.0

./home/grc1/gnuradio/build/gnuradio-runtime/lib/ libgnuradio-runtime-3.7.11.1.so.0.0.0

./home/grc1/gnuradio/build/gnuradio-runtime/lib/ libgnuradio-runtime.so

 

So i guess it´s ok, isnt it? I edited CmakeCache to make sure that my OOT-Module is linked against ./usr/local/lib/libgnuradio-runtime-3.7.11.1.so.0.0.0, like the other modules are.

The error is still there.

 

When I seperate the hier_block constellation modulator into its subblocks and tested it step by step, I noticed that the error occurs within the arbitrary resampler.

I reduced the number of taps and it works (meaning that no error occurs), but now I am unable to use a GUI-block afterwards to check the result.

 

Python2: malloc.c: sysmalloc: Assertion `(old_top == initial_top(av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & pagesize – 1)) == 0)`

 

I hope you can give a hint what to do next because I´ve got no idea what´s causing this error.

 

Sebastian

 

Von: Marcus Müller
Gesendet: Mittwoch, 26. Juli 2017 21:57
An: address@hidden; Sebastian
Betreff: "corrupted double-linked list" crash (was: (no subject))

 

Hi Sebastian,

this is certainly the right place to come and ask :)

So, thank's for the error description. I'm pretty optimistic this isn't your code's problem – there's something else amiss. If you go down the backtrace, you'll notice that this happens (or at least, seems to happen) inside the constructor of a "Throttle" block, in fact, in the constructor of the gr::basic_block super-super-super-class of gr::blocks:throttle. This leads me to believe that the likeliest explanation, especially since your tests work, is that you're building and running your tests in an environment that uses a different set of GNU Radio binaries/libraries than your GRC.

So, things to make sure:

Is there only one libgnuradio-runtime*.so on your system?

Best regards,

Marcus

 

On 25.07.2017 20:00, Sebastian wrote:

 

 

Hi all,

 

I dont know whether this is the right place to ask, so please tell if i am wrong.

I am afraid that i am new to gnuradio, so i got a problem writing an OOT-module.

 

I used gr_modtool for the basic structure, wrote my code and did one of these unit tests.

My test case worked so i installed it, connecting the blocks the same way like I did in that test,

and it failed producing this trace back:

 

*** Error in `/usr/bin/python2': corrupted double-linked list: 0x000000000293e300

***

======= Backtrace: =========

 

/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7ff42dc2b7e5]

 

/lib/x86_64-linux-gnu/libc.so.6(+0x81f88)[0x7ff42dc35f88]

 

/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x54)[0x7ff42dc375d4]

 

/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_Znwm+0x18)[0x7ff42ac73e78]

 

/usr/local/lib/libgnuradio-runtime-3.7.11.1.so.0.0.0(_ZN2gr11basic_block24message_port_register_inEN5boost13intrusive_ptrIN3pmt8pmt_baseEEE+0x139)[0x7ff417b690a9]

 

/usr/local/lib/libgnuradio-runtime-3.7.11.1.so.0.0.0(_ZN2gr5blockC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5boost10shared_ptrINS_12io_signatureEEESC_+0x3ae)[0x7ff417b7454e]

 

/usr/local/lib/libgnuradio-runtime-3.7.11.1.so.0.0.0(_ZN2gr10sync_blockC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5boost10shared_ptrINS_12io_signatureEEESC_+0x5e)[0x7ff417bc5dbe]

 

/usr/local/lib/libgnuradio-blocks-3.7.11.1.so.0.0.0(+0x1925c9)[0x7ff417fa45c9]

 

/usr/local/lib/libgnuradio-blocks-3.7.11.1.so.0.0.0(_ZN2gr6blocks8throttle4makeEmdb+0x49)[0x7ff417fa4b69]

 

/usr/local/lib/python2.7/dist-packages/gnuradio/blocks/_blocks_swig1.so(+0x125744)[0x7ff41666e744]

 

/usr/bin/python2(PyEval_EvalFrameEx+0x68a)[0x4c468a]

/usr/bin/python2(PyEval_EvalCodeEx+0x255)[0x4c2765]

 

/usr/bin/python2(PyEval_EvalFrameEx+0x6099)[0x4ca099]

/usr/bin/python2(PyEval_EvalCodeEx+0x255)[0x4c2765]

 

/usr/bin/python2[0x4de6fe]

/usr/bin/python2(PyObject_Call+0x43)[0x4b0cb3]

/usr/bin/python2[0x4f492e]

 

/usr/bin/python2(PyObject_Call+0x43)[0x4b0cb3]

/usr/bin/python2[0x4f46a7]

/usr/bin/python2[0x4b670c]

 

/usr/bin/python2(PyObject_Call+0x43)[0x4b0cb3]

/usr/bin/python2(PyEval_EvalFrameEx+0x5faf)[0x4c9faf]

 

/usr/bin/python2(PyEval_EvalCodeEx+0x255)[0x4c2765]

/usr/bin/python2(PyEval_EvalFrameEx+0x6099)[0x4ca099]

 

/usr/bin/python2(PyEval_EvalCodeEx+0x255)[0x4c2765]

/usr/bin/python2(PyEval_EvalCode+0x19)[0x4c2509]

 

/usr/bin/python2[0x4f1def]

/usr/bin/python2(PyRun_FileExFlags+0x82)[0x4ec652]

/usr/bin/python2(PyRun_SimpleFileExFlags+0x191)[0x4eae31]

 

/usr/bin/python2(Py_Main+0x68a)[0x49e14a]

/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7ff42dbd4830]

 

/usr/bin/python2(_start+0x29)[0x49d9d9]

 

If needed, i can provide a memory map, too.

 

My question is what does the error in line 5 mean. I dont alloc anything neither using a new call, so I think this causes the error.

I declared message ports within the constructor like it`s done in other library modules.

 

This iussue vanished using a char_to_float connected to a QT GUI Time Sink as final step instead of constellation modulator and null sink.

 

I am looking forward to hearing from you and many thanks for your help. If any futher Information needed, i am glad to provide it.

 

Sebastian

 




_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

 

 



_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

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