Catastrophic crash after OP_EQUALS overloads

This forum is to report technical problems with Rel.
Post Reply
HughDarwen
Posts: 124
Joined: Sat May 24, 2008 4:49 pm

Catastrophic crash after OP_EQUALS overloads

Post by HughDarwen »

I'm getting repeated crashes, not always in exactly the same place, when I test my overloads of OP_EQUALS that allow me to write, for example, PNO('P1') = 'P1'.

I obtained the log appended below by running Rel 1.0.4 beta having first deleted all the files in the target Database directory. It starts by loading and executing a database backup file that includes definitions of all the types and operators needed to repeat this test, including a couple of operator definitions for overloading OP_EQUALS. When the crash occurs the database becomes unusable and I have to delete the database and recreate it from backup continue working.

Sorry, I can't seem to attach files to this report--I keep being told the extension is not allowed, even when there is no extension ! I'll send my backup file by separate email.

Hugh

Crash log now follows:
Rel version 1.0.4 Beta
Copyright (C) 2004 - 2010 Dave Voorhis
All Rights Reserved
For further information, please see http://dbappbuilder.sourceforge.net
Rel is running on Hugh-PC
Persistence provided by Oracle Berkeley DB Java Edition version 4.0.103
Rel comes with ABSOLUTELY NO WARRANTY; for details, type:
warranty FROM TUPLE FROM sys.Version
This is free software, and you are welcome to redistribute it
under certain conditions.
For details, type:
redistribution FROM TUPLE FROM sys.Version
To view the catalog, type:
sys.Catalog

Ok.
Loaded D:\AllDocs\All Rel Databases\CS252 Worksheets\Backups\relbackup_d_Alldocs_All_Rel_Databases_CS252_Worksheets_2010_September_29_12_39_PM.d
/*** Rel Database Backup ***/

// Created in Rel Version 1.0.3 Beta
// Using DatabaseToScript version 0.3.3

BEGIN TRANSACTION;

ANNOUNCE 'operator IS_DIGITS';
OPERATOR IS_DIGITS(s CHARACTER) RETURNS BOOLEAN Java FOREIGN
String sbuf = s.stringValue();
for (int i=0; i<sbuf.length(); i++)
if (!Character.isDigit(sbuf.charAt(i)))
return ValueBoolean.select(context.getGenerator(), false);
return ValueBoolean.select(context.getGenerator(), true);
END OPERATOR;

ANNOUNCE 'operator LENGTH';
OPERATOR LENGTH(s CHARACTER) RETURNS INTEGER Java FOREIGN
return ValueInteger.select(context.getGenerator(), s.stringValue().length());
END OPERATOR;

ANNOUNCE 'operator SUBSTRING';
OPERATOR SUBSTRING(s CHARACTER, index INTEGER) RETURNS CHARACTER Java FOREIGN
// Substring, 0 based
return ValueCharacter.select(context.getGenerator(), s.stringValue().substring((int)index.longValue()));
END OPERATOR;

ANNOUNCE 'operator SUBSTRING';
OPERATOR SUBSTRING(s CHARACTER, beginindex INTEGER, endindex INTEGER) RETURNS CHARACTER Java FOREIGN
// Substring, 0 based
return ValueCharacter.select(context.getGenerator(), s.stringValue().substring((int)beginindex.longValue(), (int)endindex.longValue()));
END OPERATOR;

ANNOUNCE 'operator COMPARE_TO';
OPERATOR COMPARE_TO(s CHARACTER, anotherString CHARACTER) RETURNS INTEGER Java FOREIGN
// Compares two strings lexicographically.
return ValueInteger.select(context.getGenerator(), s.stringValue().compareTo(anotherString.stringValue()));
END OPERATOR;

ANNOUNCE 'operator COMPARE_TO_IGNORE_CASE';
OPERATOR COMPARE_TO_IGNORE_CASE(s CHARACTER, str CHARACTER) RETURNS INTEGER Java FOREIGN
// Compares two strings lexicographically, ignoring case differences.
return ValueInteger.select(context.getGenerator(), s.stringValue().compareToIgnoreCase(str.stringValue()));
END OPERATOR;

ANNOUNCE 'operator ENDS_WITH';
OPERATOR ENDS_WITH(s CHARACTER, suffx CHARACTER) RETURNS BOOLEAN Java FOREIGN
return ValueBoolean.select(context.getGenerator(), s.stringValue().endsWith(suffx.stringValue()));
END OPERATOR;

ANNOUNCE 'operator EQUALS_IGNORE_CASE';
OPERATOR EQUALS_IGNORE_CASE(s CHARACTER, anotherString CHARACTER) RETURNS BOOLEAN Java FOREIGN
// Compares this String to another String, ignoring case considerations.
return ValueBoolean.select(context.getGenerator(), s.stringValue().equalsIgnoreCase(anotherString.stringValue()));
END OPERATOR;

ANNOUNCE 'operator INDEX_OF';
OPERATOR INDEX_OF(s CHARACTER, str CHARACTER) RETURNS INTEGER Java FOREIGN
// Returns the index within this string of the first occurrence of the specified substring.
return ValueInteger.select(context.getGenerator(), s.stringValue().indexOf(str.stringValue()));
END OPERATOR;

ANNOUNCE 'operator INDEX_OF';
OPERATOR INDEX_OF(s CHARACTER, str CHARACTER, fromIndex INTEGER) RETURNS INTEGER Java FOREIGN
// Returns the index within this string of the first occurrence of the
// specified substring, starting at the specified index.
return ValueInteger.select(context.getGenerator(), s.stringValue().indexOf(str.stringValue(), (int)fromIndex.longValue()));
END OPERATOR;

ANNOUNCE 'operator LAST_INDEX_OF';
OPERATOR LAST_INDEX_OF(s CHARACTER, str CHARACTER) RETURNS INTEGER Java FOREIGN
// Returns the index within this string of the rightmost occurrence of the specified substring.
return ValueInteger.select(context.getGenerator(), s.stringValue().lastIndexOf(str.stringValue()));
END OPERATOR;

ANNOUNCE 'operator LAST_INDEX_OF';
OPERATOR LAST_INDEX_OF(s CHARACTER, str CHARACTER, fromIndex INTEGER) RETURNS INTEGER Java FOREIGN
// Returns the index within this string of the last occurrence of
// the specified substring, searching backward starting at the specified index.
return ValueInteger.select(context.getGenerator(), s.stringValue().lastIndexOf(str.stringValue(), (int)fromIndex.longValue()));
END OPERATOR;

ANNOUNCE 'operator MATCHES';
OPERATOR MATCHES(s CHARACTER, regex CHARACTER) RETURNS BOOLEAN Java FOREIGN
// Tells whether or not this string matches the given regular expression.
return ValueBoolean.select(context.getGenerator(), s.stringValue().matches(regex.stringValue()));
END OPERATOR;

ANNOUNCE 'operator REGION_MATCHES';
OPERATOR REGION_MATCHES(s CHARACTER, ignoreCase BOOLEAN, toffset INTEGER, other CHARACTER, ooffset INTEGER, len INTEGER) RETURNS BOOLEAN Java FOREIGN
// Tests if two string regions are equal.
return ValueBoolean.select(context.getGenerator(), s.stringValue().regionMatches(ignoreCase.booleanValue(),
(int)toffset.longValue(),
other.stringValue(),
(int)ooffset.longValue(),
(int)len.longValue()));
END OPERATOR;

ANNOUNCE 'operator REPLACE_ALL';
OPERATOR REPLACE_ALL(s CHARACTER, regex CHARACTER, replacement CHARACTER) RETURNS CHARACTER Java FOREIGN
// Replaces each substring of this string that matches the given regular expression with the given replacement.
return ValueCharacter.select(context.getGenerator(), s.stringValue().replaceAll(regex.stringValue(), replacement.stringValue()));
END OPERATOR;

ANNOUNCE 'operator REPLACE_FIRST';
OPERATOR REPLACE_FIRST(s CHARACTER, regex CHARACTER, replacement CHARACTER) RETURNS CHARACTER Java FOREIGN
// Replaces the first substring of this string that matches the given regular expression with the given replacement.
return ValueCharacter.select(context.getGenerator(), s.stringValue().replaceFirst(regex.stringValue(), replacement.stringValue()));
END OPERATOR;

ANNOUNCE 'operator STARTS_WITH';
OPERATOR STARTS_WITH(s CHARACTER, prefx CHARACTER) RETURNS BOOLEAN Java FOREIGN
// Tests if this string starts with the specified prefix.
return ValueBoolean.select(context.getGenerator(), s.stringValue().startsWith(prefx.stringValue()));
END OPERATOR;

ANNOUNCE 'operator STARTS_WITH';
OPERATOR STARTS_WITH(s CHARACTER, prefx CHARACTER, toffset INTEGER) RETURNS BOOLEAN Java FOREIGN
// Tests if this string starts with the specified prefix beginning at a specified index.
return ValueBoolean.select(context.getGenerator(), s.stringValue().startsWith(prefx.stringValue(), (int)toffset.longValue()));
END OPERATOR;

ANNOUNCE 'operator TO_LOWER_CASE';
OPERATOR TO_LOWER_CASE(s CHARACTER) RETURNS CHARACTER Java FOREIGN
return ValueCharacter.select(context.getGenerator(), s.stringValue().toLowerCase());
END OPERATOR;

ANNOUNCE 'operator TO_UPPER_CASE';
OPERATOR TO_UPPER_CASE(s CHARACTER) RETURNS CHARACTER Java FOREIGN
// Converts all of the characters in this String to upper case using the rules of the default locale.
return ValueCharacter.select(context.getGenerator(), s.stringValue().toUpperCase());
END OPERATOR;

ANNOUNCE 'operator TRIM';
OPERATOR TRIM(s CHARACTER) RETURNS CHARACTER Java FOREIGN
// Trim leading and trailing blanks.
return ValueCharacter.select(context.getGenerator(), s.stringValue().trim());
END OPERATOR;

ANNOUNCE 'var STAFF_NAME';
VAR STAFF_NAME REAL RELATION {StaffId CHARACTER, Name CHARACTER} KEY {StaffId};

ANNOUNCE 'var TEACHES';
VAR TEACHES REAL RELATION {StaffId CHARACTER, CourseId CHARACTER} KEY {StaffId};

ANNOUNCE 'var COURSE';
VAR COURSE REAL RELATION {CourseId CHARACTER, Title CHARACTER} KEY {CourseId};
COURSE := RELATION {
TUPLE {CourseId "C1", Title "Database"},
TUPLE {CourseId "C2", Title "HCI"},
TUPLE {CourseId "C3", Title "Op Systems"},
TUPLE {CourseId "C4", Title "Programming"}
}
;

ANNOUNCE 'var EXAM_MARK';
VAR EXAM_MARK REAL RELATION {StudentId CHARACTER, CourseId CHARACTER, Mark INTEGER} KEY {StudentId, CourseId};
EXAM_MARK := RELATION {
TUPLE {StudentId "S1", CourseId "C1", Mark 85},
TUPLE {StudentId "S1", CourseId "C2", Mark 49},
TUPLE {StudentId "S2", CourseId "C1", Mark 49},
TUPLE {StudentId "S3", CourseId "C3", Mark 66},
TUPLE {StudentId "S4", CourseId "C1", Mark 93}
}
;

ANNOUNCE 'var IS_CALLED';
VAR IS_CALLED REAL RELATION {StudentId CHARACTER, Name CHARACTER} KEY {StudentId};
IS_CALLED := RELATION {
TUPLE {StudentId "S1", Name "Anne"},
TUPLE {StudentId "S2", Name "Boris"},
TUPLE {StudentId "S3", Name "Cindy"},
TUPLE {StudentId "S4", Name "Devinder"},
TUPLE {StudentId "S5", Name "Boris"}
}
;

ANNOUNCE 'var IS_ENROLLED_ON';
VAR IS_ENROLLED_ON REAL RELATION {StudentId CHARACTER, CourseId CHARACTER} KEY {CourseId, StudentId};
IS_ENROLLED_ON := RELATION {
TUPLE {StudentId "S1", CourseId "C1"},
TUPLE {StudentId "S2", CourseId "C1"},
TUPLE {StudentId "S4", CourseId "C1"},
TUPLE {StudentId "S1", CourseId "C2"},
TUPLE {StudentId "S3", CourseId "C3"}
}
;

ANNOUNCE 'var ENROLMENT';
VAR ENROLMENT REAL RELATION {StudentId CHARACTER, CourseId CHARACTER, Name CHARACTER} KEY {StudentId, CourseId};
ENROLMENT := RELATION {
TUPLE {StudentId "S1", CourseId "C1", Name "Anne"},
TUPLE {StudentId "S1", CourseId "C2", Name "Anne"},
TUPLE {StudentId "S2", CourseId "C1", Name "Boris"},
TUPLE {StudentId "S3", CourseId "C3", Name "Cindy"},
TUPLE {StudentId "S4", CourseId "C1", Name "Devinder"}
}
;

ANNOUNCE 'type SNO';
TYPE SNO POSSREP { c CHAR CONSTRAINT SUBSTRING ( c , 0 , 1 ) = 'S' AND IS_DIGITS ( SUBSTRING ( c , 1 ) ) };

ANNOUNCE 'type PNO';
TYPE PNO POSSREP { c CHAR CONSTRAINT SUBSTRING ( c , 0 , 1 ) = 'P' AND IS_DIGITS ( SUBSTRING ( c , 1 ) ) };

ANNOUNCE 'type NAME';
TYPE NAME POSSREP { c CHAR CONSTRAINT LENGTH ( c ) > 0 AND LENGTH ( c ) <= 30 };

ANNOUNCE 'type JNO';
TYPE JNO POSSREP { c CHAR CONSTRAINT SUBSTRING ( c , 0 , 1 ) = 'J' AND IS_DIGITS ( SUBSTRING ( c , 1 ) ) };

ANNOUNCE 'type CID';
TYPE CID POSSREP CID { c CHAR CONSTRAINT LENGTH ( c ) <= 5 AND SUBSTRING ( c , 0 , 1 ) = 'C' AND IS_DIGITS ( SUBSTRING ( c , 1 ) ) };

ANNOUNCE 'type SID';
TYPE SID POSSREP SID { c CHAR CONSTRAINT LENGTH ( c ) <= 5 AND SUBSTRING ( c , 0 , 1 ) = 'S' AND IS_DIGITS ( SUBSTRING ( c , 1 ) ) };

ANNOUNCE 'var SPJrev';
VAR SPJrev REAL RELATION {S# SNO, P# PNO, J# JNO, QTY INTEGER} KEY {S#, P#, J#};
SPJrev := RELATION {
TUPLE {S# SNO("S1"), P# PNO("P1"), J# JNO("J1"), QTY 200},
TUPLE {S# SNO("S1"), P# PNO("P1"), J# JNO("J4"), QTY 700},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J1"), QTY 400},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J2"), QTY 200},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J3"), QTY 200},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J4"), QTY 500},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J5"), QTY 600},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J6"), QTY 400},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J7"), QTY 800},
TUPLE {S# SNO("S2"), P# PNO("P5"), J# JNO("J2"), QTY 100},
TUPLE {S# SNO("S3"), P# PNO("P3"), J# JNO("J1"), QTY 200},
TUPLE {S# SNO("S3"), P# PNO("P4"), J# JNO("J2"), QTY 500},
TUPLE {S# SNO("S4"), P# PNO("P6"), J# JNO("J3"), QTY 300},
TUPLE {S# SNO("S4"), P# PNO("P6"), J# JNO("J7"), QTY 300},
TUPLE {S# SNO("S5"), P# PNO("P1"), J# JNO("J4"), QTY 100},
TUPLE {S# SNO("S5"), P# PNO("P2"), J# JNO("J2"), QTY 200},
TUPLE {S# SNO("S5"), P# PNO("P2"), J# JNO("J4"), QTY 100},
TUPLE {S# SNO("S5"), P# PNO("P3"), J# JNO("J4"), QTY 200},
TUPLE {S# SNO("S5"), P# PNO("P4"), J# JNO("J4"), QTY 800},
TUPLE {S# SNO("S5"), P# PNO("P5"), J# JNO("J4"), QTY 400},
TUPLE {S# SNO("S5"), P# PNO("P5"), J# JNO("J5"), QTY 500},
TUPLE {S# SNO("S5"), P# PNO("P5"), J# JNO("J7"), QTY 100},
TUPLE {S# SNO("S5"), P# PNO("P6"), J# JNO("J2"), QTY 200},
TUPLE {S# SNO("S5"), P# PNO("P6"), J# JNO("J4"), QTY 500}
}
;

ANNOUNCE 'var SPJ';
VAR SPJ REAL RELATION {S# SNO, P# PNO, J# JNO, QTY INTEGER} KEY {S#, P#, J#};
SPJ := RELATION {
TUPLE {S# SNO("S1"), P# PNO("P1"), J# JNO("J1"), QTY 200},
TUPLE {S# SNO("S1"), P# PNO("P1"), J# JNO("J4"), QTY 700},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J1"), QTY 400},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J2"), QTY 200},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J3"), QTY 200},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J4"), QTY 500},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J5"), QTY 600},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J6"), QTY 400},
TUPLE {S# SNO("S2"), P# PNO("P3"), J# JNO("J7"), QTY 800},
TUPLE {S# SNO("S2"), P# PNO("P5"), J# JNO("J2"), QTY 100},
TUPLE {S# SNO("S3"), P# PNO("P3"), J# JNO("J1"), QTY 200},
TUPLE {S# SNO("S3"), P# PNO("P4"), J# JNO("J2"), QTY 500},
TUPLE {S# SNO("S4"), P# PNO("P6"), J# JNO("J3"), QTY 300},
TUPLE {S# SNO("S4"), P# PNO("P6"), J# JNO("J7"), QTY 300},
TUPLE {S# SNO("S5"), P# PNO("P1"), J# JNO("J4"), QTY 100},
TUPLE {S# SNO("S5"), P# PNO("P2"), J# JNO("J2"), QTY 200},
TUPLE {S# SNO("S5"), P# PNO("P2"), J# JNO("J4"), QTY 100},
TUPLE {S# SNO("S5"), P# PNO("P3"), J# JNO("J4"), QTY 200},
TUPLE {S# SNO("S5"), P# PNO("P4"), J# JNO("J4"), QTY 800},
TUPLE {S# SNO("S5"), P# PNO("P5"), J# JNO("J4"), QTY 400},
TUPLE {S# SNO("S5"), P# PNO("P5"), J# JNO("J5"), QTY 500},
TUPLE {S# SNO("S5"), P# PNO("P5"), J# JNO("J7"), QTY 100},
TUPLE {S# SNO("S5"), P# PNO("P6"), J# JNO("J2"), QTY 200},
TUPLE {S# SNO("S5"), P# PNO("P6"), J# JNO("J4"), QTY 500}
}
;

ANNOUNCE 'var SP';
VAR SP REAL RELATION {S# SNO, P# PNO, Qty INTEGER} KEY {S#, P#};
SP := RELATION {
TUPLE {S# SNO("S1"), P# PNO("P1"), Qty 300},
TUPLE {S# SNO("S1"), P# PNO("P2"), Qty 200},
TUPLE {S# SNO("S1"), P# PNO("P3"), Qty 400},
TUPLE {S# SNO("S1"), P# PNO("P4"), Qty 200},
TUPLE {S# SNO("S1"), P# PNO("P5"), Qty 100},
TUPLE {S# SNO("S1"), P# PNO("P6"), Qty 100},
TUPLE {S# SNO("S2"), P# PNO("P1"), Qty 300},
TUPLE {S# SNO("S2"), P# PNO("P2"), Qty 400},
TUPLE {S# SNO("S3"), P# PNO("P2"), Qty 200},
TUPLE {S# SNO("S4"), P# PNO("P2"), Qty 200},
TUPLE {S# SNO("S4"), P# PNO("P4"), Qty 300},
TUPLE {S# SNO("S4"), P# PNO("P5"), Qty 400}
}
;

ANNOUNCE 'var S';
VAR S REAL RELATION {Status INTEGER, City CHARACTER, S# SNO, Sname NAME} KEY {S#};
S := RELATION {
TUPLE {Status 20, City "London", S# SNO("S1"), Sname NAME("Smith")},
TUPLE {Status 10, City "Paris", S# SNO("S2"), Sname NAME("Jones")},
TUPLE {Status 30, City "Paris", S# SNO("S3"), Sname NAME("Blake")},
TUPLE {Status 20, City "London", S# SNO("S4"), Sname NAME("Clark")},
TUPLE {Status 30, City "Athens", S# SNO("S5"), Sname NAME("Adams")}
}
;

ANNOUNCE 'type COLOUR';
TYPE COLOUR POSSREP { c CHAR CONSTRAINT c = 'Red' or c = 'Orange' or c = 'Yellow' or c = 'Green' or c = 'Blue' or c = 'Indigo' or c = 'Violet' or c = 'Black' or c = 'White' or c = 'Brown' or c = 'Puce' or c = 'Pink' or c = 'Purple' or c = 'Mauve' or c = 'Turquoise' or c = 'Scarlet' or c = 'Crimson' };

ANNOUNCE 'type WEIGHT';
TYPE WEIGHT POSSREP { r RATIONAL CONSTRAINT r > 0.0 };

ANNOUNCE 'var Prev';
VAR Prev REAL RELATION {City CHARACTER, P# PNO, Pname NAME, Weight WEIGHT, Colour COLOUR} KEY {P#};
Prev := RELATION {
TUPLE {City "London", P# PNO("P1"), Pname NAME("Nut"), Weight WEIGHT(12.0), Colour COLOUR("Red")},
TUPLE {City "Paris", P# PNO("P2"), Pname NAME("Bolt"), Weight WEIGHT(17.0), Colour COLOUR("Green")},
TUPLE {City "Oslo", P# PNO("P3"), Pname NAME("Screw"), Weight WEIGHT(17.0), Colour COLOUR("Blue")},
TUPLE {City "London", P# PNO("P4"), Pname NAME("Screw"), Weight WEIGHT(14.0), Colour COLOUR("Red")},
TUPLE {City "Paris", P# PNO("P5"), Pname NAME("Cam"), Weight WEIGHT(12.0), Colour COLOUR("Blue")},
TUPLE {City "London", P# PNO("P6"), Pname NAME("Cog"), Weight WEIGHT(19.0), Colour COLOUR("Red")}
}
;

ANNOUNCE 'var P';
VAR P REAL RELATION {City CHARACTER, P# PNO, Pname NAME, Weight WEIGHT, Colour COLOUR} KEY {P#};
P := RELATION {
TUPLE {City "London", P# PNO("P1"), Pname NAME("Nut"), Weight WEIGHT(12.0), Colour COLOUR("Red")},
TUPLE {City "Paris", P# PNO("P2"), Pname NAME("Bolt"), Weight WEIGHT(17.0), Colour COLOUR("Green")},
TUPLE {City "Oslo", P# PNO("P3"), Pname NAME("Screw"), Weight WEIGHT(17.0), Colour COLOUR("Blue")},
TUPLE {City "London", P# PNO("P4"), Pname NAME("Screw"), Weight WEIGHT(14.0), Colour COLOUR("Red")},
TUPLE {City "Paris", P# PNO("P5"), Pname NAME("Cam"), Weight WEIGHT(12.0), Colour COLOUR("Blue")},
TUPLE {City "London", P# PNO("P6"), Pname NAME("Cog"), Weight WEIGHT(19.0), Colour COLOUR("Red")}
}
;

ANNOUNCE 'var J';
VAR J REAL RELATION {J# JNO, Jname NAME, City CHARACTER} KEY {J#};
J := RELATION {
TUPLE {J# JNO("J1"), Jname NAME("Sorter"), City "Paris"},
TUPLE {J# JNO("J2"), Jname NAME("Display"), City "Rome"},
TUPLE {J# JNO("J3"), Jname NAME("OCR"), City "Athens"},
TUPLE {J# JNO("J4"), Jname NAME("Console"), City "Athens"},
TUPLE {J# JNO("J5"), Jname NAME("RAID"), City "London"},
TUPLE {J# JNO("J6"), Jname NAME("EDS"), City "Oslo"},
TUPLE {J# JNO("J7"), Jname NAME("Tape"), City "London"}
}
;

ANNOUNCE 'operator OP_EQUALS';
OPERATOR OP_EQUALS(P# PNO, PC CHARACTER) RETURNS BOOLEAN; RETURN THE_c ( P# ) = PC ; END OPERATOR ;

ANNOUNCE 'operator OP_EQUALS';
OPERATOR OP_EQUALS(S# SNO, SC CHARACTER) RETURNS BOOLEAN; RETURN THE_c ( S# ) = SC ; END OPERATOR ;

COMMIT;

/*** End of Rel Database Backup ***/
ANNOUNCE 'End of Script.';


operator IS_DIGITS
operator LENGTH
operator SUBSTRING
operator SUBSTRING
operator COMPARE_TO
operator COMPARE_TO_IGNORE_CASE
operator ENDS_WITH
operator EQUALS_IGNORE_CASE
operator INDEX_OF
operator INDEX_OF
operator LAST_INDEX_OF
operator LAST_INDEX_OF
operator MATCHES
operator REGION_MATCHES
operator REPLACE_ALL
operator REPLACE_FIRST
operator STARTS_WITH
operator STARTS_WITH
operator TO_LOWER_CASE
operator TO_UPPER_CASE
operator TRIM
var STAFF_NAME
var TEACHES
var COURSE
var EXAM_MARK
var IS_CALLED
var IS_ENROLLED_ON
var ENROLMENT
type SNO
type PNO
type NAME
type JNO
type CID
type SID
var SPJrev
var SPJ
var SP
var S
type COLOUR
type WEIGHT
var Prev
var P
var J
operator OP_EQUALS
operator OP_EQUALS
End of Script.


Ok.
SNO('S1') = 'S1'

ERROR: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: java.lang.StackOverflowError
Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 5 near ''S1''


ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: loadType failed: java.lang.StackOverflowError
Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 64 near ''S''


Line 1

Line 1, column 5 near ''S1''


at ca.mb.armchair.rel3.interpreter.Interpreter.evaluate(Interpreter.java:103)
at ca.mb.armchair.rel3.interpreter.Interpreter.evaluate(Interpreter.java:230)
at ca.mb.armchair.rel3.interpreter.Interpreter.evaluate(Interpreter.java:234)
at ca.mb.armchair.rel3.client.stream.ClientLocalConnection$1.execute(ClientLocalConnection.java:69)
at ca.mb.armchair.rel3.client.stream.ClientLocalConnection.send(ClientLocalConnection.java:42)
at ca.mb.armchair.rel3.client.stream.ClientLocalConnection.sendEvaluate(ClientLocalConnection.java:67)
at ca.mb.armchair.rel3.client.string.ClientLocal.sendEvaluate(ClientLocal.java:52)
at ca.mb.armchair.rel3.dbrowser.ui.PanelCommandline$36.doInBackground(PanelCommandline.java:1136)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Dave
Site Admin
Posts: 372
Joined: Sun Nov 27, 2005 7:19 pm

Re: Catastrophic crash after OP_EQUALS overloads

Post by Dave »

Very curious! It appears to be recursively trying to load a type. I shall investigate this further.
Post Reply