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>
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>
look at code
<
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?
<
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
<
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?
<
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>
Still searching for a clean solution
<
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>
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>
all released again ?
<
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>
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
<
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!!
<
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.
aw- has joined #picolisp
<
beneroth>
huge thanks to both of you, Regenaxer and tankf33der :))
<
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>
thanks for the insight :)
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>
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