Skip to content
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

Heterodyne Channelizer Shows Error When Sourcing New Traffic Channel #1362

Closed
DSheirer opened this issue Dec 17, 2022 · 0 comments · Fixed by #1363
Closed

Heterodyne Channelizer Shows Error When Sourcing New Traffic Channel #1362

DSheirer opened this issue Dec 17, 2022 · 0 comments · Fixed by #1363
Assignees
Milestone

Comments

@DSheirer
Copy link
Owner

DSheirer commented Dec 17, 2022

When sourcing a new traffic channel from a tuner employing the Heterdyne channelizer, it appears that there is an error thrown while attempting to find the new center frequency for the tuner. The issue appears to be in the java core library implementation of constructing a TreeSet from a sorted set.

2022-12-17 07:45:43.550 ERROR i.g.d.s.t.m.TunerManager - Error obtaining channel from tuner [Airspy 440464C8-39967E4F]  [384MB/2GB 18%]
java.util.NoSuchElementException: null
	at java.base/java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1484)
	at java.base/java.util.TreeMap$KeyIterator.next(TreeMap.java:1540)
	at java.base/java.util.TreeMap.buildFromSorted(TreeMap.java:2883)
	at java.base/java.util.TreeMap.buildFromSorted(TreeMap.java:2903)
	at java.base/java.util.TreeMap.buildFromSorted(TreeMap.java:2903)
	at java.base/java.util.TreeMap.buildFromSorted(TreeMap.java:2828)
	at java.base/java.util.TreeMap.addAllForTreeSet(TreeMap.java:2787)
	at java.base/java.util.TreeSet.addAll(TreeSet.java:305)
	at java.base/java.util.TreeSet.<init>(TreeSet.java:172)
	at io.github.dsheirer.source.tuner.manager.CenterFrequencyCalculator.canTune(CenterFrequencyCalculator.java:148)
	at io.github.dsheirer.source.tuner.manager.HeterodyneChannelSourceManager.getSource(HeterodyneChannelSourceManager.java:101)
	at io.github.dsheirer.source.tuner.manager.TunerManager.getSource(TunerManager.java:501)
	at io.github.dsheirer.source.tuner.manager.TunerManager.getSource(TunerManager.java:427)
	at io.github.dsheirer.controller.channel.ChannelProcessingManager.startProcessing(ChannelProcessingManager.java:382)
	at io.github.dsheirer.controller.channel.ChannelProcessingManager.startChannelRequest(ChannelProcessingManager.java:318)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:85)
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:142)
	at com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:71)
	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:68)
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:109)
	at com.google.common.eventbus.EventBus.post(EventBus.java:267)
	at io.github.dsheirer.module.decode.p25.P25TrafficChannelManager.processPhase1ChannelGrant(P25TrafficChannelManager.java:374)
	at io.github.dsheirer.module.decode.p25.P25TrafficChannelManager.processChannelGrant(P25TrafficChannelManager.java:253)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1DecoderState.processChannelGrant(P25P1DecoderState.java:333)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1DecoderState.processTSBKGroupVoiceChannelGrantUpdate(P25P1DecoderState.java:1669)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1DecoderState.processTSBK(P25P1DecoderState.java:1066)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1DecoderState.receive(P25P1DecoderState.java:308)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1DecoderState.receive(P25P1DecoderState.java:153)
	at io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:151)
	at io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:50)
	at io.github.dsheirer.module.decode.Decoder$MessageDistributor.receive(Decoder.java:97)
	at io.github.dsheirer.module.decode.Decoder$MessageDistributor.receive(Decoder.java:90)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1MessageProcessor.receive(P25P1MessageProcessor.java:92)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1MessageProcessor.receive(P25P1MessageProcessor.java:34)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1MessageFramer.dispatchMessage(P25P1MessageFramer.java:325)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1MessageFramer.receive(P25P1MessageFramer.java:204)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1MessageFramer.receive(P25P1MessageFramer.java:70)
	at io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:151)
	at io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:50)
	at io.github.dsheirer.dsp.psk.PSKDemodulator.broadcast(PSKDemodulator.java:61)
	at io.github.dsheirer.dsp.psk.DQPSKGardnerDemodulator.calculateSymbol(DQPSKGardnerDemodulator.java:88)
	at io.github.dsheirer.dsp.psk.PSKDemodulator.receive(PSKDemodulator.java:117)
	at io.github.dsheirer.dsp.psk.PSKDemodulator.receive(PSKDemodulator.java:93)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1DecoderLSM.receive(P25P1DecoderLSM.java:116)
	at io.github.dsheirer.module.decode.p25.phase1.P25P1DecoderLSM.receive(P25P1DecoderLSM.java:39)
	at io.github.dsheirer.sample.Broadcaster.broadcast(Broadcaster.java:151)
	at io.github.dsheirer.sample.Broadcaster.receive(Broadcaster.java:50)
	at io.github.dsheirer.source.tuner.channel.StreamProcessorWithHeartbeat.receive(StreamProcessorWithHeartbeat.java:118)
	at io.github.dsheirer.source.tuner.channel.HalfBandTunerChannelSource$NativeBufferProcessor.receive(HalfBandTunerChannelSource.java:231)
	at io.github.dsheirer.source.tuner.channel.HalfBandTunerChannelSource$NativeBufferProcessor.receive(HalfBandTunerChannelSource.java:219)
	at io.github.dsheirer.util.Dispatcher$Processor.run(Dispatcher.java:181)
	at java.base/java.lang.Thread.run(Thread.java:1589)

@DSheirer DSheirer added this to the Build 0.5.0 milestone Dec 17, 2022
@DSheirer DSheirer self-assigned this Dec 17, 2022
@DSheirer DSheirer changed the title Heterodyne Channelizer Shows Error When Source New Traffic Channel Heterodyne Channelizer Shows Error When Sourcing New Traffic Channel Dec 17, 2022
DSheirer pushed a commit that referenced this issue Dec 17, 2022
…entation to resolve issue when determining if the tuner can tune a requested channel.
DSheirer added a commit that referenced this issue Dec 17, 2022
…entation to resolve issue when determining if the tuner can tune a requested channel. (#1363)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant