You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As discussed in today's weekly meeting, we discovered that the following program causes a memory leak because the main function is missing the cin argument:
main ( cout : & Int ) -> () =
//main : &Int -> & Int -> () =
//fun (cint : &Int) (cout : &Int)
after 10 , (cout : & Int) <- 65
wait (cout : & Int)
We commented out the lines of code that would make the program correctly print out the character 'A'. Currently, this program is printing output to cin.
Here's the error produced in runtests.log:
###### Testing memory-leak-main-func
stack exec sslc -- tests/memory-leak-main-func.ssl > out/memory-leak-main-func.c
sizeof(struct ssm_mm) = 4
page size 4096
pages allocated 2
objects allocated 4
objects freed 3
live objects 1
4 pools
pool 0: pages 0 block-size 16 free-blocks 0
pool 1: pages 1 block-size 64 free-blocks 63
pool 2: pages 1 block-size 256 free-blocks 16
pool 3: pages 0 block-size 1024 free-blocks 0
FAILED: 1 live objects leaked at the end
###### FAILED
It's not desirable for users to encounter a memory leak when using the wrong function signature for main, and they should be notified through a different type of error with a communicative error message.
The text was updated successfully, but these errors were encountered:
As discussed in today's weekly meeting, we discovered that the following program causes a memory leak because the main function is missing the
cin
argument:We commented out the lines of code that would make the program correctly print out the character 'A'. Currently, this program is printing output to
cin
.Here's the error produced in runtests.log:
It's not desirable for users to encounter a memory leak when using the wrong function signature for main, and they should be notified through a different type of error with a communicative error message.
The text was updated successfully, but these errors were encountered: