Hello!
 
OK, opening the console I also see the message "fatal_error: Out of memory in VirtualAlloc".
 
I did it this way: `6 [ 25 2^ 0 <array> ] times`
 
Now I have some further questions.
 
When I do `5 [ 25 2^ 0 <array> ] times` I see the factor.com process eating up ~930 Mb of memory.
 
Why is it that after restarting and doing `5 [ 25 2^ 0 <array> ] times clear gc` it still remains with ~930 Mb of memory?
 
Why didn't `gc` release the unused and unreferenced memory back to the system?
 
More importantly, if I do `25 2^ 0 <array>` once more, it crashes, i.e. the allocated memory remains unavailable, even though it should have been collected by the GC.
 
Is there a more aggressive version of the `gc` command?
 
The `clear` command makes sure the empty allocated arrays don't show up in (and get referenced by) the UI. Or am I missing something.
 
The question is quite practical for me, as when I work with big data sets I also see that GC keeps hogging the memory I don't use anymore, which leads to crashes in the long (and even not so long) run.
 
24.11.2016, 19:16, "Jon Harper" <jon.harpe...@gmail.com>:
That's because you are running a 32 bit factor. Try allocating many arrays, at some point your OS should return an error to factor at https://github.com/factor/factor/blob/master/vm/os-windows.cpp#L97
 
Also what you are seeing is expected, the array size is limited to most-positive-fixnum/2, which is not a problem on 64bits (2^58-1 ~ 10^17 ) but is kind of limiting on 32 bits (2^26-1 = 67 million ~= 10^8). There was discussions about this but I can't find it anymore...
 
Jon
 
On Thu, Nov 24, 2016 at 4:45 PM, Alexander Ilin <ajs...@yandex.ru> wrote:
Hello!
 
Unfortunately, I can't reproduce this in Win8.1 GUI listener:
 
IN: scratchpad 50 2^ 0 <array>
Cannot convert to fixnum: 1125899906842624
 
IN: scratchpad 25 2^ 0 <array>
(success)
 
IN: scratchpad 26 2^ 0 <array>
Invalid array size: 67108864
Maximum: 67108863
24.11.2016, 17:06, "Jon Harper" <jon.harpe...@gmail.com>:
Hi,
more precisely, the process is aborted (uses the vm 'fatal_error()' function):

$ ./factor -run=listener
Factor 0.98 x86.64 (1781, heads/master-d4528c36da, Tue Aug 16 17:00:11 2016)
[Clang (GCC 4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE_34/final))] on linux
IN: scratchpad 50 2^ 0 <array>
fatal_error: Out of memory in mmap: 0x20000018a82000
[ ... ]
Aborted (core dumped)

 
 
Jon
 
On Thu, Nov 24, 2016 at 4:15 AM, Björn Lindqvist <bjou...@gmail.com> wrote:
Hi,

It shouldn't crash exactly, but it does terminate the process with an
"Out of memory" error.

2016-11-23 20:43 GMT+01:00 Alexander Ilin <ajs...@yandex.ru>:
> Hello!
>
>   What happens if Factor is out of memory?
>   Does it throw an exception and aborts the current operation? Or does it simply crash the instance?
>   For me it simply crashes, which is not very nice.
 
---=====---
Александр
 

------------------------------------------------------------------------------

_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk
 
,

------------------------------------------------------------------------------

,

_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

 
 
---=====---
Александр
 
------------------------------------------------------------------------------
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to