Parrot 4.6.0 "Wild Parrots of Telegraph Hill" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 18 July 2012.
00:20 rurban_ joined, rurban_ left 00:50 woosley joined 00:57 benabik joined 01:24 benabik joined 01:41 sivoais joined 01:59 benabik joined
dalek rrot/native_pbc: 51d2cc3 | rurban++ | t/native_pbc/ (3 files):
create updated ppc32 native_pbc
02:15
03:45 sivoais joined 04:26 sivoais joined 04:48 sivoais joined 05:14 Khisanth joined 05:38 fperrad joined 05:51 sivoais joined 06:12 sivoais joined 06:36 sivoais joined 07:10 brrt joined
brrt hey #parrot 07:10
did anyone receive my second mail on the multiple interpreters thing
moritz yes
brrt because i did not receive it back
ok
moritz (that was a reply to a digest, right?)
brrt then it is ok :-)
yes 07:11
usually i just see it back, the digests
moritz I haven't answered because I simply don't have anything to contribute :(
brrt no matter :-) i was worried i had used the right e-mail address
but tbh, i'm quite worried right now 07:14
because i usually have an idea of how things should be done
but now, i'm out
07:53 nopaste joined 09:20 dmalcolm joined 09:27 schmooster joined 11:47 JimmyZ joined 12:15 whiteknight joined
whiteknight good morning, #parrot 12:19
brrt good afternoon, #parrot, too :-) 12:20
12:34 mtk joined 12:36 schmoo joined 13:07 bluescreen joined 13:38 brrt joined
rurban hi 13:57
moritz \\o 14:00
whiteknight hello rurban, moritz 14:02
brrt hi everybody! 14:04
JimmyZ hello 14:05
rurban I'll be working on the ppc nci threads failure today or tommorrow. But on ppc there some more problems. (native_pbc broken, negative 0, task.t dies, ...
brrt rurban++ 14:06
brrt would like to have an old mac as well
rurban brrt: better not. I already hate it. 14:07
whiteknight rurban++ !! 14:09
rurban: Let me know if you need any help
brrt :-)
as a sidenote, do we intend to run on the raspberry pi? 14:10
rurban With threads sure sooner or later. First I'll try it alone. I posted the stacktraces to the list already. Now I need to find out why. 14:12
moritz brrt: we already do
brrt: Nicholas Clark even got Rakudo running on the pi 14:13
(with some fiddling)
brrt nice 14:14
moritz and lots and lots of swapping 14:15
brrt basically, crashing-upon-destruction is in the gc destruction sequence
Coke to be fair, wasn't most of that swapping rakudo build, not parrot build?
JimmyZ what is raspberry pi? 14:16
PerlJam JimmyZ: www.raspberrypi.org/
brrt at the local gc block mark routine
JimmyZ PerlJam: thanks 14:17
brrt this routine is gc_gms_block_mark
gc_gms_block_GC_mark, src/gc/gc_gms.c, line 1742 14:18
inspecting the values
its incrmeenting self->gc_mark_block_level
but gc_mark_block_level may not be initialized properly 14:19
140737308459176 doesn't look like a 'normal' count
rurban brrt++ 14:22
brrt oh.... the child interpreter reusses the parents' private 14:23
in gc_gms.c l743
lets see what happens if i remove that
nope, doesn't fix it 14:29
hmm :-( 14:39
atrodo brrt> I'm curious if you know why we have such a strong requirement for parent/child? Is there a technical reason for it to be that way? 14:52
brrt because not having a parent and child 14:53
causes a crash even earlier
:-)
no technical requirements 14:54
atrodo Any ideas why that was done in the first place?
(I'm curious, I never understood why this parent/child requirement was ever in place to begin with) 14:56
brrt that wasn't 'done' per se 14:58
Coke in tcl, at least, there is always a parent/child relationship, IIRC.
brrt but the garbage collector cannot work independently
or something
Coke brrt: hardly anyone uses multiple interpreters, so this was probably never caught.
brrt people implementing handlers for multithreaded webservers do, however :-) 14:59
whiteknight atrodo: It's a remnant of the old threading system, where the parent interpreter sets up some global data, and child interpreters relied on that data 15:00
things got worse from there
parrot stores a list of interps in a global array, which needs to be instantiated by the first interp and all other interps just add themselves to the list 15:02
which is why if you try to create a second interp without specifying the first one as the parent you get a segfualt (the second thinks it is the top-most one and tries to recreate that array, overwriting a reference) 15:04
brrt whiteknight++ for clearing that up 15:07
also, thats a bug, not a feature
whiteknight yes, very much so
atrodo that part of it seems simple enough to fix 15:08
brrt hmm
whiteknight atrodo: it's a little bit more involved. There are other related issues and lots of old legacy code relying on it
but yes, a concerted effort to fix it would not be too big a hassle 15:09
brrt how does threads (the branch) relate to this? 15:10
whiteknight that branch rewrites most of the threading system. I don't remember exactly how it gets around this issue
or if this issue is addressed at all
brrt will check it out 15:12
15:13 darbelo joined 15:24 dmalcolm joined
brrt not overly bad news 15:53
'threads' runs through child_interpreters until destruction
i.e.
same place as my own 'fix'
but yeah
interpreter destruction still kills it
whiteknight okay 16:05
dalek kudo/nom: d9c09e8 | (Geoffrey Broadwell)++ | src/core/Main.pm:
First step of val() work: replace grammar CLIVal in hack-val() with direct use of Str.Numeric()
16:17
16:31 preflex_ joined 16:45 schmoo joined 16:47 jashwanth joined 18:12 knewt joined, ttbot joined, Hunger joined, drift joined, rblackwe joined, jlaire joined, Util joined, dngor joined, rurban joined, perlite joined, Khisanth joined, preflex joined, jashwanth joined, szbalint joined, tadzik joined, sorear joined, smash joined, GeJ joined, wagle joined, alvis joined, ingy joined, tuxit joined, TonyC joined 18:14 darbelo joined 19:01 lucian joined
dalek p: 3abd848 | (Arne Skjærholt)++ | src/ (2 files):
Fix segfault bug when write-barriering CStruct REPRd objects.

child_objs is now allocated with mem_sys_allocate_zeroed, and a child object is ignored if child_objs[i] is NULL. This fixes a bug where write-barriering would trip over a bogus pointer when write-barriering a struct returned from C and a field was unread before passing it to another C function.
19:26
20:17 PacoAir joined 20:40 benabik joined
dalek rrot/native_pbc: ecb605f | rurban++ | / (15 files):
[GH #394] Revamp native_pbc: t/native_pbc/Test.pm

Simplify tests with a common t/native_pbc/Test.pm library. Delete unneeded pbc files. Update ppc32 t/native_pbc files.
TODO: endian-conversion fails
21:05
rrot/native_pbc: 53f9677 | rurban++ | / (36 files):
refactor t/native_pbc/ test ids

Parrot::Test had the odd assumption that testing pbc can only be done for native_pbc tests, and that the tests must be of _<int>++.pbc. We pass now the filename as first arg to pbc_output_is() and check if it exists.
So we can use now readable test names.
rrot/native_pbc: 37afb31 | rurban++ | MANIFEST:
native_pbc: update MANIFEST
21:27
rrot/lndir: 2c139c0 | rurban++ | src/nci/libffi.c:
[CAGE] libffi: Initialize nci_arg_ptr if !nci->arity

clang 3.1 svn160959 properly caught:
src/nci/libffi.c:543:9: warning: variable 'nci_arg_ptr' is used uninitialized whenever 'if' condition is false
   [-Wsometimes-uninitialized]
   if (nci->arity) {
   ^~~~~~~~~~
src/nci/libffi.c:645:64: note: uninitialized use occurs here
   ffi_call(&thunk->cif, FFI_FN(nci->orig_func), return_data, nci_arg_ptr);
   ^~~~~~~~~~~
src/nci/libffi.c:543:5: note: remove the 'if' if its condition is always true
   if (nci->arity) {
   ^~~~~~~~~~~~~~~~
src/nci/libffi.c:483:31: note: initialize the variable 'nci_arg_ptr' to silence this warning
   void **nci_arg_ptr; /* pointers to arguments for libffi */
   ^
   = NULL
21:32
rrot/lndir: f8d2af0 | rurban++ | src/nci/libffi.c:
Merge branch 'master' into lndir
rrot/native_pbc: 941ec5e | rurban++ | / (4 files):
[CAGE] fix codingstd_tests
rrot/native_pbc: fe98667 | rurban++ | / (5 files):
[CAGE] fix codingstd_tests

hard tabs, cuddled else, MANIFEST sort
21:35
rrot/native_pbc: 22590e1 | rurban++ | / (5 files):
[CAGE] fix codingstd_tests

hard tabs, cuddled else, MANIFEST sort, coda
21:45
22:05 preflex_ joined 22:09 sivoais_ joined
dalek rrot: 9f5055b | rurban++ | / (8 files):
[CAGE] fix most t/codingstd/copyright.t issues

Only imcc has some Copyright (C) 2002 Melvin Smith <melvin.smith@mindspring.com> left.
22:20
22:44 sivoais joined 23:00 sivoais joined