dr|z3d
…til.ShellCommand: ShellCommand execute exception for "null"
dr|z3d
java.io.IOException: Cannot run program "xdg-open": error=2, No such file or directory
zzz
normal
zzz
eche|off, eche|on, are you in charge of 37C3 tickets this year as usual?
zzz
eyedeekay, as I said the other day, runner cannot be null at ClientManager line 808. HashMaps do not allow null values.
dr|z3d
maybe I haven't been paying enough attention, not seen it before.
zzz
eyedeekay, may I bump to -6?
eyedeekay
Go for it
Opicaak
Is the exact location for 37c3 known? Or will it be announce at a later date?
zzz
hamburg
Opicaak
No, I know that, but the exact location, or address of the event.
zzz
the big convention center, I forget what it's called, but the same place it was for years
Opicaak
Found it, thanks. It's the "Congress Center Hamburg."
zzz
yup
zzz
if they haven't forgotten about me I should get vouchers today
Opicaak
I just read a post about them sending out tickets, in case they forget, you should send them an e-mail, they'll surely send some to you.
RN
so I see zzz bumped to -6 on git.idk but I'm still getting -4 with rev "d7d..." and I am on branch "master"
RN
Am I doing something wrong? It seems I don't pick up the bump until another commit happens
dr|z3d
where are you pulling from?
dr|z3d
i2pgit.org?
dr|z3d
and how are you pulling?
RN
double checking...
RN
ahh... I am pulling from i2pgit.org because I'm pulling through Tor
dr|z3d
which is fine.
dr|z3d
assuming your local branch is configured to pull from there, just do a 'git pull'
RN
torify git status -uno || torify git pull i2pgit.org/i2p-hackers/i2p.i2p.git
RN
am I supposed to have a .git on the end?
RN
hmm
dr|z3d
you don't need any of that.
dr|z3d
just do a git pull
dr|z3d
or torify git pull
RN
the status checks first if it needs to pull, so I don't repeat pull if nothing has changed
dr|z3d
git pull will tell you the same thing if your local repo is synced.
eche|on
zzz: you should have gotten a email
eche|on
CCC in hamburg is at the CCH, near Planen&Blomen, Hamburg Dammtor train station
eche|on
zzz: if I get a voucher I can manage the tickets, sure
zzz
great eche|on, no email yet though
zzz
eyedeekay, what about PrintWriter??? I see no PrintWriter in that MR?
eyedeekay
There is a PrintWriter in BlindCache which is used in the store() function
zzz
ah, thanks for the pointer
eyedeekay
so if a subDb calls store at the same time another subDb is calls store then PrintWriter is created and used twice on the same FileOutputStream
zzz
give me a minute to look and I'll answer here
eyedeekay
Well, file I guess, it would be different FileOutputStreams
zzz
so the problem atm is you have multiple blindcaches, but they all point to the same file
zzz
store() is synchronized, but that only works within a single blindcache
zzz
so the file can get corrupted
zzz
even if you got that working, it's still logically flawed, because they are all writing to the same filename. It wouldn't be corrupted, but the last guy to write wins, trashing the other guy's version
zzz
it should be sufficient to just revert BlindCache to 2.3.0
zzz
in general, of course, you don't ever want two threads writing to the same OutputStream or Writer at once. There's nothing PrintWriter can do internally to save you, it's too late
eyedeekay
Maybe I'm misunderstanding what you mean but the reason we have multiple BlindCaches in the broken code is because the BlindCache is instantiated in the KNDF, so multiple netdb's turns into multiple blindcaches.
dr|z3d
possibly related, but I'm seeing a huge number of blind cache keys on one router, no idea where they came from, but they're sitting there in /configkeyring
eyedeekay
Definitely related dr|zed
eyedeekay
Going to have it back to normal soon
zzz
well
eyedeekay
So I can get it back to being a single BlindCache in a bunch of ways, simplest seems to be to just keep it in the main netDb and let the clientNetDbs access it?
zzz
BlindCache was working before. You didn't touch store() or get near the PrintWriter with your changes.
zzz
just make sure there's a single BlindCache, and its startup() and shutdown() methods are only called ONCE.
zzz
does that answer the question?
eyedeekay
Yeah it does
eyedeekay
Thanks
zzz
super :)
zzz
eyedeekay, in general, you can assume all our code is thread-safe, with a couple exceptions:
zzz
1) if it says at the top WARNING NOT THREAD SAFE :)
zzz
2) if they are subclasses or flavors of traditionally not-thread-safe classes (InputStream, OutputStream, Readers, Writers, HashMap, List, etc)
zzz
low-level I/O is never thread safe because you get mixed up garbage
zzz
<eyedeekay> So I can get it back to being a single BlindCache in a bunch of ways, simplest seems to be to just keep it in the main netDb and let the clientNetDbs access it?
zzz
^^ yes, as long as the subdbs don't also try to start and stop it