Home My Page Projects Code Snippets Project Openings SML/NJ Bugs
Summary Activity Tracker Lists

[#140] Lookup failure in closure.sml when compiling Twelf

Date:
2015-09-26 03:39
Priority:
3
State:
Closed
Submitted by:
Bug Submitter (webuser)
Assigned to:
John Reppy (jhr)
Machine Architecture:
x86
Operating System:
All
Component:
Compiler
Resolution:
Accepted As Bug
Severity:
Critical
OS Version:
3.18.20
SML/NJ Version:
110.78
Keywords:
FLINT
URL:
Transcript (of reproduction):
... [loading (server.cm):src/server/(sources.cm):../frontend/(sources.cm):../terminate/(sources.cm):../solvers/(sources.cm):cs-eq-field.sig] [compiling (server.cm):src/server/(sources.cm):../frontend/(sources.cm):../terminate/(sources.cm):../solvers/(sources.cm):cs-eq-field.fun] src/solvers/cs-eq-field.fun:528.13-529.57 Warning: match nonexhaustive App (U1,App (U2,Nil)) => ... src/solvers/cs-eq-field.fun:523.13-524.39 Warning: match nonexhaustive App (U,Nil) => ... src/solvers/cs-eq-field.fun:479.32 Warning: calling polyEqual src/solvers/cs-eq-field.fun:415.40 Warning: calling polyEqual src/solvers/cs-eq-field.fun:326.17-327.45 Warning: match nonexhaustive SOME m => ... src/solvers/cs-eq-field.fun:280.20 Warning: calling polyEqual src/solvers/cs-eq-field.fun:247.29 Warning: calling polyEqual src/solvers/cs-eq-field.fun:139.17 Warning: calling polyEqual src/solvers/cs-eq-field.fun:126.17 Warning: calling polyEqual LOOKUP FAILS on v7034 in environment: Values: v2958 v1694 v1695 v6271 v6313 Closures: Closure v6740/6740 @0: Vals: v1109 v1694 v1708 v3161 v3174 Closure v6664/6664 @0: Vals: v1607 v1695 ..... (* much output elided *) Closure v6621/6621 @0: Vals: v5910 v5935 v6279 Disposable records: v7354 v7356 v7355 Known function mapping: v39/known (L)v6663 - v6664 v6192/known (L)v7220 - v5 v6094 v7205 ..... (* more elided *) v576(v6457,v6347) v576(v6458,v570) v3065(v6459,v5078,v5082,(I)0) Error: Compiler bug: Closure: Lookup failure in cps/closure.sml val it = false : bool
Source (for reproduction):
cd twelf/src/solvers sml CM.make "sources.cm";
Summary:
Lookup failure in closure.sml when compiling Twelf

Detailed description
SMLNJ chokes when compiling the file src/solvers/cs-eq-field.fun in the Twelf source distribution (http://www.twelf.org/wiki/Download).
Submitted via web form by Ben Darwin <bcdarwin@gmail.com>

Comments:

Message  ↓
Date: 2015-10-04 15:09
Sender: John Reppy

This bug was caused by the switch in 110.78 to a new implementation of ListMergeSort.sort. The old implementation reversed the order of equal elements, whereas the new implementation is a stable sort. I have not been able to figure out how to fix the _real_ bug in FLINT/clos/closure.sml, but I have patched the problem for 110.79 by using the old implementation in the one place that it matters. I have submitted a new bug report [#143] for the root problem.

Attached Files:

Changes

Field Old Value Date By
status_idOpen2015-10-04 15:09jhr
close_dateNone2015-10-04 15:09jhr
assigned_tonone2015-10-04 15:09jhr
detailsSMLNJ chokes when compiling the file src/solvers/cs-eq-field.fun in the Twelf source distribution (http://www.twelf.org/wiki/Download). Submitted via web form by Ben Darwin <bcdarwin@gmail.com> 2015-10-04 14:58jhr
Operating SystemLinux2015-10-04 14:58jhr
ResolutionNone2015-10-04 14:58jhr
Transcript (of reproduction)... [loading (server.cm):src/server/(sources.cm):../frontend/(sources.cm):../terminate/(sources.cm):../solvers/(sources.cm):cs-eq-field.sig] [compiling (server.cm):src/server/(sources.cm):../frontend/(sources.cm):../terminate/(sources.cm):../solvers/(sources.cm):cs-eq-field.fun] src/solvers/cs-eq-field.fun:528.13-529.57 Warning: match nonexhaustive App (U1,App (U2,Nil)) => ... src/solvers/cs-eq-field.fun:523.13-524.39 Warning: match nonexhaustive App (U,Nil) => ... src/solvers/cs-eq-field.fun:479.32 Warning: calling polyEqual src/solvers/cs-eq-field.fun:415.40 Warning: calling polyEqual src/solvers/cs-eq-field.fun:326.17-327.45 Warning: match nonexhaustive SOME m => ... src/solvers/cs-eq-field.fun:280.20 Warning: calling polyEqual src/solvers/cs-eq-field.fun:247.29 Warning: calling polyEqual src/solvers/cs-eq-field.fun:139.17 Warning: calling polyEqual src/solvers/cs-eq-field.fun:126.17 Warning: calling polyEqual LOOKUP FAILS on v7034 in environment: Values: v2958 v1694 v1695 v6271 v6313 Closures: Closure v6740/6740 @0: Vals: v1109 v1694 v1708 v3161 v3174 Closure v6664/6664 @0: Vals: v1607 v1695 ..... (* much output elided *) Closure v6621/6621 @0: Vals: v5910 v5935 v6279 Disposable records: v7354 v7356 v7355 Known function mapping: v39/known (L)v6663 - v6664 v6192/known (L)v7220 - v5 v6094 v7205 ..... (* more elided *) v576(v6457,v6347) v576(v6458,v570) v3065(v6459,v5078,v5082,(I)0) Error: Compiler bug: Closure: Lookup failure in cps/closure.sml val it = false : bool 2015-10-04 14:58jhr