Bug - Fixed NoSuchMethod error in CommandQueueHandler when updating svn

Ethelred

Member
I can't get my daily build to build a .jar file. When I enter

Code:
ant daily

it compiles a bunch of stuff, but doesn't produce a valid .jar file. If I just try to do an SVN update via

Code:
svn update

I get this output

Code:
svn update
Updating '.':
svn: E185003: Invalid diff stream: [tgt] insn 0 starts beyond the target view position

which leaves me baffled and confused. Can anybody suggest something I can do to collect enough information to determine the actual problem. I know very little about ant and svn and have just followed that recipe for years, more or less without problem.

Thanks for any help.
 

AlbinoRhino

Active member
Possibly not of any relevance...but I did notice my script list is significantly smaller than others being reported in this thread.

There is a mixture of github & sourceforge.

Code:
Checking all SVN projects...
Ezandora-Sweet-Synthesis-branches-Release     is at HEAD (r20)
Ezandora-Briefcase-branches-Release is at HEAD (r78)
Ezandora-Source-Terminal-GUI-branches-Release     is at HEAD (r19)
Ezandora-Asdon-Martin-GUI-branches-Release is at HEAD     (r9)
Ezandora-Guide-branches-Release is at HEAD (r512)
Ezandora-Far-Future-branches-Release     is at HEAD (r38)
Ezandora-Choice-Override-branches-Release is at HEAD     (r23)
Ezandora-Genie-branches-Release is at HEAD (r39)
Ezandora-Detective-Solver-branches-Release     is at HEAD (r19)
Ezandora-Lylefarm-branches-Release is at HEAD (r17)
rlbond86-mafia-scripts-auto_mushroom-trunk     is at HEAD (r37)
zlib is at HEAD (r37)
bale-relay-campground is at     HEAD (r139)
bale-ltt is at HEAD (r6)
reference-plus is at HEAD (r2)
relay-charsheet     is at HEAD (r35)
mafiarecovery is at HEAD (r36)
formhtml is at HEAD     (r1)
bale-ns-tower-relay is at HEAD (r1)
clilinks is at HEAD (r6)
mafiachit     is at HEAD (r567)
ccascend-snapshot is at HEAD (r1317)
Updating all     SVN projects...
Checking for working copy modifications...
M     C:\Users\dan\kol\mafiaAR\svn\Ezandora-Briefcase-branches-Release\scripts\Briefcase.ash
M     C:\Users\dan\kol\mafiaAR\svn\Ezandora-Detective-Solver-branches-Release\scripts\Detective     Solver.ash
M     C:\Users\dan\kol\mafiaAR\svn\Ezandora-Far-Future-branches-Release\scripts\FarFuture.ash
M     C:\Users\dan\kol\mafiaAR\svn\Ezandora-Genie-branches-Release\scripts\genie.ash
M     C:\Users\dan\kol\mafiaAR\svn\Ezandora-Guide-branches-Release\relay\relay_Guide.ash
M     C:\Users\dan\kol\mafiaAR\svn\mafiachit\relay\charpane.ash
M     C:\Users\dan\kol\mafiaAR\svn\mafiachit\relay\chit_brickFamiliar.ash
M     C:\Users\dan\kol\mafiaAR\svn\rlbond86-mafia-scripts-auto_mushroom-trunk\planting\auto_mushroom.ash
M     C:\Users\dan\kol\mafiaAR\svn\zlib\scripts\zlib.ash
Synchronizing with     local copies...
Sync complete.
Requests complete.
 

heeheehee

Developer
Staff member
If it's not a defect in svnkit I was thinking it would be prudent to just catch the exception from the svn call and let it fail gracefully without updating the affected repo if this is just going to continue being a problem in the future.

I mean, a mismatch in function signature between Java 8 / 9 could possibly cause the NoSuchMethod error.

I'll upload a jar I've built from HEAD later today if anyone still on Java 8 wants to see if that fixes their issues.
 

Sytras

Member
I mean, a mismatch in function signature between Java 8 / 9 could possibly cause the NoSuchMethod error.

I'll upload a jar I've built from HEAD later today if anyone still on Java 8 wants to see if that fixes their issues.

I didn't realize that this could be solved by upgrading to java 9.
But I can confirm that with r18484 (taken from ci.kolmafia.us), running svn update (or svn checkout, as I've found) throws the NoSuchMethod error when launched with java 8.
Running the same r18484 jar with java 9 does not throw any error, but it does give a warning about svnkit.

Code:
KoLmafia v17.12 r18484
Released on December 9, 2017

Currently Running on Windows 10
Local Directory is D:\Matt\Desktop\kolmafia
Using Java 9.0.4

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.tmatesoft.svn.core.internal.util.SVNSocketFactory (file:/D:/Matt/Desktop/kolmafia/KoLmafia-18484.jar) to method sun.security.ssl.SSLSocketImpl.setHost(java.lang.String)
WARNING: Please consider reporting this to the maintainers of org.tmatesoft.svn.core.internal.util.SVNSocketFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

In any case, my issue was solved by upgrading to java 9.
Maybe putting a warning somewhere that mafia requires java 9 will be good enough?
 

fronobulax

Developer
Staff member
Maybe putting a warning somewhere that mafia requires java 9 will be good enough?

Probably not. The decision to require a particular version of Java for mafia is loaded with history and baggage and won't be made lightly.

In this specific case it seems like the problem is that the jar files on ci.kolmafia.us were built with Java 9 but with incorrect comparability settings. So the jar files will run with 9 but not earlier. The fix is more likely to be to a) tweak the settings on the build server or b) downgrade the build server to Java 8.
 

heeheehee

Developer
Staff member
Even with an updated copy of svnkit, I still get the same error about illegal reflective access. I don't have the time to dig into that.

Since upgrading Java seems to work with the daily build, I don't think there's any value in me uploading my manually built jar.
 

Boesbert

Member
Ever since the server was set back to Java 8, things have been working just fine for me. The only issue was this when running svn update but it does not seem to affect anything else:

multicab not checked - exception: org.tmatesoft.svn.co re.SVNException: svn: E210005: No repository found in 'svn://svn.code.sf.net/p/multicab/code'
 
Top