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*
eyedeekay
Built a Linux portable just for fun: github.com/eyedeekay/i2p.firefox/releases/download/20220913/I2P.tar.gz
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