digitalmars.D.bugs - [memory allocation] system freezing?
- Manfred Nowak (29/29) Apr 22 2005 On my win98 system this D program frozed the system. To watch the
- Thomas Kuehne (13/42) Apr 22 2005 -----BEGIN PGP SIGNED MESSAGE-----
On my win98 system this D program frozed the system. To watch the freezing the program can be given an upper bound for normal growing. When reaching this upper bound the growing will be done element by element. On win xp pro I have not reached that critical point or it might not even exist because win98 was flawed. <code> private import std.c.stdio, std.conv; class C{} C[] a; void main(char[][] args) { int delta= 100000; while(1) { try{ if( args.length>1 && a.length >= toInt(args[1])) delta= 1; a.length = a.length + delta; fprintf(stderr,"%d ", a.length); } catch { printf("Allocated array of length %d.\n", a.length); break; } } } </code>
Apr 22 2005
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Manfred Nowak schrieb am Fri, 22 Apr 2005 07:15:53 +0000 (UTC):On my win98 system this D program frozed the system. To watch the freezing the program can be given an upper bound for normal growing. When reaching this upper bound the growing will be done element by element. On win xp pro I have not reached that critical point or it might not even exist because win98 was flawed. <code> private import std.c.stdio, std.conv; class C{} C[] a; void main(char[][] args) { int delta= 100000; while(1) { try{ if( args.length>1 && a.length >= toInt(args[1])) delta= 1; a.length = a.length + delta; fprintf(stderr,"%d ", a.length); } catch { printf("Allocated array of length %d.\n", a.length); break; } } } </code>Seems to be OS dependent. On linux the programm was killed without entering the catch block. Added to DStress as http://dstress.kuehne.cn/run/OutOfMemory_03.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFCafIL3w+/yD4P9tIRAk2YAJ4wveuKV3On6aP4Ka1XgeZtO1NW+QCgm/Nz LQ2csPmMesj1UfK9c7WjhgQ= =zR3o -----END PGP SIGNATURE-----
Apr 22 2005