IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2022/09/13
eyedeekay So it turns out I don't need NSIS for the easy-install bundle anymore
eyedeekay I can do the whole thing with just jpackage
eyedeekay Retaining NSIS so I don't break it but once I make sure they're equivalent...
eyedeekay In fact you don't even need the "Install" part anymore, it can be portable
dr|z3d sounds like the installer could just be a simple extractor to the location of choice.
dr|z3d with a zip/exe wrapper.
mesh portabnle installations++
mesh jpakacge is nice, but portable installations are best. I think i2p should offer a plain '.zip' distribution that anybody can download and stick on a usb drive.
mesh though there are some questions about how to digitally sign such archives. one possibility I've been investigating is the xar format.
mesh or it might be enough to simply sign the java jars themselves
zlatinb eyedeekay: last time I tried the installer built by jpackage it was impossible to sign it in a way that didn't show a yellow warning on windows 10
eyedeekay Well if I can't do without NSIS I can at least make the NSIS installer very simple
eyedeekay dr|zed yes that is exactly possible, in fact I'm just about to fix it :)
eyedeekay mesh I can do it for Windows now
eyedeekay Linux too it's just not in the releaser script, all the jpackage types work that I've tried so far
eyedeekay Blinded message
dr|z3d good stuff, eyedeekay *thumbs up*
RN Woot!
zzz dr|z3d, re: restart on deadlock, the wrapper will do that for you if so configured: zzz.i2p/topics/2002
zzz re: deadlock from yesterday, it's through IterativeSearchJob, which you have changed massively, including the line in question. You're on your own bubba.
dr|z3d thanks, zzz. re iterative search, probably concurrency tweaks are causing the deadlock.
zzz hint: first two threads appear to be innocent, it's the last two that are the problem
zzz but you have 357 lines of diff to trunk's 723 line file. Whatever you're up to I just can't deal with it
dr|z3d if you omit the whitespace diffs, it's probably a lot less.
zzz sure but you've done numerous substantive changes, including the line the deadlock goes through which is not present anywhere in trunk
dr|z3d re wrapper restart, apparently that's already default in the i2p+ wrapper, I just figured it might be something to add as a router config option. gitlab.com/i2pplus/I2P.Plus/-/blob/master/installer/resources/wrapper.config
zzz your previous proposal to somehow save the evidence and notify the user _after_ restart to go find the evidence and report it, sounded convoluted and hard to me, so it's still a no
dr|z3d yeah, sure, convoluted. just a switch to enable autorestart would be fine.
dr|z3d and the sidebar notification, you could add a timestamp to make finding the deadlock info easier.
dr|z3d but whatever suits, not a big deal for me.
zzz disagree, not fine, then we get 'my router restarted for no reason' complaints, and no way to diagnose
dr|z3d you can't flag the deadlock via notification post-restart?
dr|z3d timestamp of occurence, or link to /events.. :)
zzz that's the convoluted/hard part
zzz but if you come up with something sane I'm happy to look at a MR
dr|z3d ok, nevermind then, not worth expending the energy on it.
dr|z3d wrapper check for deadlocks every 5 minutes and autorestart is fine for me. I guess the only fly in the ointment there is that the deadlock detection stuff you recently added doesn't get to log the deadlock.
zzz the wrapper will thread dump if configured
dr|z3d indeed, have that as the default in wrapper.config
dr|z3d wrapper.check.deadlock.action=DUMP,RESTART
dr|z3d wrapper.check.deadlock.output=FULL
dr|z3d re deadlock, not sure which line you're referring to that's not in trunk, can you give me a hint? :)
zzz ISJ line in last thread
zzz the alternative is some microsoft-style automatic reporting/submission to some service we run, but that would need a whole opt-in review/approve UI, big effort
zzz ISJ line in last thread
dr|z3d ah, gotcha. the conditional lookup stuff.
dr|z3d that determines whether or not we want to make much effort doing a lookup, based on whether we're looking for a leaseset or a router, and if a router, whether the router's worth the effort.
zzz the alternative is some microsoft-style automatic reporting/submission to some service we run, but that would need a whole opt-in review/approve UI, big effort
dr|z3d telemetry you're suggesting. sure, that's a fairly huge undertaking.
dr|z3d that's a different kettle o' fish entirely. my suggestion is more about minimizing downtime for routers that are effectively useless but still running. I think auto-restart would be well received vs "just let the router stay running, doing nothing".
zzz but that requires solving the reporting issue
zzz maybe one-click button on /logs page, 'click to send critical logs and version info to HQ'
dr|z3d sure, could work. are you going to scrub those logs before send? :)
eyedeekay Made a short video where I show how to use pieces of the easy-install bundle as a portable eyedeekay.github.io/I2P-Without-Installiing-Anything-A-post-facto-prequel
eyedeekay I2P.zip got created as a build artifact for a while but now it's also a way to carry I2P on a flash drive