Risposta

java.lang.ClassCastException - Come eseguire il debug

2 risposte

Giosuè

Abbonato, bbp_partecipante, cliente, comunità, 3 risposte.

Visita il profilo

2 anni fa #282633

Ho lavorato su un codice indicatore personalizzato che voglio includere nella generazione della mia strategia. Purtroppo quando provo a eseguire il costruttore (v135.868) alla fine si blocca a causa di una ClassCastException. Sono sicuro di aver commesso uno stupido errore nel mio codice personalizzato. Tuttavia, con lo stacktrace che ottengo dai log di SQ, non sono in grado di capire da dove provenga il problema. Esiste un modo per ottenere una migliore visibilità su quale blocco sta effettivamente causando questo problema? Lo stacktrace di esempio è riportato di seguito come riferimento. Grazie!

22:17:23.578 [Nonblocking computeThread - 2 - Builder_2] ERROR GPGenerationalEngine - Errore
java.lang.ClassCastException: la classe java.lang.Integer non può essere lanciata nella classe java.lang.Double (java.lang.Integer e java.lang.Double sono nel modulo java.base del caricatore 'bootstrap')
at SQ.Negater.ConditionsNegater.negate(ConditionsNegater.java:56) ~[na:na]
at com.strategyquant.tradinglib.NegatersList.negate(Unknown Source) ~[SQTradingLib.jar:na]
at SQ.Negater.AndOrNegater.negate(AndOrNegater.java:40) ~[na:na]
at com.strategyquant.tradinglib.NegatersList.negate(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.blocks.random.ReplacementsConfig.negateBlock(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.findAndReplaceNegatedBlocks(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.findAndReplaceNegatedBlocks(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.findAndReplaceNegatedBlocks(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.findAndReplaceNegatedBlocks(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.findAndReplaceNegatedBlocks(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.findAndReplaceNegatedBlocks(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.findAndReplaceNegatedBlocks(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.findAndReplaceNegatedBlocks(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.generator.StrategyGenerator.generate(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.gp.strategies.NodeFactory.generateStrategy(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.gp.strategies.NodeFactory.generateRandomCandidate(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.gp.strategies.NodeFactory.generateRandomCandidate(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.gp.GPGenerationalEngine.generateInitialPopulation(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.gp.GPGenerationalEngine.gpEvolution(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.gp.GPGenerationalEngine.evolve(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.gp.GPIslandJob.call(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.tradinglib.gp.GPIslandJob.call(Unknown Source) ~[SQTradingLib.jar:na]
at com.strategyquant.gridlib.compute.performer.MultithreadComputePerformer$1.run(Unknown Source) ~[SQGridLib2.jar:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:832) ~[na:na]

0

Giosuè

Abbonato, bbp_partecipante, cliente, comunità, 3 risposte.

Visita il profilo

2 anni fa #282692

Sono riuscito a capire quale blocco di segnale causava il problema disabilitandoli tutti e riaccendendoli uno alla volta, finché non ho trovato quello che dava l'errore.

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

2 anni fa #282711

Ok, grazie per averci informato

0

Stai visualizzando 2 risposte - da 1 al 2 (di 2 totali)