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
clacke_movim has joined #picolisp
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
rob_w has joined #picolisp
miskatonic has joined #picolisp
orivej has joined #picolisp
_whitelogger has joined #picolisp
ubLIX has joined #picolisp
miskatonic has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
ubLIX has quit [Quit: ubLIX]
michelp has quit [*.net *.split]
michelp has joined #picolisp
mtsd has joined #picolisp
mtsd has quit [Quit: Leaving]
jibanes has quit [Ping timeout: 246 seconds]
jibanes has joined #picolisp
<tankf33der> playing with grid on netbsd.
<tankf33der> i have 45mins.
<Regenaxer> Hi tankf33der!
<Regenaxer> Can we try a simpler case?
<Regenaxer> And then narrow down?
<tankf33der> for (i = 0; i < IHASH; ++i)
<tankf33der> mark(Intern[i]), mark(Transient[i]);
<tankf33der> always here.
<tankf33der> in mark(Intern[i]
<Regenaxer> Can you try this: http://ix.io/1KNk
<Regenaxer> yes, I know
<Regenaxer> meaningless
<Regenaxer> the error occurs much later
<Regenaxer> it is not *in* gc
<tankf33der> http://ix.io/1KNk - no crash.
<Regenaxer> it is when building the structures
<Regenaxer> ok
<Regenaxer> then call (gc) all the time
<Regenaxer> http://ix.io/1KNm
<Regenaxer> We must locate the place where it corrupts the heap
<Regenaxer> it crashes only if gc runs by chance on a certain location
<Regenaxer> in a certain state
<Regenaxer> Ideally we find a *single* function like 'set' or 'con' which reproduces it
<Regenaxer> or some other part from 'grid'
<Regenaxer> Probably 'con' or 'set' are not the problem
<Regenaxer> they don't make new cells
<Regenaxer> But *something* in 'grid' seems to destroy the heap consistency
<tankf33der> no crash.
<Regenaxer> yes, thought so
<Regenaxer> then lets go down from top in grid
<Regenaxer> But (gc) between every primitive
<Regenaxer> and (msg ...)
<Regenaxer> to find out after which primitive the heap is broken
<Regenaxer> You know what I mean?
<tankf33der> yea
<Regenaxer> The heap is corrupt at some point, and we find out of (gc) runs only
<Regenaxer> Perhaps a binary search?
<Regenaxer> If we have one (gc) which passes, then some primitive, and then the next (gc) crashes, we know it is *that* primitive
<Regenaxer> (if it is really a bug in pil, which I cannot believe ;)
<tankf33der> 10mins.
<Regenaxer> ok :)
<Regenaxer> Just experiment :)
<Regenaxer> With smaller pieces of code until you can reproduce
<Regenaxer> Calling (gc) *very* often to increase the chance
<tankf33der> code still running, afk.
<Regenaxer> I try here too (though it seems not to happen in Linux)
<Regenaxer> ok, see you!
<Regenaxer> It will get *very* slow
<Regenaxer> I thought more about it. I think it is no normal bug. Has to do with system and/or compiler
<Regenaxer> And the only thing that comes to mind is alignment
<Regenaxer> What if allocated heap chunks are aligned at a smaller unit? Then the *last* cell in the heap will be partially outside the legal space and *may* cause a crash
<Regenaxer> Let's look at what is allocated
<Regenaxer> When you are back, can you insert a line into heapAlloc() in src/main.l ?
<Regenaxer> http://ix.io/1KNu
<Regenaxer> In Linux this prints something like heap: 0xf7bfa010
<Regenaxer> i.e. the lowest digit must be 0 or 8 to be aligned at a cell boundary
<Regenaxer> If it is 4 or c, alignment is wrong
orivej has quit [Ping timeout: 246 seconds]
ubLIX has joined #picolisp
<Regenaxer> hmm, but if it were indeed un-aligned, pil would crash immediately ...
<Regenaxer> grrr ...
<Regenaxer> But it must be *something* like that
<beneroth> hi Regenaxer, tankf33der
<beneroth> you will find it, I'm sure of it. Stay cool and get that nasty bugger
orivej has joined #picolisp
miskatonic has joined #picolisp
ubLIX has quit [Quit: ubLIX]
michelp has quit [Ping timeout: 248 seconds]
<Regenaxer> Hi beneroth! mmmm, well
<miskatonic> well what?
ubLIX has joined #picolisp
<Regenaxer> Hi miskatonic, check the logs for the last week or so ;)
<beneroth> hey miskatonic
<beneroth> Regenaxer and tankf33der are hunting a weird segfault bug happening on some BSDs
<miskatonic> hi
<beneroth> what are you doing, miskatonic ? any picolisp projects?
michelp has joined #picolisp
<miskatonic> not now
orivej has quit [Ping timeout: 244 seconds]
<miskatonic> is msgpack implementable in picolisp/ffi? I have heard that this is used for neovim plugins
orivej has joined #picolisp
<beneroth> lol @ msgpack.. the concept sounds like a bad idea to me (failed before)
<beneroth> but yeah, sure you can implement msgpack purely in picolisp, or using (native) to ffi to an existing C library (there surely is one), or cli interface using (call)/(pipe)/(in 'list ..)/(out 'list)
<beneroth> thanks for the hint of msgpack, didn't stumble on it yet, will add to my bookmarks :)
<miskatonic> what would have been a better idea than msgpack?
<beneroth> why I think its bad: human readability is a big usability/debuggability feature. it looks like DIME (https://en.wikipedia.org/wiki/Direct_Internet_Message_Encapsulation ) to me, which was an attempt to create a binary MIME format (I implemented dime in picolisp)
<miskatonic> there is libmsgpack. I don't know where python or ruby use this one or native implementations. yeah, the binary stuff is very bad for debugging
<beneroth> currently my stand-point is: either stay clear-text or go full custom binary format. "standardized" binary formats tend to never cover all your use cases. and in most environment the clear-text overhead matters way less than the dev-overhead.
<beneroth> but yeah, YMMV, and I welcome counter-points :)
<beneroth> also: what is the license of the specification? missing? so it defaults to copyrighted and authors must be asked?
<miskatonic> so clear text, would be json-rpc ?
<beneroth> yeah, human-readable text
<beneroth> preferable UTF-8 encoding
miskatonic has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
ubLIX has quit [Quit: ubLIX]
rob_w has quit [Remote host closed the connection]
inara has joined #picolisp
ubLIX has joined #picolisp
<rick42> sup peeps
<clacke_movim> The number of "standardized" structured data formats out there is fantastic.
<clacke_movim> I've collected names and will record an hpr episode about them all any year now
<clacke_movim> ION, CBOR, BSON, BJSON, UBJSON, bencode, Colfer, Flatbuffers, MsgPack, zebrapack, greenpack, Fast Infoset ...
<Regenaxer> Wuff
ubLIX has quit [Quit: ubLIX]
orivej has quit [Ping timeout: 246 seconds]
alexshendi has joined #picolisp
alexshendi2 has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
alexshendi2 has quit [Remote host closed the connection]
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
orivej has joined #picolisp
clacke_movim has left #picolisp [#picolisp]
clacke_movim has joined #picolisp
clacke_movim has left #picolisp [#picolisp]
clacke_movim has joined #picolisp
clacke_movim has left #picolisp [#picolisp]
clacke_movim has joined #picolisp
rain1 has joined #picolisp
<rain1> hye
<rain1> any thoughts on building/bootstrapping picolisp off a smaller system?
<rain1> i have no need for this, just thought about it for fun
<Regenaxer> Hi rain1, have you looked at miniPicoLisp?
miskatonic has joined #picolisp
miskatonic has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
alexshendi has quit [Read error: Connection reset by peer]
clacke_movim has left #picolisp [#picolisp]
clacke_movim has joined #picolisp
clacke_movim has left #picolisp [#picolisp]
clacke_movim has joined #picolisp
ubLIX has joined #picolisp
<DKordic> rain1: IMHO Forth is missing a reasonable definition of ""("" and "")"".
clacke_movim has left #picolisp [#picolisp]
clacke_movim has joined #picolisp
freemint has joined #picolisp
clacke_movim has left #picolisp [#picolisp]
aw- has quit [Quit: Leaving.]
clacke_movim has joined #picolisp
clacke_movim has left #picolisp [#picolisp]
clacke_movim has joined #picolisp
clacke_movim has left #picolisp [#picolisp]
clacke_movim has joined #picolisp