Skip to content

Stack overflow #581

@aaronbembenek

Description

@aaronbembenek

Hi there, I tried running the attached program through Basil (commit 95d40e0), but ran into a stack overflow. Thanks!

./mill run --input quicksort/quicksort.-O0.gts --relf quicksort/quicksort.-O0.relf --output quicksort/quicksort.-O0.bpl --simplify --dsa=  --dsa-split --dsa-checks --memory-transform --noif
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by mill.launcher.JLineNativeLoader in an unnamed module (file:/Users/abembenek/.cache/mill/download/1.0.3)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

[279/279] run
[279] [INFO]   Basil
[279] WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
[279] WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/Users/abembenek/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.3.7/scala3-library_3-3.3.7.jar)
[279] WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
[279]          Version: 0.1.2-alpha-1097-g95d40e0e9
[279] WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
[279]          Commit:  95d40e0e9a3f3e2f60c64878379d678621c34714
[279] [INFO]   Basil
[279]          Version: 0.1.2-alpha-1097-g95d40e0e9
[279] [INFO]   [!] Loading Program
[279] [INFO]   [!] Using ELF data from relf: quicksort/quicksort.-O0.relf
[279] [INFO]   [!] Removed all PC-related statements
[279] [INFO]   [!] Typecheck Passed
[279] [INFO]   [!] Removing external function calls
[279] [INFO]   [!] Removed unreachable blocks
[279] [INFO]   [!] Typecheck Passed
[279] [INFO]   [!] Running Simplify
[279] [INFO]   [!] Simplify :: DynamicSingleAssignment
[279] [INFO]   Copyprop Start
[279] [INFO]   Simplify:: Copyprop iteration 0
[279] [INFO]   [!] Simplify :: Expr/Copy-prop Transform
[279] [INFO]   [!] Simplify :: Dead variable elimination
[279] [INFO]   [!] Simplify :: Merge empty blocks
[279] [INFO]   Simplify:: Copyprop iteration 1
[279] [INFO]   [!] Simplify :: Expr/Copy-prop Transform
[279] [INFO]   [!] Simplify :: Dead variable elimination
[279] [INFO]   [!] Simplify :: Merge empty blocks
[279] [INFO]   Stopped at copyprop iteration bound: 2
[279] [INFO]   CopyProp 382 ms
[279] [INFO]   [!] Simplify :: finished
[279] [INFO]   timer:DSA Timer [Finished SVA]: 21ms
[279] Exception in thread "main" java.lang.StackOverflowError
[279] 	at scala.collection.immutable.Set$.from(Set.scala:99)
[279] 	at scala.collection.IterableOnceOps.toSet(IterableOnce.scala:1469)
[279] 	at scala.collection.IterableOnceOps.toSet$(IterableOnce.scala:1469)
[279] 	at scala.collection.AbstractIterator.toSet(Iterator.scala:1306)
[279] 	at ir.CallGraph.pred(IRCursor.scala:179)
[279] 	at ir.CallGraph.pred$(IRCursor.scala:176)
[279] 	at ir.CallGraph$.pred(IRCursor.scala:182)
[279] 	at analysis.data_structure_analysis.IntervalGraph.calledBySCC(IntervalDSA.scala:45)
[279] 	at analysis.data_structure_analysis.IntervalGraph.calledBySCC$$anonfun$1(IntervalDSA.scala:45)
[279] 	at scala.collection.immutable.Set$Set2.exists(Set.scala:213)
[279] 	at analysis.data_structure_analysis.IntervalGraph.calledBySCC(IntervalDSA.scala:45)
[279] 	at analysis.data_structure_analysis.IntervalGraph.calledBySCC$$anonfun$1(IntervalDSA.scala:45)
[279] 	at scala.collection.immutable.Set$Set2.exists(Set.scala:213)
[279] 	at analysis.data_structure_analysis.IntervalGraph.calledBySCC(IntervalDSA.scala:45)
[279] 	at analysis.data_structure_analysis.IntervalGraph.calledBySCC$$anonfun$1(IntervalDSA.scala:45)
[279] 	at scala.collection.immutable.Set$Set2.exists(Set.scala:213)
...

quicksort.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions