|
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
|
|||