-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
On starting the modem the GUI closes. 1.9.9-dev #700
Comments
Terminal output is as follows (same with --verbose). [baz@jackodesktop ~]$ bt freedv |
FWIW I have been using my own builds of both those packages, and subsequently the distro releases, on Fedora 39 without any problems of this nature. Fedora 40 beta release in a week, I'll see if that breaks anything. |
Yeah, the Windows and macOS builds also use LPCNet 0.5 and codec2 1.2 and I haven't heard anything like this from Windows or Mac users recently. @barjac, are you able to compile FreeDV with |
I just discovered that the codec2-1.2 build had lost its BuildRequire on lpcnetfreedv and also Cmake's -DLPCNET:BOOL=ON during the clean-up to avoid the old build-twice scenario. Now there is still an issue but it's a segfault with core dump on hitting Start. Re-building with libasan and -fsanitize=address and will post bt and terminal output. |
Terminal output:
The following were taken before I got fsanitize working: strace: The above files appear to get lost on github I just get a 404 - tried replacing them and get the same error :( |
Just remember to disable that for stable packages, it does slow down execution to some extent. |
Yes will do. Good night all! |
I'm wondering whether 2020 is getting disabled in the codec2 build now. There is a possible scenario where 2020 is still enabled in Anyway, it might be worth editing |
OK this is getting somewhere. With FirstTimeUse set to 0 (as it was) but with:
On subsequent runs with the same two settings in ~/.freedv the GUI dies on hitting Start and it now reports:
|
This kinda looks like a Hamlib problem:
What version are you using? Also, I really do suspect some sort of issue with how codec2 was built. The first time use check happens here: #if defined(FREEDV_MODE_2020)
// First time use: make sure 2020 mode will actually work on this machine.
if (wxGetApp().appConfiguration.firstTimeUse)
{
test2020Mode_();
}
else
{
wxGetApp().appConfiguration.freedvAVXSupported = test2020HWAllowed_();
}
#endif // defined(FREEDV_MODE_2020) which would only get called if 2020 was enabled in the library. Can you try setting FirstTimeUse to 1 again and running FreeDV in |
hamlib is lib64hamlib4-4.5.5-1.mga9. Still at last Mga9 build. `backtrace: registers: current instructions: threads backtrace: Thread 10 (Thread 0x7fffdb3e46c0 (LWP 16734) "FreeDV GUI"): Thread 9 (Thread 0x7fffdbbe56c0 (LWP 16733) "FreeDV GUI"): Thread 8 (Thread 0x7fffdc3e66c0 (LWP 16732) "FreeDV GUI"): Thread 7 (Thread 0x7fffe8f7f6c0 (LWP 16731) "threaded-ml"): Thread 6 (Thread 0x7fffeddfb6c0 (LWP 16730) "pool-freedv"): Thread 5 (Thread 0x7fffee5fc6c0 (LWP 16729) "freedv"): Thread 4 (Thread 0x7fffeedfd6c0 (LWP 16705) "gdbus"): Thread 3 (Thread 0x7fffef5fe6c0 (LWP 16704) "gmain"): Thread 2 (Thread 0x7fffefdff6c0 (LWP 16703) "pool-spawner"): Thread 1 (Thread 0x7ffff1e78a80 (LWP 16700) "FreeDV GUI"): ` |
Mike was working on a hamlib-4.5.6 release almost a year ago, but the changes needed for the hamlib-4.6 |
I have just packaged hamlib-4.6 as of today's snapshot and have re-built freedv against it. freedv GUI starts ok but on starting the modem it dies: Using hamlib-4.6 with lpcnetfreedv-0.3 and codec2-1.0 in mageia9 stable is fine with or without a freedv rebuild which is reasonable. |
I am not sure if @mdblack98 can make any sense out of this, but it might show a problem in hamlib |
Does Mike follow freedv issues or will he be pinged because of the mention above? I looked at the fc40 codec2.spec and I am surprised that the BuildRequires are not versioned, other than that I see no real difference between fc and Mageia. Are you absolutely sure that you are building against lpcnetfreedv-0.5 and codec2-1.2? I will test builds using only one new version of lpcnet or codec2 at a time to try to narrow it down. |
In theory he will get an email or other notification, but maybe you could create an issue in hamlib for this. It seems real enough.
A fair point, the packager has not appreciated the differences between the versions I think. I will drop him an email or put something in the RH bugzilla so that it can be caught.
I've just checked this again and I only have lpcnetfreedv-0.5 and codec2-1.2 packages on my Fedora 39 system, the -devel packages are also the same versions as the library packages. |
I'm here.
I built freedv on my Ubuntu VM so I could debug this and it doesn't bring up any windows.
.src/freedv09:01:01 AM: Debug: Element ***@***.*** ("slider") of wxStaticBoxSizer should be created as child of its wxStaticBox and not of ***@***.*** ("panel").09:01:01 AM: Debug: Element ***@***.*** ("0 dB") of wxStaticBoxSizer should be created as child of its wxStaticBox and not of ***@***.*** ("panel").
Debug show it is stuck here.#5 0x000055555561671c in MainFrame::executeOnUiThreadAndWait_(std::function<void ()>) (this=0x555555bb9a00, fn=...) at /home/mdblack98/src/freedv-gui/src/util.cpp:386386 funcConditionVariable.wait(funcLock);
I think did "apt install freedv" and that one works bringing up the GUI. Just the compile one gets stuck in the mutex.
Mike W9MDB
If you are compiling Hamlib yourself make sure to remove the hamlib packages first.
If you do "ldd freedv | grep hamlib" it's probably lookin in /usr/lib and not /usr/local/lib where a default compile will install it.
Mike W9MDB
On Thursday, March 14, 2024 at 08:32:49 AM CDT, Barry Jackson ***@***.***> wrote:
I am not sure if @mdblack98 can make any sense out of this, but it might show a problem in hamlib
Does Mike follow freedv issues or will he be pinged because of the mention above?
I looked at the fc40 codec2.spec and I am surprised that the BuildRequires are not versioned, other than that I see no real difference between fc and Mageia.
Are you absolutely sure that you are building against lpcnetfreedv-0.5 and codec2-1.2?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Which packages do you have installed Mike? On Fedora the build uses shared objects for lpcnetfreedv and codec2 as well as wxBase and wxGTK3 but I am not familiar with a build on Ubuntu which is probably different. It could easily be that the version you're building locally is behaving differently because this is not a simple process. |
@mdblack98 and @barjac, can you guys try using the Anyway, my Ubuntu VM is broken at the moment, but Fedora 39 with KDE shows the Easy Setup window as expected after doing the following:
(I also ran |
OK stop searching! All is now resolved! The "AddressSanitizer: heap-use-after-free on address..." is caused by AddressSanitizer. Tonight I completely cleared all versions of lpcnet, codec2 and freedv from my local repo. I then added a conditional to the freedv spec to easily include asan in the build or not and disabled it for a new build of freedv. No problem! I can only assume that the initial issue was down to a BuildRequire version error in the first build with lpcnetfreedv-0.5 and codec2-1.2 for which I apologize. Sorry for all the noise, however I won't be using asan in a hurry again any time soon! |
It sounds like there's still possibly a hamlib issue, though, right? Even if it can only be triggered by enabling libasan, that probably should still be fixed IMO. Also, there might still an issue when starting FreeDV for the first time, too? Let's clarify that before closing. |
Hi Mooneer,
|
I was referring to the crash in the most recent text file that was included (which sounds like it only manifests when libasan is enabled):
That can be probably be tracked in the Hamlib project on GitHub, though. I'll go ahead and close; message here if the FreeDV does end up coming back and we can reopen/investigate further. |
The path /lib64 indicates this is an installed package and not the 4.6 self-compiled version which will be in /usr/local/lib
If you compile Hamlib yourself on a Unix/Linux system it installs by default in /usr/local
Mike W9MDB
On Thursday, March 14, 2024 at 06:52:20 PM CDT, Mooneer Salem ***@***.***> wrote:
Hi Mooneer, I just tested first time and it's all OK with 2020 and 2020B selectable. I don't see a hamlib issue. Where do you see this?
I was referring to the crash in the most recent text file that was included (which sounds like it only manifests when libasan is enabled):
==532020==ERROR: AddressSanitizer: heap-use-after-free on address 0x602000078f50 at pc 0x7f1d8de4fc11 bp 0x7f1d6d9052c0 sp 0x7f1d6d904a70
READ of size 2 at 0x602000078f50 thread T15
#0 0x7f1d8de4fc10 in __interceptor_setlocale.part.0 (/lib64/libasan.so.8+0x4fc10)
#1 0x7f1d8d10938a in netrigctl_open (/lib64/libhamlib.so.4+0x10938a)
#2 0x7f1d8d09a877 in rig_open (/lib64/libhamlib.so.4+0x9a877)
That can be probably be tracked in the Hamlib project on GitHub, though. I'll go ahead and close; message here if the FreeDV does end up coming back and we can reopen/investigate further.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
OK yes understood. |
IIRC some of them are from libraries outside of FreeDV but it wouldn't hurt to take another look. |
Hi Mike, |
Using the ms-longer-user-messages branch (with or without the Reporter running) freedv-gui closes on hitting the Start (modem) button.
This only happens when built with lpcnetfreedv-0.5 and codec2-1.2. No idea which to blame.
With lpcnetfreedv-0.3 and codec2-1.0 there is no issue.
Attached formatted backtrace from gdb.
gdb-bt.txt
Edit: Removed clutter as the bt is linked above.
The text was updated successfully, but these errors were encountered: