log☇︎
46300+ entries in 0.035s
mircea_popescu: "we manage to provide zero cost exceptions to the user's environment through the simple procedure of just not handling any"
mircea_popescu: fucking lulz of all time. zcx : zero cost exceptions!!! it's like the zero cost restaurant : you don't have to pay anything and htey don't give you any food.
a111: Logged on 2019-02-12 13:03 diana_coman: bvt's investigation of my ada-won-t-stop test program: http://p.bvulpes.com/pastes/sRqWV/?raw=true
mircea_popescu: have it print time begin and end, and there we go.
mircea_popescu: a thing you keep re-serpenting. 64 bit string, w/e, starts as null
diana_coman: what's the collector in there?
mircea_popescu: diana_coman does the example not make sense ?
diana_coman: I don't quite get the branches and iterators aka what exactly do you want in there?
mircea_popescu: 50 + 50 + 50 by the time you've used 20 letters you got the k.
mircea_popescu: right, something like the above, has buncha branches and iterators, not hard to write, get it to run 1k times or so and lessee.
diana_coman: mircea_popescu, eucrypt's test on Serpent seem good candidates as one can even adjust how many iterations to do if you want some specific time intervals; current full test of the serpent module (including i/o because of using test vectors in file) is reported by time at ~2.3s without sjlj; this has no tasks/exceptions as such;thing is: time is not extremely precise but I could run I suppose some 1k times and see ☟︎
mircea_popescu: wrap it in a few for and if clauses, something like like for( a = 1; a < 100; a = a + 1 ){ if a is even then for( b = 1; b < 100; b = b + 1 ){ ... collector = serpent(collector) }}}
diana_coman goes to look at serpent maybe
diana_coman: but hm, the underlying stuff that takes most time is the mpi c/cpp anyway
diana_coman: i.e. possibly some of eucrypt's tests
diana_coman: basically those would take long enough
diana_coman: hm, it's all about what the task does so I suppose it's enough to plonk in there some rsa ops
mircea_popescu: ffa eminently bad for this, cuz of all the ct stuff.
mircea_popescu: diana_coman do you have a non-trivial (non-huge) ada that you could run once with sjlj and once with zcx in a timing harness so we can get some data ? ideally something that takes 100-1000ms or so.
diana_coman: nope, pragma abort_defer doesn't help (it has to be outside loop because it's not accepted anywhere other than immediately after begin and program is stuck just the same)
mircea_popescu adds http://dwarfstd.org/doc/dwarf.v2.mm http://dwarfstd.org/doc/index.v2.mm to teh log.
mircea_popescu: of course, that's when they moved to unicode. but if memory serves, dwarf2 was kinda braindamaged in some corner cases i now don't recall.
mircea_popescu: http://dwarfstd.org/Dwarf3Std.php << for thread completness
diana_coman: that's how it sounds from adacore's link; then again the description of the pragma in gnat ref manual is "it has the effect of deferring aborts for the sequence of statements (but not for the declarations or handlers, if any, associated with this statement sequence).
mircea_popescu: i thought it adds an abort polling point.
mircea_popescu: (i expect it will stop, yes ; but the q is, even slower than good old sjlj perhaps ?)
diana_coman: I read a bit on that and it seems to me that it is meant to actually add ANOTHER "won't abort here" point so I don't quite see it; but yes, I'll try it anyway
mircea_popescu: diana_coman what happens if you actually put a pragma Abort_Defer in the loop ?
diana_coman: it kind of has to be but really, as you just said: wtf if it breaks the standard
mircea_popescu: diana_coman possibly because of how they do that binder table bs
mircea_popescu: so basically, gnat runtime needs an hero to implement dwarf-3 for it, ditch this entire "zcx" nonsense nobody heard about (and apparently for good fucking reason, it's made for z80s or something)
mircea_popescu: diana_coman this is so fucking retarded, "our thing does not implement the standard". RATIONALE ?
diana_coman: myeah, sjlj is going to be slower; onth now I don't quite get it WHY is ZCX not able to support async abort
mircea_popescu: just, i don't think it can be whipped into a workable exception handling mechanism.
mircea_popescu: but yes, it can't hurt anything to run it once see what happens.
mircea_popescu: bvt pretty sure the problem with sjlj is that it significantly slows down all code execution, even on code that raises no exceptions.
diana_coman: although indeed, in this case the check on the tasks' status is too early so not of much use
diana_coman: confirmed: with --RTS=sjlj, it does the right thing and actually aborts
diana_coman goes to test with --RTS=sjlj, can't hurt
diana_coman: from the horse's mouth at https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/platform_specific_information.html : "the zcx run-time does not support asynchronous abort of tasks (abort and select-then-abort constructs) and will instead implement abort by polling points in the runtime. You can add additional polling points explicitly if needed in your application via pragma Abort_Defer."
bvt: i expect it will be slower, but it won't hurt to do the check. the impact will depend on how exceptions are used (i don't think it can have any impact on ffa, for example). but i don't have enough experience with it to provide any numbers ☟︎
mircea_popescu: wasn't the long jump thing slower ~generally~ ? ☟︎
mircea_popescu: i thought it actually did dwarf
bvt: during the gnat build, the sjlj runtime is built, so it should be possible to switch to it and test. ☟︎
a111: Logged on 2019-02-12 03:54 mircea_popescu: that's the fucking cost of being a raging asshole.,
mircea_popescu: diana_coman it looks like we'll end up with a patched tmsr-gnat.
diana_coman: I suppose so far the options seem to be 1. maybe there's a way to actually make it choose the sane abort model 2. change the idiotic "ignore the signal" part
bvt: mircea_popescu: i will become blog post, but when i get to the home machine.
diana_coman: but ftr when a task is not in this sort of "can't hear you la la", there's no need for any wait, no
diana_coman: i.e. if anything, you can say that my test code should wait a bit and then check
bvt: diana_coman: i agree; in the abort signal handler, there is a snippet of code that ignores the signal (given ZXC exception handling model).
diana_coman: mircea_popescu, the check is in the TEST code
mircea_popescu: you know, it'd be grand if this were a blog article rather than a pastebin. odds are ima want to reference it later, and as a factual matter i want ot reference "More precisely, one of the issues seems to be that abort seems to be delivered to the child thread after the check for 'thread aborted' has already been done" specifically even now.
mircea_popescu: bvt that's a good point actually, the check comes too late in the current implementation.
bvt: not really, just writing from the salt mine.
bvt: hello, thanks for voice
mircea_popescu: bvt did you manage to lose your key or something ?
diana_coman: "More precisely, one of the issues seems to be that abort seems to be delivered to the child thread after the check for 'thread aborted' has already been done:" -> this ftr is NOT an issue; if only it were delivered and worked afterwards but it's not; that check is just testing stuff, the more important check is that program hangs
mircea_popescu: is there anything like c's "signal(value, pointer)" in ada ?
diana_coman: bvt's investigation of my ada-won-t-stop test program: http://p.bvulpes.com/pastes/sRqWV/?raw=true ☟︎
diana_coman: mircea_popescu, my hope is that maybe there is some flag or option that sets it; I'll have to dig deeper to find out exactly
mircea_popescu: (needless to say, literatly chick also fat as all get-out, but by then one pretty much expects the whole triad.)
mircea_popescu: evidently florrie gave our pal jack keefe some daughters, too. left-handed, to boot.
mircea_popescu: h that que the eye roll
mircea_popescu: meanwhile at the ~angry~ retard farms, moedirtcircle 26F Primal Prey 4h It Literatly only says "not even kidding" thats it. And I'm the one thats failing 😒😒😒😒 get that stick from up your ass and be nicer to people YOU message. Fuck off dipshit. moedirtcircle 26F Primal Prey 4h Damn I finally just seen your profile. You Literatly have no looks going for you. And not intelligence either, or compassion. Have fun wit
mircea_popescu: diana_coman is this abort-handler something you can define from within your proggy ?
diana_coman: hm, asciilifeform from what I see at a quick glance in that s-taprop-linux__adb it actually calls pthread_kill ONLY if "abort_handler_installed" and that in turn seems set only if not some default state ? might be a clue to follow perhaps, I haven't dug much deeper yet
a111: Logged on 2019-02-12 01:31 asciilifeform: relatedly to entire subj, http://nosuchlabs.com/pub/warez/burns.djvu is the most readable ref i've found on the subj (of how the thing is supposed to work, that is , when actually worx )
diana_coman: http://btcbase.org/log/2019-02-12#1895120 -> yep, that was precisely my ref when looking at Ada multi-threading and what support it offers; it actually reads a bit better than the barnes' progr in 2012 but it's more focused, obv ☝︎☟︎
a111: Logged on 2019-02-10 16:03 diana_coman: I also tried asynchronous transfer i.e. supposedly "try this and if timeout then do that" but apparently it's in fact still "oh, but ONLY if abortable"
diana_coman: asciilifeform, re the broken "select" , that is exactly this http://btcbase.org/log/2019-02-10#1894639 ☝︎
mircea_popescu: seems to load ok here.
mircea_popescu: phf you mean on the logs ?
phf: if any log reader is getting a 404 not found, even if intermittent, please let me know. i was just getting it for a couple of minutes, but i can't figure out if that's the actual situation on the machine or some russian dns problem
phf: asciilifeform: there's also sgi machines with their famously well built x11 implementation. i believe there's no source for that one though ☟︎
mircea_popescu: meanwhile in trilema roulette, fell on http://trilema.com/2010/ce-i-de-facut/ ; would propose it to teh rotaku club as perhaps the foremost use of that language found on my blog, stylistically perfect, elegant without equal, i doubt there's much romanian that can stand up to that romanian to be found anywhere.
mircea_popescu likes nothing more than i think i know how to spell my own name innocents shooting dmca notices.
mircea_popescu: dmca requires someone to register a claim, and they can actually be sued if it's fraudulent.
mircea_popescu: asciilifeform it's dumber, schmuck's like "hi there, i r anon please delete my name". how fucking stupid does he need to be, "anon" is not listed there.
mod6: http://p.bvulpes.com/pastes/ht6ey/?raw=true << Ok, inflating /dev/sdb with cuntoo. Will report back more tomorrow after install is complete, and I update the lilo.conf via LiveCD chroot mount of cuntoo. Will post lilo.conf changes, and results.
asciilifeform: approx same thing..
asciilifeform: it aint any dumber than dmcaism tho
asciilifeform: lol! these!
a111: Logged on 2019-02-12 02:01 asciilifeform: it's how the thing fans out to N jacks
asciilifeform: then can link to same .
asciilifeform: i'ma document the fuckwaddery ( unless diana_coman beat me to it )
a111: Logged on 2019-02-12 01:34 asciilifeform: for total thread-completeness, there is a workaround that works, but it is imho ugly ( ada 'interrupts' package ), i'ma post example if mircea_popescu et al ask.
mircea_popescu: http://btcbase.org/log/2019-02-12#1895123 << maybe later. for now i'd much prefer a complete and thorough in-place solution, because rly now, if we're gonna use this, it's gotta work, not work-around. ☝︎
a111: Logged on 2019-02-12 01:25 asciilifeform: i suspect this is gonna be a '1-line' patch, to fix. q is where..
mircea_popescu: http://btcbase.org/log/2019-02-12#1895118 <<< 1 line patch that'll bring out the broken glass, and so on.\ ☝︎
mircea_popescu: but yes, teh grievances pile doth climb.
asciilifeform: i got an entire mmap lib that aint genesisable yet on acct of above
a111: Logged on 2018-10-26 02:14 asciilifeform: meanwhile, in gnat bugs : apparently ( and this is documented or mentioned nowhere ) : it is impossible to have a Ada.Finalization.Limited_Controlled type ANYWHERE inside a static library, unless it is generic all the way down (i.e. if the lib package is generic, any sub-packages must also be instantiated as generics )
asciilifeform: mircea_popescu: when you get'em tied to the flogging post, make'em pay for the http://btcbase.org/log/2018-10-26#1866266 also.. ☝︎
mircea_popescu: wanna be a man, then gotta be a man. for example, wanna be a restaurant maitre d', then you're stuck apologizing to the people that ordered 19 oz ny steak and got 1.5 oz cafeteria hoof cut. and so on. posturing brings with it the cost of sucking all the dick you earn the sucking of in the usual course of the business you're posturing with.
mircea_popescu: that's the fucking cost of being a raging asshole., ☟︎
mircea_popescu: because EVERY SINGLE PERSON EVER INVOLVED WITH GNAT AT ALL ~~MUST~~~ apologize for this, to me, personally./
mircea_popescu: then when they fail to respond, they get a default negrate.
mircea_popescu: but -- email. must email them. all of them. their fucking support list, and every individual involved.
mircea_popescu: sure thing.