sdrtrunk detected a critical application error with a threading deadlock, described as follows: Thread ID[32] Name [sdrtrunk scheduled thread 4] Lock [java.util.concurrent.locks.ReentrantLock$NonfairSync@5c0fb1a4] Owned By [ID:143 | NAME:java.util.concurrent.locks.ReentrantLock$NonfairSync@5c0fb1a4] Thread ID[143] Name [sdrtrunk polyphase channel thread 1] Lock [io.github.dsheirer.module.decode.dmr.DMRTrafficChannelManager$TrafficChannelTeardownMonitor@2666a005] Owned By [ID:144 | NAME:io.github.dsheirer.module.decode.dmr.DMRTrafficChannelManager$TrafficChannelTeardownMonitor@2666a005] Thread ID[144] Name [sdrtrunk polyphase channel thread 1] Lock [java.util.concurrent.locks.ReentrantLock$NonfairSync@5c0fb1a4] Owned By [ID:143 | NAME:java.util.concurrent.locks.ReentrantLock$NonfairSync@5c0fb1a4] ========================================================================= sdrtrunk Processing Diagnostic Report ========================================================================= JVM and Application Environment Report Version : 0.6.1-beta-1 Gradle Version : Gradle 8.2 Build Timestamp : 2024-02-10T06:13:36.523-0500 Build-JDK : 20.0.1 (BellSoft 20.0.1+10 Build OS : Linux (amd64 6.2.0-39-generic Host OS Name: Windows 10 Host OS Arch: amd64 Host OS Version: 10.0 Host CPU Cores: 4 Host Max Java Memory: 3 GB Host Allocated Memory: 486 MB Host Free Memory: 275 MB Host Used Memory: 210 MB Storage Directories: Application Root: C:\Users\nperr\SDRTrunk Application Log: C:\Users\nperr\SDRTrunk\logs Event Log: C:\Users\nperr\SDRTrunk\event_logs Playlist: C:\Users\nperr\SDRTrunk\playlist Recordings: C:\Users\nperr\Dropbox\Starcom21 ========================================================================= Discovered Tuner Model Diagnostic Report --------------- DISCOVERED TUNER -------------------- Discovered Tuner: RTL-2832 USB Bus:1 Port:1.7.2 Class:class io.github.dsheirer.source.tuner.manager.DiscoveredUSBTuner Tuner Class:class io.github.dsheirer.source.tuner.rtl.RTL2832Tuner Tuner Controller Class:class io.github.dsheirer.source.tuner.rtl.RTL2832TunerController Frequency:851812500 Error:null Channel Manager Class:class io.github.dsheirer.source.tuner.manager.PolyphaseChannelSourceManager Channel Manager:Polyphase Channel Source Manager Tuner Controller Frequency: 851812500 Polyphase Channel Manager Providing [1] Channels Channel Calculator | Tuner SR:2.40000 CF:851.81250 MIN:850.61250 MAX:853.01250 | Channel COUNT:96 BW:0.02500 SR:0.05000 Polyphase | Tuner SR:2.40000 CF:851.81250 BW: 0.05000 | Channel CF: 851.83750 REQUESTED CF: 851.83750 MIXER:0.00000 | Polyphase Indices: [1] HASH:78D5AC72 --------------- DISCOVERED TUNER -------------------- Discovered Tuner: RTL-2832 USB Bus:1 Port:1.7.4 Class:class io.github.dsheirer.source.tuner.manager.DiscoveredUSBTuner Tuner Class:class io.github.dsheirer.source.tuner.rtl.RTL2832Tuner Tuner Controller Class:class io.github.dsheirer.source.tuner.rtl.RTL2832TunerController Frequency:857187500 Error:null Channel Manager Class:class io.github.dsheirer.source.tuner.manager.PolyphaseChannelSourceManager Channel Manager:Polyphase Channel Source Manager Tuner Controller Frequency: 857187500 Polyphase Channel Manager Providing [2] Channels Channel Calculator | Tuner SR:2.40000 CF:857.18750 MIN:855.98750 MAX:858.38750 | Channel COUNT:96 BW:0.02500 SR:0.05000 Polyphase | Tuner SR:2.40000 CF:857.18750 BW: 0.05000 | Channel CF: 857.23750 REQUESTED CF: 857.23750 MIXER:0.00000 | Polyphase Indices: [2] HASH:628283B8 Polyphase | Tuner SR:2.40000 CF:857.18750 BW: 0.05000 | Channel CF: 856.33750 REQUESTED CF: 856.33750 MIXER:0.00000 | Polyphase Indices: [62] HASH:5FA79F49 --------------- DISCOVERED TUNER -------------------- Discovered Tuner: RTL-2832 USB Bus:1 Port:1.1 Class:class io.github.dsheirer.source.tuner.manager.DiscoveredUSBTuner Tuner Class:class io.github.dsheirer.source.tuner.rtl.RTL2832Tuner Tuner Controller Class:class io.github.dsheirer.source.tuner.rtl.RTL2832TunerController Frequency:860462500 Error:null Channel Manager Class:class io.github.dsheirer.source.tuner.manager.PolyphaseChannelSourceManager Channel Manager:Polyphase Channel Source Manager Tuner Controller Frequency: 860462500 Polyphase Channel Manager Providing [1] Channels Channel Calculator | Tuner SR:2.40000 CF:860.46250 MIN:859.26250 MAX:861.66250 | Channel COUNT:96 BW:0.02500 SR:0.05000 Polyphase | Tuner SR:2.40000 CF:860.46250 BW: 0.05000 | Channel CF: 860.88750 REQUESTED CF: 860.88750 MIXER:0.00000 | Polyphase Indices: [17] HASH:6CD2EB95 --------------- DISCOVERED TUNER -------------------- Discovered Tuner: RTL-2832 USB Bus:1 Port:1.3 Class:class io.github.dsheirer.source.tuner.manager.DiscoveredUSBTuner Tuner Class:class io.github.dsheirer.source.tuner.rtl.RTL2832Tuner Tuner Controller Class:class io.github.dsheirer.source.tuner.rtl.RTL2832TunerController Frequency:101100000 Error:null Channel Manager Class:class io.github.dsheirer.source.tuner.manager.PolyphaseChannelSourceManager Channel Manager:Polyphase Channel Source Manager Tuner Controller Frequency: 101100000 Polyphase Channel Manager Providing [0] Channels Channel Calculator | Tuner SR:2.40000 CF:101.10000 MIN:99.90000 MAX:102.30000 | Channel COUNT:96 BW:0.02500 SR:0.05000 ========================================================================= Channel Processing Manager - Diagnostics Report ------------------------------------------------------------------------- Channel to Processing Chain Map Contents --------------- CHANNEL:PROCESSING CHAIN MAP ENTRY -------------------- Channel: Clear Talk (Connect Plus)_Utica_Lasalle County Utica_1 Source Configuration: io.github.dsheirer.source.config.SourceConfigTunerMultipleFrequency@39317c41 Processing Chain - Processing: true Channel State: class io.github.dsheirer.channel.state.MultiChannelState Channel Metadata Description Timeslot: 1 Decoder: DMR State: IDLE System: Clear Talk (Connect Plus) Site: Utica Channel: Lasalle County Utica Frequency: 856812500 Logical Channel: (null) Channel Metadata Description Timeslot: 2 Decoder: DMR State: IDLE System: Clear Talk (Connect Plus) Site: Utica Channel: Lasalle County Utica Frequency: 856812500 Logical Channel: (null) Channel Source Class: class io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource To String:io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource@607fdf30 Hash:607FDF30 --------------- CHANNEL:PROCESSING CHAIN MAP ENTRY -------------------- Channel: Clear Talk (Connect Plus)_Sheridan_LaSalle County Sheridan _2 Source Configuration: io.github.dsheirer.source.config.SourceConfigTunerMultipleFrequency@4f58b79c Processing Chain - Processing: true Channel State: class io.github.dsheirer.channel.state.MultiChannelState Channel Metadata Description Timeslot: 1 Decoder: DMR State: CONTROL System: Clear Talk (Connect Plus) Site: Sheridan Channel: LaSalle County Sheridan Frequency: 857237500 Logical Channel: (null) Channel Metadata Description Timeslot: 2 Decoder: DMR State: ACTIVE System: Clear Talk (Connect Plus) Site: Sheridan Channel: LaSalle County Sheridan Frequency: 857237500 Logical Channel: (null) Channel Source Class: class io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource To String:io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource@5f0101d3 Hash:5F0101D3 --------------- CHANNEL:PROCESSING CHAIN MAP ENTRY -------------------- Channel: Clear Talk (Connect Plus)_Utica_T-Lasalle County Utica_75 Source Configuration: 860.88750MHz Processing Chain - Processing: true Channel State: class io.github.dsheirer.channel.state.MultiChannelState Channel Metadata Description Timeslot: 1 Decoder: DMR State: ACTIVE System: Clear Talk (Connect Plus) Site: Utica Channel: T-Lasalle County Utica Frequency: 860887500 Logical Channel: LSN:9 LCN:5 Channel Metadata Description Timeslot: 2 Decoder: DMR State: ACTIVE System: Clear Talk (Connect Plus) Site: Utica Channel: T-Lasalle County Utica Frequency: 860887500 Logical Channel: (null) Channel Source Class: class io.github.dsheirer.dsp.filter.channelizer.PolyphaseChannelSource To String:POLYPHASE [1] 860887500 Hash:6CD2EB95 --------------- CHANNEL:PROCESSING CHAIN MAP ENTRY -------------------- Channel: Starcom_Ottawa _Lasalle County _0 Source Configuration: io.github.dsheirer.source.config.SourceConfigTunerMultipleFrequency@195a414 Processing Chain - Processing: true Channel State: class io.github.dsheirer.channel.state.SingleChannelState Channel Metadata Description Timeslot: null Decoder: P25-1 State: CONTROL System: Starcom Site: Ottawa Channel: Lasalle County Frequency: 851837500 Logical Channel: (null) Channel Source Class: class io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource To String:io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource@40d5f624 Hash:40D5F624 ========================================================================= Channel Metadata Model Diagnostics --------------- CHANNEL METADATA ITEM -------------------- Mapped Channel:Starcom_Ottawa _Lasalle County _0 Source Configuration: io.github.dsheirer.source.config.SourceConfigTunerMultipleFrequency@195a414 Channel Metadata Description Timeslot: null Decoder: P25-1 State: CONTROL System: Starcom Site: Ottawa Channel: Lasalle County Frequency: 851837500 Logical Channel: (null) --------------- CHANNEL METADATA ITEM -------------------- Mapped Channel:Clear Talk (Connect Plus)_Utica_Lasalle County Utica_1 Source Configuration: io.github.dsheirer.source.config.SourceConfigTunerMultipleFrequency@39317c41 Channel Metadata Description Timeslot: 1 Decoder: DMR State: IDLE System: Clear Talk (Connect Plus) Site: Utica Channel: Lasalle County Utica Frequency: 856812500 Logical Channel: (null) --------------- CHANNEL METADATA ITEM -------------------- Mapped Channel:Clear Talk (Connect Plus)_Utica_Lasalle County Utica_1 Source Configuration: io.github.dsheirer.source.config.SourceConfigTunerMultipleFrequency@39317c41 Channel Metadata Description Timeslot: 2 Decoder: DMR State: IDLE System: Clear Talk (Connect Plus) Site: Utica Channel: Lasalle County Utica Frequency: 856812500 Logical Channel: (null) --------------- CHANNEL METADATA ITEM -------------------- Mapped Channel:Clear Talk (Connect Plus)_Sheridan_LaSalle County Sheridan _2 Source Configuration: io.github.dsheirer.source.config.SourceConfigTunerMultipleFrequency@4f58b79c Channel Metadata Description Timeslot: 1 Decoder: DMR State: CONTROL System: Clear Talk (Connect Plus) Site: Sheridan Channel: LaSalle County Sheridan Frequency: 857237500 Logical Channel: (null) --------------- CHANNEL METADATA ITEM -------------------- Mapped Channel:Clear Talk (Connect Plus)_Sheridan_LaSalle County Sheridan _2 Source Configuration: io.github.dsheirer.source.config.SourceConfigTunerMultipleFrequency@4f58b79c Channel Metadata Description Timeslot: 2 Decoder: DMR State: ACTIVE System: Clear Talk (Connect Plus) Site: Sheridan Channel: LaSalle County Sheridan Frequency: 857237500 Logical Channel: (null) --------------- CHANNEL METADATA ITEM -------------------- Mapped Channel:Clear Talk (Connect Plus)_Utica_T-Lasalle County Utica_75 Source Configuration: 860.88750MHz Channel Metadata Description Timeslot: 1 Decoder: DMR State: ACTIVE System: Clear Talk (Connect Plus) Site: Utica Channel: T-Lasalle County Utica Frequency: 860887500 Logical Channel: LSN:9 LCN:5 --------------- CHANNEL METADATA ITEM -------------------- Mapped Channel:Clear Talk (Connect Plus)_Utica_T-Lasalle County Utica_75 Source Configuration: 860.88750MHz Channel Metadata Description Timeslot: 2 Decoder: DMR State: ACTIVE System: Clear Talk (Connect Plus) Site: Utica Channel: T-Lasalle County Utica Frequency: 860887500 Logical Channel: (null) ========================================================================= Thread Dump Report Thread[#26,AWT-Windows,6,system] RUNNABLE at java.desktop@20.0.1/sun.awt.windows.WToolkit.eventLoop(Native Method) at java.desktop@20.0.1/sun.awt.windows.WToolkit.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#18,Notification Thread,9,system] RUNNABLE Thread[#147,sdrtrunk polyphase ifft processor thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#59,sdrtrunk dft processor thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#71,Cleaner-0,8,InnocuousThreadGroup] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove0(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.base@20.0.1/jdk.internal.ref.CleanerImpl.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) at java.base@20.0.1/jdk.internal.misc.InnocuousThread.run(Unknown Source) Thread[#73,pool-3-thread-2,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue.poll(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#32,sdrtrunk scheduled thread 4,5,main] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.ReentrantLock$Sync.lock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.ReentrantLock.lock(Unknown Source) at app//io.github.dsheirer.module.decode.dmr.DMRTrafficChannelManager.setCurrentControlFrequency(DMRTrafficChannelManager.java:146) at app//io.github.dsheirer.module.decode.dmr.DMRDecoderState.receiveDecoderStateEvent(DMRDecoderState.java:1470) at app//io.github.dsheirer.channel.state.AbstractDecoderState$DecoderStateEventListener.receive(AbstractDecoderState.java:169) at app//io.github.dsheirer.channel.state.AbstractDecoderState$DecoderStateEventListener.receive(AbstractDecoderState.java:164) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:52) at app//io.github.dsheirer.channel.state.MultiChannelState.broadcast(MultiChannelState.java:466) at app//io.github.dsheirer.channel.state.MultiChannelState$SourceEventListener.receive(MultiChannelState.java:492) at app//io.github.dsheirer.channel.state.MultiChannelState$SourceEventListener.receive(MultiChannelState.java:479) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:52) at app//io.github.dsheirer.source.tuner.channel.TunerChannelSource.broadcastConsumerSourceEvent(TunerChannelSource.java:201) at app//io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource$ConsumerSourceEventAdapter.receive(MultiFrequencyTunerChannelSource.java:327) at app//io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource$ConsumerSourceEventAdapter.receive(MultiFrequencyTunerChannelSource.java:322) at app//io.github.dsheirer.source.tuner.channel.TunerChannelSource.broadcastConsumerSourceEvent(TunerChannelSource.java:201) at app//io.github.dsheirer.source.tuner.channel.TunerChannelSource.start(TunerChannelSource.java:101) at app//io.github.dsheirer.dsp.filter.channelizer.PolyphaseChannelSource.start(PolyphaseChannelSource.java:107) at app//io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource.getNextSource(MultiFrequencyTunerChannelSource.java:125) at app//io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource.rotate(MultiFrequencyTunerChannelSource.java:102) at app//io.github.dsheirer.source.tuner.channel.MultiFrequencyTunerChannelSource.process(MultiFrequencyTunerChannelSource.java:309) at app//io.github.dsheirer.source.SourceEventListenerToProcessorAdapter.receive(SourceEventListenerToProcessorAdapter.java:51) at app//io.github.dsheirer.source.SourceEventListenerToProcessorAdapter.receive(SourceEventListenerToProcessorAdapter.java:25) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:52) at app//io.github.dsheirer.source.tuner.channel.rotation.ChannelRotationMonitor.checkState(ChannelRotationMonitor.java:148) at app//io.github.dsheirer.source.tuner.channel.rotation.ChannelRotationMonitor.lambda$start$0(ChannelRotationMonitor.java:179) at app//io.github.dsheirer.source.tuner.channel.rotation.ChannelRotationMonitor$$Lambda$779/0x00000008007c81f8.run(Unknown Source) at java.base@20.0.1/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.base@20.0.1/java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#145,sdrtrunk polyphase channel thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#113,ForkJoinPool.commonPool-worker-1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkUntil(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) Thread[#54,AWT-EventQueue-0,6,main] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.desktop@20.0.1/java.awt.EventQueue.getNextEvent(Unknown Source) at java.desktop@20.0.1/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.desktop@20.0.1/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.desktop@20.0.1/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.desktop@20.0.1/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop@20.0.1/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop@20.0.1/java.awt.EventDispatchThread.run(Unknown Source) Thread[#87,sdrtrunk USB tuner - bus [1] port [1.7.4],10,main] RUNNABLE at app//org.usb4java.LibUsb.handleEventsTimeout(Native Method) at app//io.github.dsheirer.source.tuner.usb.USBTunerController$UsbEventProcessor.run(USBTunerController.java:833) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#10,Signal Dispatcher,9,system] RUNNABLE Thread[#56,sdrtrunk dft processor thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#30,sdrtrunk scheduled thread 2,5,main] RUNNABLE at java.base@20.0.1/java.lang.Thread.dumpThreads(Native Method) at java.base@20.0.1/java.lang.Thread.getAllStackTraces(Unknown Source) at app//io.github.dsheirer.monitor.DiagnosticMonitor.getThreadDumpReport(DiagnosticMonitor.java:225) at app//io.github.dsheirer.monitor.DiagnosticMonitor.generateProcessingDiagnosticReport(DiagnosticMonitor.java:191) at app//io.github.dsheirer.monitor.DiagnosticMonitor.checkForBlockedThreads(DiagnosticMonitor.java:148) at app//io.github.dsheirer.monitor.DiagnosticMonitor$BlockedThreadMonitor.run(DiagnosticMonitor.java:317) at java.base@20.0.1/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.base@20.0.1/java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#146,sdrtrunk USB tuner - bus [1] port [1.1],10,main] RUNNABLE at app//org.usb4java.LibUsb.handleEventsTimeout(Native Method) at app//io.github.dsheirer.source.tuner.usb.USBTunerController$UsbEventProcessor.run(USBTunerController.java:833) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#77,sdrtrunk polyphase buffer processor thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#90,sdrtrunk polyphase channel thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#143,sdrtrunk polyphase channel thread 1,5,main] BLOCKED at app//io.github.dsheirer.module.decode.dmr.DMRTrafficChannelManager$TrafficChannelTeardownMonitor.receive(DMRTrafficChannelManager.java:810) at app//io.github.dsheirer.module.decode.dmr.DMRTrafficChannelManager$TrafficChannelTeardownMonitor.receive(DMRTrafficChannelManager.java:731) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.module.ProcessingChain.receive(ProcessingChain.java:1001) at app//io.github.dsheirer.module.ProcessingChain.receive(ProcessingChain.java:103) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.controller.channel.ChannelProcessingManager.startProcessing(ChannelProcessingManager.java:531) at app//io.github.dsheirer.controller.channel.ChannelProcessingManager.startChannelRequest(ChannelProcessingManager.java:321) at java.base@20.0.1/java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual(DirectMethodHandle$Holder) at java.base@20.0.1/java.lang.invoke.LambdaForm$MH/0x0000000800124c00.invoke(LambdaForm$MH) at java.base@20.0.1/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder) at java.base@20.0.1/jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Unknown Source) at java.base@20.0.1/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) at java.base@20.0.1/java.lang.reflect.Method.invoke(Unknown Source) at app//com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:85) at app//com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:142) at app//com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:71) at app//com.google.common.eventbus.Subscriber$$Lambda$799/0x00000008007dbc20.run(Unknown Source) at app//com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31) at app//com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:68) at app//com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:109) at app//com.google.common.eventbus.EventBus.post(EventBus.java:267) at app//io.github.dsheirer.module.decode.dmr.DMRTrafficChannelManager.processChannelGrant(DMRTrafficChannelManager.java:473) at app//io.github.dsheirer.module.decode.dmr.DMRDecoderState.processCSBK(DMRDecoderState.java:1004) at app//io.github.dsheirer.module.decode.dmr.DMRDecoderState.processData(DMRDecoderState.java:622) at app//io.github.dsheirer.module.decode.dmr.DMRDecoderState.receive(DMRDecoderState.java:304) at app//io.github.dsheirer.module.decode.dmr.DMRDecoderState.receive(DMRDecoderState.java:115) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:52) at app//io.github.dsheirer.module.decode.Decoder$MessageDistributor.receive(Decoder.java:115) at app//io.github.dsheirer.module.decode.Decoder$MessageDistributor.receive(Decoder.java:108) at app//io.github.dsheirer.module.decode.dmr.DMRMessageProcessor.dispatch(DMRMessageProcessor.java:316) at app//io.github.dsheirer.module.decode.dmr.DMRMessageProcessor.receive(DMRMessageProcessor.java:168) at app//io.github.dsheirer.module.decode.dmr.DMRMessageProcessor.receive(DMRMessageProcessor.java:62) at app//io.github.dsheirer.module.decode.dmr.DMRMessageFramer.burstDetected(DMRMessageFramer.java:217) at app//io.github.dsheirer.module.decode.dmr.DMRBurstFramer.dispatch(DMRBurstFramer.java:243) at app//io.github.dsheirer.module.decode.dmr.DMRBurstFramer.receive(DMRBurstFramer.java:152) at app//io.github.dsheirer.module.decode.dmr.DMRMessageFramer.receive(DMRMessageFramer.java:167) at app//io.github.dsheirer.module.decode.dmr.DMRMessageFramer.receive(DMRMessageFramer.java:60) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:52) at app//io.github.dsheirer.dsp.psk.PSKDemodulator.broadcast(PSKDemodulator.java:87) at app//io.github.dsheirer.dsp.psk.DQPSKDecisionDirectedDemodulator.calculateSymbol(DQPSKDecisionDirectedDemodulator.java:88) at app//io.github.dsheirer.dsp.psk.PSKDemodulator.receive(PSKDemodulator.java:146) at app//io.github.dsheirer.dsp.psk.PSKDemodulator.receive(PSKDemodulator.java:121) at app//io.github.dsheirer.module.decode.dmr.DMRDecoder.receive(DMRDecoder.java:175) at app//io.github.dsheirer.module.decode.dmr.DMRDecoder.receive(DMRDecoder.java:57) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:52) at app//io.github.dsheirer.dsp.filter.channelizer.PolyphaseChannelSource.receive(PolyphaseChannelSource.java:143) at app//io.github.dsheirer.dsp.filter.channelizer.PolyphaseChannelSource.receive(PolyphaseChannelSource.java:40) at app//io.github.dsheirer.dsp.filter.channelizer.output.OneChannelOutputProcessor.process(OneChannelOutputProcessor.java:112) at app//io.github.dsheirer.dsp.filter.channelizer.output.ChannelOutputProcessor.lambda$new$0(ChannelOutputProcessor.java:57) at app//io.github.dsheirer.dsp.filter.channelizer.output.ChannelOutputProcessor$$Lambda$774/0x00000008007a72d8.receive(Unknown Source) at app//io.github.dsheirer.util.Dispatcher.process(Dispatcher.java:175) at app//io.github.dsheirer.util.Dispatcher$ProcessorWithHeartbeat.run(Dispatcher.java:217) at java.base@20.0.1/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.base@20.0.1/java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#88,sdrtrunk polyphase ifft processor thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#11,Attach Listener,5,system] RUNNABLE Thread[#46,JavaFX Application Thread,5,main] RUNNABLE at platform/javafx.graphics@20.0.1/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at platform/javafx.graphics@20.0.1/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source) at platform/javafx.graphics@20.0.1/com.sun.glass.ui.win.WinApplication$$Lambda$356/0x00000008003b2638.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#41,QuantumRenderer-0,5,main] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at platform/javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#49,sdrtrunk audio output LEFT thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#43,Prism Font Disposer,10,system] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove0(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove(Unknown Source) at platform/javafx.graphics@20.0.1/com.sun.javafx.font.Disposer.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#51,sdrtrunk audio manager thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#9,Finalizer,8,system] WAITING at java.base@20.0.1/java.lang.Object.wait0(Native Method) at java.base@20.0.1/java.lang.Object.wait(Unknown Source) at java.base@20.0.1/java.lang.Object.wait(Unknown Source) at java.base@20.0.1/java.lang.ref.NativeReferenceQueue.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove0(Unknown Source) at java.base@20.0.1/java.lang.ref.NativeReferenceQueue.remove(Unknown Source) at java.base@20.0.1/java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) Thread[#144,sdrtrunk polyphase channel thread 1,5,main] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.ReentrantLock$Sync.lock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.ReentrantLock.lock(Unknown Source) at app//io.github.dsheirer.module.decode.dmr.DMRTrafficChannelManager$TrafficChannelTeardownMonitor.receive(DMRTrafficChannelManager.java:820) at app//io.github.dsheirer.module.decode.dmr.DMRTrafficChannelManager$TrafficChannelTeardownMonitor.receive(DMRTrafficChannelManager.java:731) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.module.ProcessingChain.receive(ProcessingChain.java:1001) at app//io.github.dsheirer.module.ProcessingChain.receive(ProcessingChain.java:103) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.controller.channel.ChannelProcessingManager.stopProcessing(ChannelProcessingManager.java:641) at app//io.github.dsheirer.controller.channel.ChannelProcessingManager.receive(ChannelProcessingManager.java:286) at app//io.github.dsheirer.controller.channel.ChannelProcessingManager.receive(ChannelProcessingManager.java:75) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:52) at app//io.github.dsheirer.channel.state.MultiChannelState.broadcast(MultiChannelState.java:455) at app//io.github.dsheirer.channel.state.MultiChannelState.checkTeardown(MultiChannelState.java:209) at app//io.github.dsheirer.channel.state.MultiChannelState.stateChanged(MultiChannelState.java:171) at app//io.github.dsheirer.channel.state.StateMachine.setState(StateMachine.java:189) at app//io.github.dsheirer.channel.state.StateMachine.checkState(StateMachine.java:107) at app//io.github.dsheirer.channel.state.MultiChannelState.checkState(MultiChannelState.java:237) at app//io.github.dsheirer.channel.state.AbstractChannelState$HeartbeatReceiver.receive(AbstractChannelState.java:204) at app//io.github.dsheirer.channel.state.AbstractChannelState$HeartbeatReceiver.receive(AbstractChannelState.java:199) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:52) at app//io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:128) at app//io.github.dsheirer.source.heartbeat.HeartbeatManager.broadcast(HeartbeatManager.java:41) at app//io.github.dsheirer.util.Dispatcher$ProcessorWithHeartbeat.run(Dispatcher.java:221) at java.base@20.0.1/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.base@20.0.1/java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#72,pool-3-thread-1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue.poll(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#112,HttpClient-1-Worker-1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue.poll(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#148,sdrtrunk polyphase buffer processor thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#31,sdrtrunk scheduled thread 3,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#23,sdrtrunk scheduled thread 1,5,main] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#17,Common-Cleaner,8,InnocuousThreadGroup] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove0(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.base@20.0.1/jdk.internal.ref.CleanerImpl.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) at java.base@20.0.1/jdk.internal.misc.InnocuousThread.run(Unknown Source) Thread[#89,sdrtrunk polyphase buffer processor thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#136,HttpClient-1-Worker-2,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue.poll(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#45,InvokeLaterDispatcher,5,main] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.util.concurrent.LinkedBlockingDeque.takeFirst(Unknown Source) at platform/javafx.graphics@20.0.1/com.sun.glass.ui.InvokeLaterDispatcher.run(Unknown Source) Thread[#76,sdrtrunk polyphase ifft processor thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#126,HttpClient-3-Worker-0,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source) at java.base@20.0.1/java.util.concurrent.SynchronousQueue.poll(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#48,Java Sound Event Dispatcher,5,main] WAITING at java.base@20.0.1/java.lang.Object.wait0(Native Method) at java.base@20.0.1/java.lang.Object.wait(Unknown Source) at java.base@20.0.1/java.lang.Object.wait(Unknown Source) at java.desktop@20.0.1/com.sun.media.sound.EventDispatcher.dispatchEvents(Unknown Source) at java.desktop@20.0.1/com.sun.media.sound.EventDispatcher.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#70,sdrtrunk USB tuner - bus [1] port [1.7.2],10,main] RUNNABLE at app//org.usb4java.LibUsb.handleEventsTimeout(Native Method) at app//io.github.dsheirer.source.tuner.usb.USBTunerController$UsbEventProcessor.run(USBTunerController.java:833) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#74,TimerQueue,5,system] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.util.concurrent.DelayQueue.take(Unknown Source) at java.desktop@20.0.1/javax.swing.TimerQueue.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#149,sdrtrunk polyphase channel thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#64,HttpClient-3-SelectorManager,5,main] RUNNABLE at java.base@20.0.1/sun.nio.ch.WEPoll.wait(Native Method) at java.base@20.0.1/sun.nio.ch.WEPollSelectorImpl.doSelect(Unknown Source) at java.base@20.0.1/sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source) at java.base@20.0.1/sun.nio.ch.SelectorImpl.select(Unknown Source) at platform/java.net.http@20.0.1/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(Unknown Source) Thread[#60,HttpClient-1-SelectorManager,5,main] RUNNABLE at java.base@20.0.1/sun.nio.ch.WEPoll.wait(Native Method) at java.base@20.0.1/sun.nio.ch.WEPollSelectorImpl.doSelect(Unknown Source) at java.base@20.0.1/sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source) at java.base@20.0.1/sun.nio.ch.SelectorImpl.select(Unknown Source) at platform/java.net.http@20.0.1/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(Unknown Source) Thread[#55,AWT-Shutdown,5,system] WAITING at java.base@20.0.1/java.lang.Object.wait0(Native Method) at java.base@20.0.1/java.lang.Object.wait(Unknown Source) at java.base@20.0.1/java.lang.Object.wait(Unknown Source) at java.desktop@20.0.1/sun.awt.AWTAutoShutdown.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#8,Reference Handler,10,system] RUNNABLE at java.base@20.0.1/java.lang.ref.Reference.waitForReferencePendingList(Native Method) at java.base@20.0.1/java.lang.ref.Reference.processPendingReferences(Unknown Source) at java.base@20.0.1/java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) Thread[#47,Thread-2,5,main] RUNNABLE Thread[#75,sdrtrunk polyphase channel thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#29,logback-1,5,main] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#68,DestroyJavaVM,5,main] RUNNABLE Thread[#24,Java2D Disposer,10,system] WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.await(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove0(Unknown Source) at java.base@20.0.1/java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.desktop@20.0.1/sun.java2d.Disposer.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) Thread[#50,sdrtrunk audio output RIGHT thread 1,5,main] TIMED_WAITING at java.base@20.0.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@20.0.1/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base@20.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base@20.0.1/java.lang.Thread.runWith(Unknown Source) at java.base@20.0.1/java.lang.Thread.run(Unknown Source) =========================================================================