jeffsvajlenko/BigCloneEval

Error loading SubsumeMatcher

Closed this issue · 1 comments

Trying to run ./evaluateTool with the SubsumeMatcher results in an error

./evaluateTool -t 1 -o ~/report -st both  -m "SubsumeMatcher 1 ratio 0.7" -mis 50 -mil 10 -mip 10 -mit 50
Error loading clone matcher.  Please see the exception for details:
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at cloneMatchingAlgorithms.CloneMatcher.load(CloneMatcher.java:21)
	at tasks.EvaluateTool.main(EvaluateTool.java:243)
Caused by: org.h2.jdbc.JdbcSQLException: Column "TOOL_ID" not found; SQL statement:
SELECT 1 FROM tool_1_clones where tool_id = ? and type1 = ? and name1 = ? and startline1 <= ? and endline1 >= ? and type2 = ? and name2 = ? and startline2 <= ? and endline2 >= ? [42122-176]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
	at org.h2.message.DbException.get(DbException.java:178)
	at org.h2.message.DbException.get(DbException.java:154)
	at org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:148)
	at org.h2.expression.Comparison.optimize(Comparison.java:179)
	at org.h2.expression.ConditionAndOr.optimize(ConditionAndOr.java:131)
	at org.h2.expression.ConditionAndOr.optimize(ConditionAndOr.java:131)
	at org.h2.expression.ConditionAndOr.optimize(ConditionAndOr.java:131)
	at org.h2.expression.ConditionAndOr.optimize(ConditionAndOr.java:131)
	at org.h2.expression.ConditionAndOr.optimize(ConditionAndOr.java:131)
	at org.h2.expression.ConditionAndOr.optimize(ConditionAndOr.java:131)
	at org.h2.expression.ConditionAndOr.optimize(ConditionAndOr.java:131)
	at org.h2.expression.ConditionAndOr.optimize(ConditionAndOr.java:131)
	at org.h2.command.dml.Select.prepare(Select.java:834)
	at org.h2.command.Parser.prepareCommand(Parser.java:248)
	at org.h2.engine.Session.prepareLocal(Session.java:442)
	at org.h2.engine.Session.prepareCommand(Session.java:384)
	at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1188)
	at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:73)
	at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:276)
	at com.jolbox.bonecp.ConnectionHandle.prepareStatement(ConnectionHandle.java:1024)
	at cloneMatchingAlgorithms.SubsumeMatcher.init(SubsumeMatcher.java:56)
	at cloneMatchingAlgorithms.SubsumeMatcher.<init>(SubsumeMatcher.java:48)
	... 6 more

Any quick fixes for this?

Found a bug where SubsumeMatcher was looking for a column that didn't exist. Fixed now in master.