Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DFDL-945

Segfault in DFA code when running Test performance branch

XMLWordPrintableJSON

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • s13
    • None
    • None
    • None

      When running the command below, a segfault is encountered.

      ./daffodil-cli/target/start performance -t 5 -N 20 -s ~/Documents/DFASegfaultFiles/csvMixedNarrow.dfdl.xsd ~/Documents/DFASegfaultFiles/peopleData_1k.txt
      <function0>: caught java.lang.UnsupportedOperationException: empty.maxBy
      java.lang.UnsupportedOperationException: empty.maxBy
      at scala.collection.TraversableOnce$class.maxBy(TraversableOnce.scala:208)
      at scala.collection.mutable.MutableList.maxBy(MutableList.scala:30)
      at edu.illinois.ncsa.daffodil.processors.dfa.TextDelimitedParserBase.longestMatch(TextDelimitedParser.scala:42)
      at edu.illinois.ncsa.daffodil.processors.dfa.TextDelimitedParserBase.parse(TextDelimitedParser.scala:112)
      at edu.illinois.ncsa.daffodil.processors.StringDelimited.parseMethod(PrimitivesLengthKind.scala:622)
      at edu.illinois.ncsa.daffodil.processors.StringDelimited$$anon$4$$anonfun$parse$4.apply(PrimitivesLengthKind.scala:721)
      at edu.illinois.ncsa.daffodil.processors.StringDelimited$$anon$4$$anonfun$parse$4.apply(PrimitivesLengthKind.scala:687)
      at edu.illinois.ncsa.daffodil.processors.WithParseErrorThrowing$class.withParseErrorThrowing(Parser.scala:244)
      at edu.illinois.ncsa.daffodil.processors.PrimParser.withParseErrorThrowing(ProcessorBases.scala:9)
      at edu.illinois.ncsa.daffodil.processors.StringDelimited$$anon$4.parse(PrimitivesLengthKind.scala:687)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:365)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:363)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:363)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.RepUnboundedPrim$$anon$4.parseAllRepeats(RepParsers.scala:233)
      at edu.illinois.ncsa.daffodil.processors.RepPrim$RepParser.parse(RepParsers.scala:69)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:365)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:363)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:363)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:365)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:363)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:363)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$5$$anon$1.liftedTree1$1(Runtime.scala:222)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$5$$anon$1.<init>(Runtime.scala:221)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$5.apply(Runtime.scala:218)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$5.apply(Runtime.scala:217)
      at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
      at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingRuntimeMode$1.apply(ExecutionMode.scala:80)
      at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingRuntimeMode$1.apply(ExecutionMode.scala:80)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor.parse(Runtime.scala:217)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor.parse(Runtime.scala:177)
      at edu.illinois.ncsa.daffodil.Main$$anonfun$125$$anonfun$126$$anonfun$2.apply$mcV$sp(Main.scala:764)
      at edu.illinois.ncsa.daffodil.Main$$anonfun$125$$anonfun$126$$anonfun$2.apply(Main.scala:762)
      at edu.illinois.ncsa.daffodil.Main$$anonfun$125$$anonfun$126$$anonfun$2.apply(Main.scala:762)
      at scala.actors.Futures$$anonfun$1.apply(Future.scala:127)
      at scala.actors.Futures$$anonfun$1.apply(Future.scala:127)
      at scala.actors.FutureActor$$anonfun$act$1.apply(Future.scala:93)
      at scala.actors.FutureActor$$anonfun$act$1.apply(Future.scala:93)
      at scala.actors.Reactor$class.seq(Reactor.scala:280)
      at scala.actors.FutureActor.seq(Future.scala:55)
      at scala.actors.Reactor$$anon$3.andThen(Reactor.scala:258)
      at scala.actors.FutureActor.act(Future.scala:94)
      at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
      at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
      at scala.actors.ReactorTask.run(ReactorTask.scala:33)
      at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
      at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
      <function0>: caught java.lang.UnsupportedOperationException: empty.maxBy
      java.lang.UnsupportedOperationException: empty.maxBy
      at scala.collection.TraversableOnce$class.maxBy(TraversableOnce.scala:208)
      at scala.collection.mutable.MutableList.maxBy(MutableList.scala:30)
      at edu.illinois.ncsa.daffodil.processors.dfa.TextDelimitedParserBase.longestMatch(TextDelimitedParser.scala:42)
      at edu.illinois.ncsa.daffodil.processors.dfa.TextDelimitedParserBase.parse(TextDelimitedParser.scala:112)
      at edu.illinois.ncsa.daffodil.processors.StringDelimited.parseMethod(PrimitivesLengthKind.scala:622)
      at edu.illinois.ncsa.daffodil.processors.StringDelimited$$anon$4$$anonfun$parse$4.apply(PrimitivesLengthKind.scala:721)
      at edu.illinois.ncsa.daffodil.processors.StringDelimited$$anon$4$$anonfun$parse$4.apply(PrimitivesLengthKind.scala:687)
      at edu.illinois.ncsa.daffodil.processors.WithParseErrorThrowing$class.withParseErrorThrowing(Parser.scala:244)
      at edu.illinois.ncsa.daffodil.processors.PrimParser.withParseErrorThrowing(ProcessorBases.scala:9)
      at edu.illinois.ncsa.daffodil.processors.StringDelimited$$anon$4.parse(PrimitivesLengthKind.scala:687)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:365)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:363)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:363)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.StmtEval$StatementElementParser.parse(StatementParsers.scala:89)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:365)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:363)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:363)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:365)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:363)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:363)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.RepUnboundedPrim$$anon$4.parseAllRepeats(RepParsers.scala:233)
      at edu.illinois.ncsa.daffodil.processors.RepPrim$RepParser.parse(RepParsers.scala:69)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:365)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:363)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:363)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:365)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:363)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:363)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:164)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$5$$anon$1.liftedTree1$1(Runtime.scala:222)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$5$$anon$1.<init>(Runtime.scala:221)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$5.apply(Runtime.scala:218)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$5.apply(Runtime.scala:217)
      at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
      at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingRuntimeMode$1.apply(ExecutionMode.scala:80)
      at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingRuntimeMode$1.apply(ExecutionMode.scala:80)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor.parse(Runtime.scala:217)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor.parse(Runtime.scala:177)
      at edu.illinois.ncsa.daffodil.Main$$anonfun$125$$anonfun$126$$anonfun$2.apply$mcV$sp(Main.scala:764)
      at edu.illinois.ncsa.daffodil.Main$$anonfun$125$$anonfun$126$$anonfun$2.apply(Main.scala:762)
      at edu.illinois.ncsa.daffodil.Main$$anonfun$125$$anonfun$126$$anonfun$2.apply(Main.scala:762)
      at scala.actors.Futures$$anonfun$1.apply(Future.scala:127)
      at scala.actors.Futures$$anonfun$1.apply(Future.scala:127)
      at scala.actors.FutureActor$$anonfun$act$1.apply(Future.scala:93)
      at scala.actors.FutureActor$$anonfun$act$1.apply(Future.scala:93)
      at scala.actors.Reactor$class.seq(Reactor.scala:280)
      at scala.actors.FutureActor.seq(Future.scala:55)
      at scala.actors.Reactor$$anon$3.andThen(Reactor.scala:258)
      at scala.actors.FutureActor.act(Future.scala:94)
      at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
      at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
      at scala.actors.ReactorTask.run(ReactorTask.scala:33)
      at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
      at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)

              jchab Jessie Chab
              twise Taylor Wise
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 22 minutes
                  22m