<div dir="ltr">Hi,<div><br></div><div>I am getting the error</div><div><br></div><div>"Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 512"</div><div><br></div><div>when I execute the following program</div><div><br></div><div><div>open List</div><div><br></div><div>table user_table: {ID: int, NAME: string} PRIMARY KEY ID</div><div><br></div><div>table project_table: {ID: int, NAME: string, DESCRIPTION: string, USER_ID: int} PRIMARY KEY ID,</div><div>      CONSTRAINT USER_ID FOREIGN KEY USER_ID REFERENCES user_table(ID)</div><div><br></div><div>table task_table: {ID: int, NAME: string, DESCRIPTION: string, USER_ID: int} PRIMARY KEY ID,</div><div>      CONSTRAINT USER_ID FOREIGN KEY USER_ID REFERENCES user_table(ID)</div><div><br></div><div>table project_task_table: {PROJECT_ID: int, TASK_ID: int} PRIMARY KEY (PROJECT_ID, TASK_ID),</div><div>      CONSTRAINT PROJECT_ID FOREIGN KEY PROJECT_ID REFERENCES project_table (ID),</div><div>      CONSTRAINT TASK_ID FOREIGN KEY TASK_ID REFERENCES task_table (ID)</div><div><br></div><div>table entry_table: {PROJECT_ID: int, TASK_ID: int, DATE: time, TIME: int} PRIMARY KEY (PROJECT_ID, TASK_ID, DATE)</div><div>      CONSTRAINT PROJECT_ID FOREIGN KEY PROJECT_ID REFERENCES project_table (ID),</div><div>      CONSTRAINT TASK_ID FOREIGN KEY TASK_ID REFERENCES task_table (ID)</div><div><br></div><div>datatype entry_cell = EntryCell of int * float</div><div><br></div><div>datatype task_row = TaskRow of int * string * list entry_cell</div><div><br></div><div>datatype project_row = ProjectRow of int * string * list task_row</div><div><br></div><div>datatype time_sheet = TimeSheet of list project_row</div><div><br></div><div>fun timeSheet userId  =</div><div>    projectIdTaskRowsPairs <- query (SELECT <a href="http://P.ID">P.ID</a> AS PROJECT_ID, <a href="http://T.ID">T.ID</a> AS ID, <a href="http://T.NAME">T.NAME</a> AS NAME</div><div><span class="" style="white-space:pre">                                </span>     FROM project_table AS P</div><div><span class="" style="white-space:pre">                             </span>       INNER JOIN project_task_table AS PT ON PT.PROJECT_ID = <a href="http://P.ID">P.ID</a></div><div><span class="" style="white-space:pre">                              </span>       INNER JOIN task_table AS T ON <a href="http://T.ID">T.ID</a> = PT.TASK_ID</div><div><span class="" style="white-space:pre">                          </span>     WHERE P.USER_ID = {[userId]}</div><div><span class="" style="white-space:pre">                                </span>     ORDER BY <a href="http://T.NAME">T.NAME</a>)</div><div><span class="" style="white-space:pre">                          </span>    (fn r projectIdTaskRowsPairs =></div><div><span class="" style="white-space:pre">                                   </span>let val projectIdTaskRowsPair = (r.PROJECT_ID, TaskRow (r.ID, r.NAME, [])) in</div><div><span class="" style="white-space:pre">                                      </span>    return (projectIdTaskRowsPair :: projectIdTaskRowsPairs)</div><div><span class="" style="white-space:pre">                                     </span>end)</div><div><span class="" style="white-space:pre">                               </span>    [];</div><div><br></div><div>    projectRows <- query (SELECT <a href="http://P.ID">P.ID</a> AS ID, <a href="http://P.NAME">P.NAME</a> AS NAME</div><div><span class="" style="white-space:pre">                        </span>  FROM project_table AS P</div><div><span class="" style="white-space:pre">                 </span>  WHERE P.USER_ID = {[userId]}</div><div><span class="" style="white-space:pre">                    </span>  ORDER BY <a href="http://P.NAME">P.NAME</a>)</div><div><span class="" style="white-space:pre">                      </span> (fn r projectRows =></div><div><span class="" style="white-space:pre">                   </span>     let val projectIdTaskRowsPairs = filter (fn (projectId, _) => projectId = r.ID) projectIdTaskRowsPairs</div><div><span class="" style="white-space:pre">                           </span> val taskRows = mp (fn (_, taskRow) => taskRow) projectIdTaskRowsPairs</div><div><span class="" style="white-space:pre">                          </span> val projectRow = ProjectRow (r.ID, r.NAME, taskRows)</div><div><span class="" style="white-space:pre">                      </span>     in</div><div><span class="" style="white-space:pre">                          </span> return (projectRow :: projectRows)</div><div><span class="" style="white-space:pre">                        </span>     end)</div><div><span class="" style="white-space:pre">                        </span> [];</div><div><br></div><div>    return (TimeSheet projectRows)</div><div>    </div><div>fun main () =</div><div>    timeSheet <- timeSheet 1;</div><div><br></div><div>    return</div><div><span class="" style="white-space:pre">    </span><xml></div><div><span class="" style="white-space:pre">        </span>  <body></div><div><span class="" style="white-space:pre">    </span>    <table></div><div><span class="" style="white-space:pre">        </span>      {case timeSheet of</div><div><span class="" style="white-space:pre">                </span>   TimeSheet (projectRows) =></div><div>  <span class="" style="white-space:pre">               </span>   mapX (fn projectRow =></div><div><span class="" style="white-space:pre">                      </span>    case projectRow of</div><div><span class="" style="white-space:pre">                           </span>ProjectRow (projectId, projectName, taskRows) =></div><div><span class="" style="white-space:pre">                                </span>mapX (fn taskRow =></div><div><span class="" style="white-space:pre">                                     </span> case taskRow of</div><div><span class="" style="white-space:pre">                                   </span>     TaskRow (taskId, taskName, _) =></div><div><span class="" style="white-space:pre">                                 </span>     <xml></div><div><span class="" style="white-space:pre">                                 </span>       <tr></div><div><span class="" style="white-space:pre">                                               </span> <td>{[projectId]}</td></div><div><span class="" style="white-space:pre">                                                </span> <td>{[projectName]}</td></div><div><span class="" style="white-space:pre">                                              </span> <td>{[taskId]}</td></div><div><span class="" style="white-space:pre">                                           </span> <td>{[taskName]}</td><span class="" style="white-space:pre">                                                </span> </div><div><span class="" style="white-space:pre">                                 </span>       </tr></div><div><span class="" style="white-space:pre">                                      </span>     </xml>)</div><div><span class="" style="white-space:pre">                               </span>     taskRows)</div><div><span class="" style="white-space:pre">                   </span>projectRows}</div><div><span class="" style="white-space:pre">       </span>    </table></div><div><span class="" style="white-space:pre">       </span>  </body></div><div><span class="" style="white-space:pre">   </span></xml></div></div><div><br></div><div>Does anyone knows how to circumvent it? Is it possible to configure the size of the heap?</div><div><br></div><div>Sincerely,</div><div>Saulo</div><div><br></div></div>