ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
lodsw has quit [Ping timeout: 256 seconds]
lodsw has joined #picolisp
shoshin8 has joined #picolisp
shoshin has quit [Read error: Connection reset by peer]
shoshin8 is now known as shoshin
<tankf33der> i am very sure it was ok in spring
<tankf33der> ((kangaroo12_hex (need 16000 0) (mapcar char (chop "abc")) 32))
<tankf33der> [test-kangaroo12.l:38] "E7812ACA81EEC0B1DD975E410B992F1EEDB523B620DD5F8D55B5E63D2F9E7B2D" -- 'test' failed
<tankf33der> $ pil21 test-kangaroo12.l
<tankf33der> under gc+
<Regenaxer> haha, beneroth, right! I also got the good news from Ubuntu ;)
<Regenaxer> tankf33der, interesting!
<Regenaxer> Can you find out more?
<tankf33der> doing.
<tankf33der> reducing.
<Regenaxer> cool
<Regenaxer> Manually testing IPC, via bin/psh
rob_w has joined #picolisp
<Regenaxer> blocking one process, and sending from another via 'tell', so that pipe buffers fill up
<Regenaxer> Seems all to work
<Regenaxer> It must be something happening only in the situation of stress.l
orivej has quit [Ping timeout: 260 seconds]
<Regenaxer> Something very simple and stupid
orivej has joined #picolisp
viaken has quit [Quit: brb]
viaken has joined #picolisp
<tankf33der> Regenaxer: found.
<tankf33der> http://ix.io/2BI4
<tankf33der> look at code
<Regenaxer> yes
<Regenaxer> and what goes wrong?
<tankf33der> two keccak calls and append, so
<tankf33der> if i comment right_encode and need 2 255 outter keccak function gets correct list
<tankf33der> otherwise wrong.
<tankf33der> if i comment only mapcan outter keccak function gets correct list too.
<Regenaxer> What does keccak do?
<tankf33der> sha3.
<Regenaxer> Or, what exactly goes wrong?
<tankf33der> it always returns new list
<Regenaxer> Which primitive call?
<Regenaxer> Is it depending on gc+?
<tankf33der> only under gc+
<tankf33der> (253 253 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
<tankf33der> ^^ this is correct list
<Regenaxer> I see
<tankf33der> (2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 0 0 0 0 0 0 0 2 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
<tankf33der> this is under gc+
<Regenaxer> So gc+ does not crash, but gives different result?
<Regenaxer> ok
<tankf33der> yes
<tankf33der> because append do something wrong.
<Regenaxer> Can you trace all called primitives, to see which one changes?
<Regenaxer> It is append?
<tankf33der> keep playing, slow progress.
<tankf33der> i belive now it is append.
<Regenaxer> Cool! Thanks!
<Regenaxer> I check the code of append
<Regenaxer> Wait! Perhaps I found already!
<Regenaxer> in append
<Regenaxer> I check more deeply
<tankf33der> i checked this append. stopped.
<Regenaxer> Yes, append has a flaw!
<Regenaxer> Does not save certain values
<Regenaxer> Let me fix
<Regenaxer> It is only if 3 or more args to append, and the second arg causes a gc
<tankf33der> yea, my case.
<Regenaxer> exactly
<tankf33der> 5hours of debugging. tired.
<Regenaxer> wow :)
<Regenaxer> Still searching for a clean solution
<tankf33der> afk.
<Regenaxer> Thanks!!
<Regenaxer> ok, did only a simple change
<Regenaxer> Released
<Regenaxer> I wonder if 'append' might also explain the stress.l mystery
<tankf33der> i will test and keep running all under gc+ asap.
<Regenaxer> great
<Regenaxer> I test stress.l again
<Regenaxer> 'append' is called in stress, e.g. in some DB functions
<Regenaxer> This would perfectly explain it
_whitelogger has joined #picolisp
<Regenaxer> Nope!! Still crashes :(
rob_w has quit [Quit: Leaving]
<Regenaxer> hmm, append is still wrong
<Regenaxer> I'm so stupid
<Regenaxer> Fixed 'append' once more
<Regenaxer> But I think it was not the reason for stress, as it always crashes in 'binRead'
<Regenaxer> At least it looks quite improbable
<tankf33der> ret.
<tankf33der> all released again ?
<Regenaxer> yes
<tankf33der> starting.
<Regenaxer> Perhaps I change 'append' once more
<Regenaxer> But good if you can test first
<Regenaxer> Want to optimize 'append' a little
<Regenaxer> it is a very important function, want it as efficient as possible
<Regenaxer> Released again
<Regenaxer> I hope it is perfect now :)
<Regenaxer> Can you test append again with your stuff?
<tankf33der> yea. doing.
<tankf33der> restarting then.
<Regenaxer> great
<Regenaxer> I could omit one 'save' operation
<Regenaxer> saving stack space and time
<tankf33der> yea, already find it faster
<Regenaxer> append is faster?
<tankf33der> a little.
<Regenaxer> I think the real effect is minimal
<tankf33der> sure.
<tankf33der> ~1%
<Regenaxer> ok
<Regenaxer> hmm, one more minor change
<Regenaxer> one unnecessary statement in append ;)
<tankf33der> better, i will wait.
<Regenaxer> Released again
<Regenaxer> I hope I did not break it
<Regenaxer> lib/test.l passed though
orivej has quit [Ping timeout: 260 seconds]
<Regenaxer> I start stress.l again
<Regenaxer> (small hope)
<Regenaxer> In any case, lots of thanks to tankf33der!!
<tankf33der> o/
<Regenaxer> 'append' really did not save a value
<Regenaxer> I wonder how many more of such bombs are there
<Regenaxer> I don't see a systematic way of finding them
<Regenaxer> gc+ is still the best, but not 100%
<tankf33der> lib/test.l passed under gc+
<tankf33der> rest will be tomorrow.
<Regenaxer> great
aw- has joined #picolisp
<beneroth> huge thanks to both of you, Regenaxer and tankf33der :))
<Regenaxer> :)
<Regenaxer> Still not clear what is with stress.l
<beneroth> how hard is the debug/check-by-reading-code with pil21/llvm compared to pil64 (which was surely a bit more difficult than pil32, no?)
<beneroth> proof-reading, so to say
<Regenaxer> A lot easier
<Regenaxer> But I had to learn that language myself] so the "older" parts like 'append' are perhaps more prone to errors
<Regenaxer> I should visually re-check all functions
<Regenaxer> "upd" -- Undefined
<Regenaxer> stress.l did not improve at all
<beneroth> I see
<beneroth> thanks for the insight :)
<Regenaxer> :)
beneroth_ has joined #picolisp
beneroth has quit [Remote host closed the connection]
shoshin has quit [Quit: Ping timeout (120 seconds)]
shoshin has joined #picolisp
aw- has quit [Quit: Leaving.]
beneroth_ has quit [Quit: Leaving]
beneroth has joined #picolisp
<beneroth> Regenaxer, Android SDK requirements now made your pilbox stop working?
<beneroth> old version works well here on my not-exactly-up-to-date tablet
<beneroth> just fyi
<Regenaxer> Thanks
<Regenaxer> I changed to Target API 29 in September, and released that version to PlayStore
<Regenaxer> Worked on all tests
<Regenaxer> Locally, I went on and ported to pil21
<Regenaxer> Works also fine
<Regenaxer> But I don't dare to release as long as this DB (or whatever) error remains
<Regenaxer> Dilemma
<Regenaxer> In any case I'm convinced, the version in PlayStore should conform to the Google requirements
<Regenaxer> and it did work
<Regenaxer> strange
<Regenaxer> Seems Goolge wants me to upgrade to pil21 ;)
orivej has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
karswell_ has joined #picolisp
Blukunfando has quit [*.net *.split]
karswell has quit [*.net *.split]
Blukunfando has joined #picolisp
Blukunfando has quit [Max SendQ exceeded]
lodsw has quit [Ping timeout: 244 seconds]
lodsw has joined #picolisp