Alrighty, thanks for another data point. If I end up trying to debug further it'll be good to know.
On Jul 14, 2017 2:54 PM, "Geof Nieboer" <gnieb...@corpcomm.net> wrote: > Doing this from memory, but as I recall the corruption happens because > iqbal/gqrx libraries believe sizeof(block) is different than what > gnuradio's libraries believe. So one library malloc's a different amount > of memory than the other library uses and frees. If during debugging you > call sizeof() from different parts of the call stack, it should become > clear. > > The problem I found is that if logger.h is included without ENABLE_GR_LOG, > it defines logger_ptr as a void*, whereas with it enabled and without > log4cpp it defines it as a std::string... and those are not guaranteed to > be the same size. > > Now having said that, this was on Windows, so perhaps on GCC > sizeof(std::string) == sizeof(void*) and you are facing a completely > different issue. But it sounds likely it's the same. Like yourself, I > didn't have time to dig any further as to what code change caused this > issue to surface at the time. > > Geof > > > On Fri, Jul 14, 2017 at 11:07 AM, Anon Lister <listera...@gmail.com> > wrote: > >> Hmm, so in my last test I completely skipped gr-iqbal. I had gnuradio, >> osmosdr with only file playback and python modules enabled, and gqrx. >> You'll still get a crash if you start file playback, then goto demod and >> change the type to nbfm, then wbfm. Believe it hits some cout in gnuradio >> like "Resampling audio from 96000 -> 48000." >> >> Given that line is just a cout, I'm geussing whatever logging facility is >> hijacking cout and leaves it in a bad state after some destructor is >> called. >> >> Also, if you build with -fsanitize=address, you do see that there's a >> memory corruption way before that destructor gets called, but I'm not sure >> if it's related. >> >> I gotta submit a PR for something in gr-dtv this weekend, so I might dig >> in more while I have things setup. >> >> >> On Jul 14, 2017 9:50 AM, "Geof Nieboer" <gnieb...@corpcomm.net> wrote: >> >> Don, >> >> I ran into the same exact issue while updating the windows build scripts. >> >> >> Another fix is to manually define ENABLE_GR_LOG during build of iqbal and >> gqrx to work around the issue without installing log4cpp. It appears to >> just affect those two so far. The windows build does not currently include >> log4cpp on 3.7.x builds. >> >> Geof >> >> >> On Thu, Jul 13, 2017 at 10:55 AM, Anon Lister <listera...@gmail.com> >> wrote: >> >>> Hey all, just an FYI, >>> >>> I don't have the time to go figure out what exactly is causing it, but >>> if you build from source with the log4cpp dep missing after a merged PR in >>> April/May(that fixed some log4cpp headers), then in certain circumstances, >>> you will get a segfault, due to a heap buffer overflow. >>> >>> There are a few code paths that crash. If gr-iqbal is installed, it will >>> crash right on opening gqrx. If not it will crash when switching demod >>> type. >>> >>> I believe both cases a call to a destructor on at least 1 block, >>> followed by some kind of printed message is the culprit. >>> >>> Took me a few days to find the "fix", as I thought it was related to >>> some new hardware I had, but then upon pulling I was able to reproduce on >>> my normal workstation and it went away when I installed log4cpp and >>> recompiled GR. Just though I'd throw this out Incase anyone else was having >>> the issue. >>> >>> I'll try to file a bug report, but ideally I would like to include more >>> information and I don't have time for that atm, and from what I understand >>> it might be OBE when 3.8 comes out as that's getting added as a required >>> dependency. >>> >>> I have not reproduced the crash in anything besides gqrx, but it seems >>> pretty solid that it's a bug in GR. I bet other apps that reconfigure >>> flowgraphs like shinysdr would trigger it as well. >>> >>> -Don >>> >>> _______________________________________________ >>> 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