Camelia, the Perl 6 bug

IRC log for #parrot, 2012-08-06

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:20 rurban_ joined #parrot
00:20 rurban_ left #parrot
00:50 woosley joined #parrot
00:57 benabik joined #parrot
01:24 benabik joined #parrot
01:41 sivoais joined #parrot
01:59 benabik joined #parrot
02:15 dalek parrot/native_pbc: 51d2cc3 | rurban++ | t/native_pbc/ (3 files):
02:15 dalek parrot/native_pbc: create updated ppc32 native_pbc
02:15 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/51d2cc3980
03:45 sivoais joined #parrot
04:26 sivoais joined #parrot
04:48 sivoais joined #parrot
05:14 Khisanth joined #parrot
05:38 fperrad joined #parrot
05:51 sivoais joined #parrot
06:12 sivoais joined #parrot
06:36 sivoais joined #parrot
07:10 brrt joined #parrot
07:10 brrt hey #parrot
07:10 brrt did anyone receive my second mail on the multiple interpreters thing
07:10 moritz yes
07:10 brrt because i did not receive it back
07:10 brrt ok
07:10 moritz (that was a reply to a digest, right?)
07:10 brrt then it is ok :-)
07:11 brrt yes
07:11 brrt usually i just see it back, the digests
07:11 moritz I haven't answered because I simply don't have anything to contribute :(
07:11 brrt no matter :-) i was worried i had used the right e-mail address
07:14 brrt but tbh, i'm quite worried right now
07:14 brrt because i usually have an idea of how things should be done
07:14 brrt but now, i'm out
07:53 nopaste joined #parrot
09:20 dmalcolm joined #parrot
09:27 schmooster joined #parrot
11:47 JimmyZ joined #parrot
12:15 whiteknight joined #parrot
12:19 whiteknight good morning, #parrot
12:20 brrt good afternoon, #parrot, too :-)
12:34 mtk joined #parrot
12:36 schmoo joined #parrot
13:07 bluescreen joined #parrot
13:38 brrt joined #parrot
13:57 rurban hi
14:00 moritz \o
14:02 whiteknight hello rurban, moritz
14:04 brrt hi everybody!
14:05 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, ...
14:06 brrt rurban++
14:06 * brrt would like to have an old mac as well
14:07 rurban brrt: better not. I already hate it.
14:09 whiteknight rurban++ !!
14:09 whiteknight rurban: Let me know if you need any help
14:09 brrt :-)
14:10 brrt as a sidenote, do we intend to run on the raspberry pi?
14:12 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
14:13 moritz brrt: Nicholas Clark even got Rakudo running on the pi
14:13 moritz (with some fiddling)
14:14 brrt nice
14:15 moritz and lots and lots of swapping
14:15 brrt basically, crashing-upon-destruction is in the gc destruction sequence
14:15 Coke to be fair, wasn't most of that swapping rakudo build, not parrot build?
14:16 JimmyZ what is raspberry pi?
14:16 PerlJam JimmyZ: http://www.raspberrypi.org/
14:16 brrt at the local gc block mark routine
14:17 JimmyZ PerlJam:  thanks
14:17 brrt this routine is gc_gms_block_mark
14:18 brrt gc_gms_block_GC_mark, src/gc/gc_gms.c, line 1742
14:18 brrt inspecting the values
14:18 brrt its incrmeenting self->gc_mark_block_level
14:19 brrt but gc_mark_block_level may not be initialized properly
14:19 brrt 140737308459176 doesn't look like a 'normal' count
14:22 rurban brrt++
14:23 brrt oh.... the child interpreter reusses the parents' private
14:23 brrt in gc_gms.c l743
14:23 brrt lets see what happens if i remove that
14:29 brrt nope, doesn't fix it
14:39 brrt hmm :-(
14:52 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:53 brrt because not having a parent and child
14:53 brrt causes a crash even earlier
14:53 brrt :-)
14:54 brrt no technical requirements
14:54 atrodo Any ideas why that was done in the first place?
14:56 atrodo (I'm curious, I never understood why this parent/child requirement was ever in place to begin with)
14:58 brrt that wasn't 'done' per se
14:58 Coke in tcl, at least, there is always a parent/child relationship, IIRC.
14:58 brrt but the garbage collector cannot work independently
14:58 brrt or something
14:58 Coke brrt: hardly anyone uses multiple interpreters, so this was probably never caught.
14:59 brrt people implementing handlers for multithreaded webservers do, however :-)
15:00 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 whiteknight things got worse from there
15:02 whiteknight 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:04 whiteknight 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:07 brrt whiteknight++ for clearing that up
15:07 brrt also, thats a bug, not a feature
15:07 whiteknight yes, very much so
15:08 atrodo that part of it seems simple enough to fix
15:08 brrt hmm
15:08 whiteknight atrodo: it's a little bit more involved. There are other related issues and lots of old legacy code relying on it
15:09 whiteknight but yes, a concerted effort to fix it would not be too big a hassle
15:10 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
15:10 whiteknight or if this issue is addressed at all
15:12 * brrt will check it out
15:13 darbelo joined #parrot
15:24 dmalcolm joined #parrot
15:53 brrt not overly bad news
15:53 brrt 'threads' runs through child_interpreters until destruction
15:53 brrt i.e.
15:53 brrt same place as my own 'fix'
15:53 brrt but yeah
15:53 brrt interpreter destruction still kills it
16:05 whiteknight okay
16:17 dalek rakudo/nom: d9c09e8 | (Geoffrey Broadwell)++ | src/core/Main.pm:
16:17 dalek rakudo/nom: First step of val() work: replace grammar CLIVal in hack-val() with direct use of Str.Numeric()
16:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d9c09e8db0
16:31 preflex_ joined #parrot
16:45 schmoo joined #parrot
16:47 jashwanth joined #parrot
18:12 knewt joined #parrot
18:12 ttbot joined #parrot
18:12 Hunger joined #parrot
18:12 drift joined #parrot
18:12 rblackwe joined #parrot
18:12 jlaire joined #parrot
18:12 Util joined #parrot
18:12 dngor joined #parrot
18:12 rurban joined #parrot
18:12 perlite joined #parrot
18:12 Khisanth joined #parrot
18:12 preflex joined #parrot
18:12 jashwanth joined #parrot
18:12 szbalint joined #parrot
18:12 tadzik joined #parrot
18:12 sorear joined #parrot
18:12 smash joined #parrot
18:12 GeJ joined #parrot
18:12 wagle joined #parrot
18:12 alvis joined #parrot
18:12 ingy joined #parrot
18:12 tuxit joined #parrot
18:12 TonyC joined #parrot
18:14 darbelo joined #parrot
19:01 lucian joined #parrot
19:26 dalek nqp: 3abd848 | (Arne Skjærholt)++ | src/ (2 files):
19:26 dalek nqp: Fix segfault bug when write-barriering CStruct REPRd objects.
19:26 dalek nqp:
19:26 dalek nqp: child_objs is now allocated with mem_sys_allocate_zeroed, and a child object
19:26 dalek nqp: is ignored if child_objs[i] is NULL. This fixes a bug where write-barriering
19:26 dalek nqp: would trip over a bogus pointer when write-barriering a struct returned from C
19:26 dalek nqp: and a field was unread before passing it to another C function.
19:26 dalek nqp: review: https://github.com/perl6/nqp/commit/3abd848a71
20:17 PacoAir joined #parrot
20:40 benabik joined #parrot
21:05 dalek parrot/native_pbc: ecb605f | rurban++ | / (15 files):
21:05 dalek parrot/native_pbc: [GH #394] Revamp native_pbc: t/native_pbc/Test.pm
21:05 dalek parrot/native_pbc:
21:05 dalek parrot/native_pbc: Simplify tests with a common t/native_pbc/Test.pm library.
21:05 dalek parrot/native_pbc: Delete unneeded pbc files.
21:05 dalek parrot/native_pbc: Update ppc32 t/native_pbc files.
21:05 dalek parrot/native_pbc:
21:05 dalek parrot/native_pbc: TODO: endian-conversion fails
21:05 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/ecb605ff48
21:05 dalek parrot/native_pbc: 53f9677 | rurban++ | / (36 files):
21:05 dalek parrot/native_pbc: refactor t/native_pbc/ test ids
21:05 dalek parrot/native_pbc:
21:05 dalek parrot/native_pbc: Parrot::Test had the odd assumption that testing pbc can only be done for
21:05 dalek parrot/native_pbc: native_pbc tests, and that the tests must be of _<int>++.pbc.
21:05 dalek parrot/native_pbc: We pass now the filename as first arg to pbc_output_is() and check if it exists.
21:05 dalek parrot/native_pbc:
21:05 dalek parrot/native_pbc: So we can use now readable test names.
21:05 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/53f9677235
21:27 dalek parrot/native_pbc: 37afb31 | rurban++ | MANIFEST:
21:27 dalek parrot/native_pbc: native_pbc: update MANIFEST
21:27 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/37afb31d00
21:32 dalek parrot/lndir: 2c139c0 | rurban++ | src/nci/libffi.c:
21:32 dalek parrot/lndir: [CAGE] libffi: Initialize nci_arg_ptr if !nci->arity
21:32 dalek parrot/lndir:
21:32 dalek parrot/lndir: clang 3.1 svn160959 properly caught:
21:32 dalek parrot/lndir:
21:32 dalek parrot/lndir: src/nci/libffi.c:543:9: warning: variable 'nci_arg_ptr' is used uninitialized whenever 'if' condition is false
21:32 dalek parrot/lndir:       [-Wsometimes-uninitialized]
21:32 dalek parrot/lndir:     if (nci->arity) {
21:32 dalek parrot/lndir:         ^~~~~~~~~~
21:32 dalek parrot/lndir: src/nci/libffi.c:645:64: note: uninitialized use occurs here
21:32 dalek parrot/lndir:     ffi_call(&thunk->cif, FFI_FN(nci->orig_func), return_data, nci_arg_ptr);
21:32 dalek parrot/lndir:                                                                ^~~~~~~~~~~
21:32 dalek parrot/lndir: src/nci/libffi.c:543:5: note: remove the 'if' if its condition is always true
21:32 dalek parrot/lndir:     if (nci->arity) {
21:32 dalek parrot/lndir:     ^~~~~~~~~~~~~~~~
21:32 dalek parrot/lndir: src/nci/libffi.c:483:31: note: initialize the variable 'nci_arg_ptr' to silence this warning
21:32 dalek parrot/lndir:     void         **nci_arg_ptr; /* pointers to arguments for libffi */
21:32 dalek parrot/lndir:                               ^
21:32 dalek parrot/lndir:                                = NULL
21:32 dalek parrot/lndir: review: https://github.com/parrot/parrot/commit/2c139c0fce
21:32 dalek parrot/lndir: f8d2af0 | rurban++ | src/nci/libffi.c:
21:32 dalek parrot/lndir: Merge branch 'master' into lndir
21:32 dalek parrot/lndir: review: https://github.com/parrot/parrot/commit/f8d2af0170
21:32 dalek parrot/native_pbc: 941ec5e | rurban++ | / (4 files):
21:33 dalek parrot/native_pbc: [CAGE] fix codingstd_tests
21:33 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/941ec5e4e2
21:35 dalek parrot/native_pbc: fe98667 | rurban++ | / (5 files):
21:35 dalek parrot/native_pbc: [CAGE] fix codingstd_tests
21:35 dalek parrot/native_pbc:
21:35 dalek parrot/native_pbc: hard tabs, cuddled else, MANIFEST sort
21:35 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/fe986673af
21:45 dalek parrot/native_pbc: 22590e1 | rurban++ | / (5 files):
21:45 dalek parrot/native_pbc: [CAGE] fix codingstd_tests
21:45 dalek parrot/native_pbc:
21:45 dalek parrot/native_pbc: hard tabs, cuddled else, MANIFEST sort, coda
21:45 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/22590e10b1
22:05 preflex_ joined #parrot
22:09 sivoais_ joined #parrot
22:20 dalek parrot: 9f5055b | rurban++ | / (8 files):
22:20 dalek parrot: [CAGE] fix most t/codingstd/copyright.t issues
22:20 dalek parrot:
22:20 dalek parrot: Only imcc has some Copyright (C) 2002 Melvin Smith <melvin.smith@mindspring.com> left.
22:20 dalek parrot: review: https://github.com/parrot/parrot/commit/9f5055b94d
22:44 sivoais joined #parrot
23:00 sivoais joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced