-
-
Notifications
You must be signed in to change notification settings - Fork 415
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix memory errors with some
--debug
program builds
When we upgraded to LLVM 15, we accidentally changed our optimization level for programs compiled with --debug. This uncovered a pre-existing condition and caused issues like #4369. This takes us back to LLVM 14 level but doesn't "fix" the underlying issue which we are continuing to work on.
- Loading branch information
1 parent
3452bc4
commit 312a0d4
Showing
4 changed files
with
38 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## Fix memory errors with some `--debug` program builds | ||
|
||
When we upgraded to LLVM 15, we accidentally changed the optimization level applied to `--debug` builds. That change in optimization levels surfaced a rather complicated bug that we've been looking into. The end result? Some programs would crash with memory errors like segfaults or bad access. | ||
|
||
We've updated to go back to the optimization setup we had with LLVM 14. We recommend updating your `ponyc` installation as soon as possible. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
use "time" | ||
|
||
class TimerPrint is TimerNotify | ||
var _count: U64 = 0 | ||
|
||
new iso create() => | ||
None | ||
|
||
fun ref apply(timer: Timer, count: U64): Bool => | ||
_count = _count + count | ||
_count < 10 | ||
|
||
fun ref cancel(timer: Timer) => | ||
None | ||
|
||
actor Main | ||
new create(env: Env) => | ||
let timers = Timers | ||
|
||
let t1 = Timer(TimerPrint, 500000000, 500000000) // 500 ms | ||
let t2 = Timer(TimerPrint, 500000000, 500000000) // 500 ms | ||
|
||
let t1' = t1 | ||
timers(consume t1) | ||
timers.cancel(t1') | ||
timers(consume t2) |