I'm not sure if it makes sense to have a "CompressSize is insufficient" error in the following program:
Off compress;
I mu1,...,mu16;
L F = g_(1,mu1,...,mu16);
B g_;
.sort;
Keep Brackets;
tracen,1;
.end
FORM 4.1 (Nov 29 2016, v4.1-20131025-272-gb993ca7) 64-bits Run: Fri Dec 2 23:24:51 2016
Off compress;
I mu1,...,mu16;
L F = g_(1,mu1,...,mu16);
B g_;
.sort;
Time = 0.00 sec Generated terms = 1
F Terms in output = 1
Bytes used = 112
Keep Brackets;
tracen,1;
.end
Time = 0.16 sec Generated terms = 100000
F 1 Terms left = 100000
Bytes used = 8800004
Time = 0.32 sec Generated terms = 200000
F 1 Terms left = 200000
Bytes used = 17600008
Time = 0.49 sec Generated terms = 300000
F 1 Terms left = 300000
Bytes used = 26400012
CompressSize of 320000 is insufficient
Program terminating at test.frm Line 7 -->
0.52 sec out of 0.53 sec
Valgrind output:
==19814== Memcheck, a memory error detector
==19814== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==19814== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==19814== Command: ./vorm test.frm
==19814==
FORM 4.1 (Nov 29 2016, v4.1-20131025-272-gb993ca7) 64-bits Run: Fri Dec 2 23:25:22 2016
Off compress;
I mu1,...,mu16;
L F = g_(1,mu1,...,mu16);
B g_;
.sort;
Time = 0.12 sec Generated terms = 1
F Terms in output = 1
Bytes used = 112
Keep Brackets;
tracen,1;
.end
Time = 8.11 sec Generated terms = 100000
F 1 Terms left = 100000
Bytes used = 8800004
Time = 16.12 sec Generated terms = 200000
F 1 Terms left = 200000
Bytes used = 17600008
Time = 24.14 sec Generated terms = 300000
F 1 Terms left = 300000
Bytes used = 26400012
==19814== Invalid write of size 4
==19814== at 0x53B8A9: Deferred (proces.c:4477)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== by 0x51C5F9: PreProcessor (pre.c:898)
==19814== by 0x5840E9: main (startup.c:1597)
==19814== Address 0x52603a8 is 0 bytes after a block of size 1,280,040 alloc'd
==19814== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==19814== by 0x5AC9F7: Malloc1 (tools.c:2236)
==19814== by 0x56EE27: AllocSetups (setfile.c:617)
==19814== by 0x570397: MakeSetupAllocs (setfile.c:1059)
==19814== by 0x584056: main (startup.c:1576)
==19814==
==19814== Invalid read of size 4
==19814== at 0x535A72: InsertTerm (proces.c:2546)
==19814== by 0x53B93B: Deferred (proces.c:4491)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== by 0x51C5F9: PreProcessor (pre.c:898)
==19814== by 0x5840E9: main (startup.c:1597)
==19814== Address 0x52603a8 is 0 bytes after a block of size 1,280,040 alloc'd
==19814== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==19814== by 0x5AC9F7: Malloc1 (tools.c:2236)
==19814== by 0x56EE27: AllocSetups (setfile.c:617)
==19814== by 0x570397: MakeSetupAllocs (setfile.c:1059)
==19814== by 0x584056: main (startup.c:1576)
==19814==
==19814== Invalid read of size 4
==19814== at 0x535886: InsertTerm (proces.c:2507)
==19814== by 0x53B93B: Deferred (proces.c:4491)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== by 0x51C5F9: PreProcessor (pre.c:898)
==19814== by 0x5840E9: main (startup.c:1597)
==19814== Address 0x52603a8 is 0 bytes after a block of size 1,280,040 alloc'd
==19814== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==19814== by 0x5AC9F7: Malloc1 (tools.c:2236)
==19814== by 0x56EE27: AllocSetups (setfile.c:617)
==19814== by 0x570397: MakeSetupAllocs (setfile.c:1059)
==19814== by 0x584056: main (startup.c:1576)
==19814==
==19814== Invalid read of size 4
==19814== at 0x535877: InsertTerm (proces.c:2507)
==19814== by 0x53B93B: Deferred (proces.c:4491)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== by 0x51C5F9: PreProcessor (pre.c:898)
==19814== by 0x5840E9: main (startup.c:1597)
==19814== Address 0x52603a8 is 0 bytes after a block of size 1,280,040 alloc'd
==19814== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==19814== by 0x5AC9F7: Malloc1 (tools.c:2236)
==19814== by 0x56EE27: AllocSetups (setfile.c:617)
==19814== by 0x570397: MakeSetupAllocs (setfile.c:1059)
==19814== by 0x584056: main (startup.c:1576)
==19814==
==19814== Invalid read of size 4
==19814== at 0x53B8C3: Deferred (proces.c:4478)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== by 0x51C5F9: PreProcessor (pre.c:898)
==19814== by 0x5840E9: main (startup.c:1597)
==19814== Address 0x52603a8 is 0 bytes after a block of size 1,280,040 alloc'd
==19814== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==19814== by 0x5AC9F7: Malloc1 (tools.c:2236)
==19814== by 0x56EE27: AllocSetups (setfile.c:617)
==19814== by 0x570397: MakeSetupAllocs (setfile.c:1059)
==19814== by 0x584056: main (startup.c:1576)
==19814==
==19814== Invalid write of size 4
==19814== at 0x53B8EE: Deferred (proces.c:4489)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== by 0x51C5F9: PreProcessor (pre.c:898)
==19814== by 0x5840E9: main (startup.c:1597)
==19814== Address 0x52603a8 is 0 bytes after a block of size 1,280,040 alloc'd
==19814== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==19814== by 0x5AC9F7: Malloc1 (tools.c:2236)
==19814== by 0x56EE27: AllocSetups (setfile.c:617)
==19814== by 0x570397: MakeSetupAllocs (setfile.c:1059)
==19814== by 0x584056: main (startup.c:1576)
==19814==
==19814== Invalid read of size 4
==19814== at 0x535A5A: InsertTerm (proces.c:2545)
==19814== by 0x53B93B: Deferred (proces.c:4491)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== by 0x51C5F9: PreProcessor (pre.c:898)
==19814== by 0x5840E9: main (startup.c:1597)
==19814== Address 0x52603a8 is 0 bytes after a block of size 1,280,040 alloc'd
==19814== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==19814== by 0x5AC9F7: Malloc1 (tools.c:2236)
==19814== by 0x56EE27: AllocSetups (setfile.c:617)
==19814== by 0x570397: MakeSetupAllocs (setfile.c:1059)
==19814== by 0x584056: main (startup.c:1576)
==19814==
==19814== Invalid write of size 4
==19814== at 0x53B94B: Deferred (proces.c:4494)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== by 0x51C5F9: PreProcessor (pre.c:898)
==19814== by 0x5840E9: main (startup.c:1597)
==19814== Address 0x52603a8 is 0 bytes after a block of size 1,280,040 alloc'd
==19814== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==19814== by 0x5AC9F7: Malloc1 (tools.c:2236)
==19814== by 0x56EE27: AllocSetups (setfile.c:617)
==19814== by 0x570397: MakeSetupAllocs (setfile.c:1059)
==19814== by 0x584056: main (startup.c:1576)
==19814==
CompressSize of 320000 is insufficient
Program terminating at test.frm Line 7 -->
==19814== Invalid read of size 4
==19814== at 0x5AEFB1: Crash (tools.c:3573)
==19814== by 0x5842F3: Terminate (startup.c:1699)
==19814== by 0x587A3F: GetOneTerm (store.c:1385)
==19814== by 0x53B9B7: Deferred (proces.c:4499)
==19814== by 0x536F5E: Generator (proces.c:3039)
==19814== by 0x4A78D6: TraceNgen (opera.c:1794)
==19814== by 0x4A62B7: TraceN (opera.c:1429)
==19814== by 0x4A7A23: Traces (opera.c:1836)
==19814== by 0x5390C6: Generator (proces.c:3613)
==19814== by 0x52E8DF: Processor (proces.c:404)
==19814== by 0x4576BE: DoExecute (execute.c:812)
==19814== by 0x47EDB6: ExecModule (module.c:274)
==19814== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==19814==
25.81 sec out of 25.81 sec
==19814==
==19814== HEAP SUMMARY:
==19814== in use at exit: 391,485,712 bytes in 132 blocks
==19814== total heap usage: 669 allocs, 537 frees, 391,535,919 bytes allocated
==19814==
==19814== LEAK SUMMARY:
==19814== definitely lost: 0 bytes in 0 blocks
==19814== indirectly lost: 0 bytes in 0 blocks
==19814== possibly lost: 0 bytes in 0 blocks
==19814== still reachable: 391,485,712 bytes in 132 blocks
==19814== suppressed: 0 bytes in 0 blocks
==19814== Rerun with --leak-check=full to see details of leaked memory
==19814==
==19814== For counts of detected and suppressed errors, rerun with: -v
==19814== ERROR SUMMARY: 234 errors from 9 contexts (suppressed: 6 from 6)
I'm not sure if it makes sense to have a "CompressSize is insufficient" error in the following program:
Valgrind output: