-
Notifications
You must be signed in to change notification settings - Fork 269
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
P25 P1 Channels Stuck in Teardown #1992
Comments
It appears this may be an expansion of a pretty old issue, #814. I will leave this open with the additional context that in this case calls are still being partially processed on the Teardown channel. |
@tadscottsmith there is a new menu item under the 'File' menu called "Processing Diagnostic Report". This was added back in February 2024, so any nightly release or the 0.6.1-beta2 release should have the menu option. The next time that you see a channel stuck in TEARDOWN state, can you click this menu item and then look in the Logs directory and send me the generated report? |
I've been struggling with this issue now for some time. Attached are the two dumps. 20241029_002701_sdrtrunk_processing_diagnostic_report.log |
Here's an example from my system. I've found it's pretty easy to get channels stuck in this state by mass editing aliases. If I select a couple of thousand of them and try to set them all to mute or unmute, the playlist editor will hang and cause the teardown issue.
|
I swapped my Channelizer Type out from Polyphase to Heterodyne and I'm no longer seeing TEARDOWN issues. |
…troubleshoot the source of the issue.
@tadscottsmith @marshyonline If you don't want to use this version, you can checkout branch "1992-channel-stuck-in-teardown' and build your own version via the command line (gradle runtimeZipWindows) Can you please run this version using the Polyphase Channelizer, and run it until one or more channels get stuck in teardown and then create the diagnostic report like you just did. Please post the diagnostic report(s) and the application log. There's a chance that you won't get it to a state where channels are stuck in TEARDOWN because I enhanced the error handling in a couple places. If those enhancements are indeed catching the errors, you should see logging to that effect in the application log. In that case, please just send the application log so that I can see where it caught the error(s). |
@DSheirer Ran the new build, first 2 calls I had got stuck, logs below for you sir EDIT: Had another crack just to make sure I didn't break anything but same result |
@marshyonline @tadscottsmith https://drive.google.com/drive/folders/130eCl0Bv-G7RlsBMtIfiP9ZhdCmg_FpL?usp=sharing |
Winner Winner Chicken Dinner! So far so good, no chan's stuck in TEARDOWN. |
@marshyonline if you have a chance, can you post your application log. I'm trying to figure out what process upstream was failing that caused this to happen in the first place. |
from what build- Current Beta Release, Fix 1 or Fix2? |
Seem to have hit a snag with fix 2 |
Can you generate a diagnostic report or is the app fully locked up? Can you check to see if a diagnostic report was auto generated in the Los directory? To your recent question, the app log from the latest test build. |
The Application hadnt locked up no, but it lost all its tuners and was no longer processing any data. |
I have not been able to recreate the issue of channels stuck in TEARDOWN with your latest build. It's been running almost 6 hours with no issues. |
@tadscottsmith can you send your app log once you're done? I added some logging and I'm curious if any of it triggered. |
I am not seeing anything logged, but I'm not able to reproduce the stuck TEARDOWN state that was easily reproduceable yesterday. Here's the logs from a recent run that I did along side a CPU stress tester. I was able to get the Playlist Editor to completely hang for a long period, and could even see the waterfall stutter, but calls continued to clean themselves up and nothing got stuck in TEARDOWN. The other instance that's been running almost 7 hours now ends with the same ComplexPolyphaseChannelizerM2 log entry.
|
Co-authored-by: Dennis Sheirer <[email protected]>
Hey @DSheirer |
I appreciate the hard work, thank you! If there's a way to sponsor you or buy you a coffee, please let me know! |
@marshyonline can you please test the latest nightly release again and let me know if you're still seeing the out of memory issue? I reverted one of the recent changes that might have contributed to what you're seeing. If not, we'll need to use either VisualVM or Java Flight Recorder to get a snapshot of the Java memory being used after sdrtrunk has been running for a while to see what's holding onto memory. I just pushed the code change up to master. The nightly release should rebuild in the next couple minutes. |
@DSheirer VisualVM is new to me, so im not sure how to track down what float that is - any pointers? |
Can you right-click on the heap dump in the Applications tree view and 'Save As ...' and then zip the folder and either post it here or send to me? |
@marshyonline To clarify, this is a heap dump using the latest nightly build, or the beta 3 release? |
Hi @DSheirer - ive sent you a file via Discord DM's |
While cleaning up this box, i noticed that the event log DIR was 100G+ @DSheirer, I am wondering if the application had a fit due to the extremely large volume of logs I had. This might also be related: #1350 |
sdrtrunk Version
Currently running commit 130e59f .
Describe the bug
Occasionally, likely due to temporary high resource utilization, a channel will get stuck in Teardown state. As far as I can tell, a channel stuck in this state will never release until the application is restarted. I have seen channels stuck in this state for hours, and even as new calls are received and processed on the channel, the state does not change. It appears that calls received on a channel in Teardown state are not recorded or broadcast.
Expected behavior
After a given time period, it would be nice if the application tried to tear down the channel again. If the application sees a new call on the channel that is in "Teardown" state, it should reset the state and begin recording the call.
Screenshots

Example of a channel in Teardown state, which is currently receiving and decoding a valid call. The call was not recorded or broadcast.
Desktop (optional - complete the following information):
Additional context
130e59f
The text was updated successfully, but these errors were encountered: