Camelia, the Perl 6 bug

IRC log for #parrot, 2012-12-12

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:19 dukeleto rurban: any ideas?
00:19 dukeleto rurban: i am not sure if that is platform-specific yet
00:20 dukeleto davidfetter: congrats!
00:20 rurban some. I'll test it later in the evening. First I fight the UNUSED battle
00:20 dukeleto davidfetter: obviously one is not enough fun :)
00:20 davidfetter dukeleto, we're both of the rip-it-off-quick school of bandaids
00:21 rurban dukeleto: It works fine on linux. Looks like a clever BSD memory protection
00:21 davidfetter dukeleto, and besides, we probably won't get asked about when Edith's going back to the hospital
00:21 dukeleto davidfetter: i see. So you want to compress the number of years without sleep as close together as possible :)
00:21 rurban I'll also check on windows, but nine tested on windows before.
00:21 davidfetter dukeleto, that, and the number of years of diapers. more of those will not enrich my life, i'm convinced
00:22 dukeleto rurban: it smelled like memory corruption/stangeness when I noticed that each backtrace looked different
00:22 rurban well, it's triggered by GC, so that's normal
00:29 dukeleto rurban: is there any way to enable threads-related debugging information during run-time?
00:29 dukeleto rurban: such as, a way to show how many CPUs parrot has detected?
00:31 rurban wait a sec...
00:31 rurban I know only THREAD_DEBUG
00:32 rurban I would also add DETAIL_MEMORY_DEBUG
00:33 rurban the numcpu code is at startup, I just debugged into it.
00:36 dukeleto rurban: cool, thanks
00:39 rurban Down to one single clang warning, success
00:42 Coke rurban++
00:43 dukeleto rurban: i bestow upon you the warning-basher merit badge
00:43 dalek parrot: af7e332 | rurban++ | lib/Parrot/Pmc2c/Method.pm:
00:43 dalek parrot: [GH #836] Improved pmc2c
00:43 dalek parrot:
00:43 dalek parrot: support multiple shim'able parameters
00:43 dalek parrot: warns on not SHIM'ed parameters, possibly internal unused variables
00:43 dalek parrot: warns on possibly forgotten UNUSED(param) declarations
00:43 dalek parrot: warns on an possible internal recursion error, when the UNUSED decl could not be replaced
00:43 dalek parrot: skips SHIM'ing method bodies with #if
00:43 dalek parrot: detect empty bodies and adds SHIM'ed INTERP and SELF params automatically
00:43 dalek parrot: review: https://github.com/parrot/parrot/commit/af7e3329fb
00:43 dalek parrot: 4136fb4 | rurban++ | ChangeLog:
00:43 dalek parrot: [GH #836] rurban/pmc2c-2-gh836 ChangeLog line
00:43 dalek parrot: review: https://github.com/parrot/parrot/commit/4136fb4794
00:43 dalek parrot: cbe8900 | rurban++ | src/pmc/imageiothaw.pmc:
00:43 dalek parrot: [GH #836] Remove wrong 2x UNUSED(INTERP) in imageiothaw
00:43 dalek parrot: review: https://github.com/parrot/parrot/commit/cbe890046a
00:43 dalek parrot: f204cf8 | rurban++ | lib/Parrot/Pmc2c/Method.pm:
00:43 dalek parrot: Fix wrong Parrot::Pmc2c::Method::decl
00:43 dalek parrot:
00:43 dalek parrot: Failed when not in first line (s///m missing)
00:44 dalek parrot: review: https://github.com/parrot/parrot/commit/f204cf8e37
00:44 dalek parrot: 32ac823 | rurban++ | lib/Parrot/Pmc2c/Method.pm:
00:44 dalek parrot: [GH #836] pmc2c Sanify parameters beforehand and detect empty bodies
00:44 dalek parrot:
00:44 dalek parrot: This leaves with a single remaining clang warning for math.ops, and several unrelated
00:44 dalek parrot: gcc warnings left. null, default and proxy are also detected correctly now.
00:44 dalek parrot: review: https://github.com/parrot/parrot/commit/32ac823ed6
00:44 rurban pmc2c has also now some nice warnings beforehand
00:44 rurban now back to darwin threads ...
00:45 ttbot Parrot 4136fb47 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/103037
00:47 ttbot Parrot af7e3329 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/103045
00:47 rurban too far behind.
00:48 schmooster joined #parrot
00:48 rurban Is there a clang++ on taptinder also?
00:49 dukeleto rurban: i don't think so, but not sure
00:49 rurban I also tried to fix some --cage warnings
00:49 * rurban needs a short break
01:14 Mike-PerlRecruiter_ joined #parrot
01:34 perlite_ joined #parrot
01:36 Timbus joined #parrot
01:52 whiteknight Any ruby people around here?
02:11 benabik kinda
02:14 whiteknight here's a head-scratcher I'm working on
02:15 whiteknight http://pastie.org/5514012
02:15 whiteknight If I delete line #4, it returns the ordered list of posts as I expect
02:15 whiteknight but with line 4 in place, doing nothing except reading a value out of the post, the method returns nil
02:16 whiteknight or, it returns an array where all the items in it are nil
02:16 benabik Uhm.
02:16 whiteknight yeah, it's a weird one
02:18 benabik ActiveRecord attempts to be as lazy as possible.  It could be that sort is returning something that's expecting to pull from the database later?
02:21 whiteknight hmmm, I hadn't thought of that. Maybe I can eager it up a little bit
02:22 whiteknight ...not that I have any idea how to do tht
02:31 whiteknight whatever, bedtime. I'll deal with it tomorrow
03:14 dalek rakudo/nom: 78b53ac | coke++ | t/spectest.data:
03:14 dalek rakudo/nom: run more tests.
03:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/78b53aca83
04:04 Reini joined #parrot
04:05 Reini enabled parrotinterpreter and task tests, investigating thread issues.
06:10 Reini joined #parrot
06:17 dalek parrot/tailcall_new_gh596: ea61ae7 | dukeleto++ | t/pmc/class.t:
06:17 dalek parrot/tailcall_new_gh596: [t] Add a failing test for #596 for Class PMC with overridden init
06:17 dalek parrot/tailcall_new_gh596: review: https://github.com/parrot/parrot/commit/ea61ae7dff
07:40 Reini joined #parrot
08:22 Khisanth joined #parrot
08:41 Reini joined #parrot
09:55 sivoais joined #parrot
10:15 Psyche^ joined #parrot
11:19 sivoais joined #parrot
12:20 migimunz2 well, I've just realized why python has only single expression lambdas
12:27 mtk joined #parrot
12:31 mtk joined #parrot
13:14 Mike-PerlRecruiter_ joined #parrot
13:34 TonyC joined #parrot
14:17 PacoAir joined #parrot
14:23 bluescreen joined #parrot
14:23 Coke I build parrot on OS X, pointing to a local install dir:
14:23 Coke $ ./parrot
14:23 Coke dyld: Library not loaded: /usr/local/lib/libparrot.dylib
14:26 Coke worse:
14:26 Coke $ ./install/bin/parrot
14:26 Coke dyld: Library not loaded: /usr/local/lib/libparrot.dylib
14:27 Coke (I'm a few revs behind, updating...)
14:30 Coke ah. after an upgrade, I'm reduced to a more tractable problem - the locally built version of parrot is relying on the installed versions of all the C libraries.
14:30 Coke so, if I ./parrot before I install, I get an error because I installed an older version. Then I if I delete install dir, I get an error because they don't exist. then I install, everything is fine. move install out of the way, error.
14:31 Coke so, annoying, but status quo.
14:33 Reini joined #parrot
14:35 rurban Coke: Yes, on darwin we have no rpath. So I always export DYLD_LIBRARY_PATH=`pwd`/blib/lib
14:35 rurban Very annoying, esp when I switch branches
14:42 mtk joined #parrot
15:04 davidfetter joined #parrot
15:16 Reini joined #parrot
15:21 rurban How do I know my task id from within pir? I want to make Test::Builder thread-safe
15:22 rurban Do I need to catch a cant_do_write_method exception?
15:39 rurban Fixed another thread race
15:46 Reini joined #parrot
15:52 rurban And another
16:06 rurban Not even say is atomic. I need to write print "ok 1\n" instead, otherwise the concurrent say would interfer with the \n.  => "ok 1ok 2\n\n"
16:07 moritz maybe say should be made atomic
16:07 rurban Yeah, I hope so :)
16:07 rurban And sleep is also concurrent now.
16:45 dmalcolm joined #parrot
17:11 rurban Another big one ...
17:11 dalek parrot: 297f1ee | rurban++ | / (2 files):
17:11 dalek parrot: [GH #881] Do not ignore the exit opcode argument, fix t/pmc/task.t
17:11 dalek parrot:
17:11 dalek parrot: The argument for the exit op is ignored, parrot always exits with 1.
17:11 dalek parrot:
17:11 dalek parrot: die_from_exception() uses Parrot_x_jump_out(interp, 1); even if the given exit_code was 0
17:11 dalek parrot: (branch severity == EXCEPT_exit)
17:11 dalek parrot:
17:11 dalek parrot: t/pmc/task.t cannot use test_more as ok updates the counter in a non-thread safe way.
17:11 dalek parrot: we also cannot use say as say is non-atomic, the final \n can be printed after the concurrent thread
17:11 dalek parrot: prints its line.
17:11 dalek parrot: sleep is also concurrent, so better use a poor mans busy sleep to wait to the task to be killed.
17:11 dalek parrot: The numbers seem to stable now, tested on a pretty fast multicore machine.
17:11 dalek parrot: review: https://github.com/parrot/parrot/commit/297f1ee23b
17:11 dalek parrot: 792763b | rurban++ | src/pmc/task.pmc:
17:11 dalek parrot: Fix a threads race condition with Task_nci_send/Task_invoke
17:11 dalek parrot:
17:11 dalek parrot: Postpone TASK_recv_block_CLEAR(partner) when another task wants to check
17:11 dalek parrot: !TASK_in_preempt_TEST(_self)
17:11 dalek parrot:
17:11 dalek parrot: $ tsan ./parrot t/pmc/task.t
17:11 dalek parrot: ==6406== ThreadSanitizer, a data race detector
17:11 dalek parrot: 1..8
17:11 dalek parrot: ok 1 - initialized
17:11 dalek parrot: ok 2 task1 ran
17:11 dalek parrot: ok 3 task2 ran
17:11 dalek parrot: ok 4 sub1 ran
17:11 dalek parrot: ==6406== INFO: T2 has been created by T0. Use --announce-threads to see the creation stack.
17:11 dalek parrot: ==6406== INFO: T0 is program's main thread
17:11 dalek parrot: ==6406== WARNING: Possible data race during write of size 8 at 0x43A6218: {{{
17:11 dalek parrot: ==6406==    T0 (L{L31}):
17:11 dalek parrot: ==6406==     #0  Parrot_Task_nci_send /usr/src/parrot/master/src/pmc/task.c:316
17:12 dalek parrot: ==6406==     #1  Parrot_NativePCCMethod_invoke /usr/src/parrot/master/src​/pmc/nativepccmethod.c:122
17:12 dalek parrot: ==6406==     #2  Parrot_callmethodcc_p_sc /usr/src/parrot/master/src/ops/core_ops.c:18300
17:12 dalek parrot: ==6406==     #3  runops_fast_core /usr/src/parrot/master/src/runcore/cores.c:499
17:12 dalek parrot: ==6406==     #4  runops_int /usr/src/parrot/master/src/runcore/main.c:220
17:12 dalek parrot: ==6406==     #5  runops /usr/src/parrot/master/src/call/ops.c:123
17:12 dalek parrot: ==6406==     #6  Parrot_pcc_invoke_from_sig_object /usr/src/parrot/master/src/call/pcc.c:338
17:12 dalek parrot: ==6406==     #7  Parrot_ext_call /usr/src/parrot/master/src/extend.c:158
17:12 dalek parrot: ==6406==     #8  Parrot_Task_invoke /usr/src/parrot/master/src/pmc/task.c:168
17:12 dalek parrot: ==6406==     #9  Parrot_pcc_invoke_from_sig_object /usr/src/parrot/master/src/call/pcc.c:330
17:12 dalek parrot: ==6406==     #10 Parrot_ext_call /usr/src/parrot/master/src/extend.c:158
17:12 dalek parrot: ==6406==     #11 Parrot_cx_next_task /usr/src/parrot/master/src/scheduler.c:231
17:12 dalek parrot: ==6406==   Concurrent read(s) happened at (OR AFTER) these points:
17:12 dalek parrot: ==6406==    T2 (L{}):
17:12 dalek parrot: ==6406==     #0  Parrot_Task_invoke /usr/src/parrot/master/src/pmc/task.c:175
17:12 dalek parrot: ==6406==     #1  Parrot_pcc_invoke_from_sig_object /usr/src/parrot/master/src/call/pcc.c:330
17:12 dalek parrot: ==6406==     #2  Parrot_ext_call /usr/src/parrot/master/src/extend.c:158
17:12 dalek parrot: ==6406==     #3  Parrot_cx_next_task /usr/src/parrot/master/src/scheduler.c:231
17:12 dalek parrot: ==6406==     #4  Parrot_thread_outer_runloop /usr/src/parrot/master/src/thread.c:322
17:12 dalek parrot: ==6406==   Location 0x43A6218 is 1544 bytes inside a block starting at 0x43A5C10 of size 4096 allocated by T0 from heap:
17:12 dalek parrot: ==6406==     #0  calloc /mnt/data/build/slave/full_linux_build/​build/tsan/ts_valgrind_intercepts.c:444
17:12 dalek parrot: ==6406==     #1  mem_sys_allocate_zeroed /usr/src/parrot/master/src/gc/alloc_memory.c:97
17:12 dalek parrot: ==6406==     #2  allocate_new_pool_arena /usr/src/parrot/master/src​/gc/fixed_allocator.c:547
17:12 dalek parrot: ==6406==     #3  pool_allocate /usr/src/parrot/master/src​/gc/fixed_allocator.c:448
17:12 dalek parrot: ==6406==     #4  Parrot_gc_pool_allocate /usr/src/parrot/master/src​/gc/fixed_allocator.c:344
17:12 dalek parrot: ==6406==     #5  gc_gms_allocate_pmc_header /usr/src/parrot/master/src/gc/gc_gms.c:1490
17:12 dalek parrot: ==6406==     #6  Parrot_gc_new_pmc_header /usr/src/parrot/master/src/gc/api.c:312
17:12 dalek parrot: ==6406==     #7  get_new_pmc_header /usr/src/parrot/master/src/pmc.c:571
17:12 dalek parrot: ==6406==     #8  Parrot_pmc_new_init /usr/src/parrot/master/src/pmc.c:630
17:12 dalek parrot: ==6406==     #9  Parrot_thread_create_proxy /usr/src/parrot/master/src/thread.c:156
17:12 dalek parrot: ==6406==   Locks involved in this report (reporting last lock sites): {L31}
17:12 dalek parrot: ==6406==    L31 (0x42F02A8)
17:12 dalek parrot: ==6406==     #0  pthread_mutex_lock /mnt/data/build/slave/full_linux_build/​build/tsan/ts_valgrind_intercepts.c:935
17:12 dalek parrot: ==6406==     #1  Parrot_Task_nci_send /usr/src/parrot/master/src/pmc/task.c:312
17:12 dalek parrot: ==6406==     #2  Parrot_NativePCCMethod_invoke /usr/src/parrot/master/src​/pmc/nativepccmethod.c:122
17:12 dalek parrot: ==6406==     #3  Parrot_callmethodcc_p_sc /usr/src/parrot/master/src/ops/core_ops.c:18300
17:12 dalek parrot: ==6406==     #4  runops_fast_core /usr/src/parrot/master/src/runcore/cores.c:499
17:12 dalek parrot: ==6406==     #5  runops_int /usr/src/parrot/master/src/runcore/main.c:220
17:12 dalek parrot: ==6406==     #6  runops /usr/src/parrot/master/src/call/ops.c:123
17:12 dalek parrot: ==6406==     #7  Parrot_pcc_invoke_from_sig_object /usr/src/parrot/master/src/call/pcc.c:338
17:12 dalek parrot: ==6406==     #8  Parrot_ext_call /usr/src/parrot/master/src/extend.c:158
17:12 dalek parrot: ==6406==     #9  Parrot_Task_invoke /usr/src/parrot/master/src/pmc/task.c:168
17:12 dalek parrot: ==6406==     #10 Parrot_pcc_invoke_from_sig_object /usr/src/parrot/master/src/call/pcc.c:330
17:12 dalek parrot: ==6406==     #11 Parrot_ext_call /usr/src/parrot/master/src/extend.c:158
17:12 dalek parrot: ==6406==    Race verifier data: 0x5168EC1,0x516785D
17:12 dalek parrot: ==6406== }}}
17:12 dalek parrot: ok 5 Got message after block
17:12 dalek parrot: ok 6 Got existing message
17:12 dalek parrot: ok 7 task_to_kill running
17:12 dalek parrot: ok 8 task_to_kill killed
17:12 dalek parrot: ==6406==
17:14 rurban dalek is overwhelmed?
17:14 dalek joined #parrot
17:26 schmooster joined #parrot
17:27 dalek parrot: 98602e1 | dukeleto++ | t/library/mime_base64.t:
17:27 dalek parrot: Improve the name and description of mime_base64.t
17:27 dalek parrot: review: https://github.com/parrot/parrot/commit/98602e1c95
17:32 tuxit joined #parrot
17:37 dalek parrot: fcbbad0 | rurban++ | t/src/embed/api.t:
17:37 dalek parrot: [codingstd] untabify t/src/embed/api.t [GH #816]
17:37 dalek parrot: review: https://github.com/parrot/parrot/commit/fcbbad074c
17:47 rurban Deleted all already merged branches
17:48 rurban git branch -r --no-merged master vs git branch -r
17:54 rurban msg whiteknight what happened to  whiteknight/native_attrs: Add in getattribute and setattribute variants for native types
17:54 aloha OK. I'll deliver the message.
18:08 benabik joined #parrot
18:17 benabik dukeleto's on a ticket spree, I see.
18:56 Coke I am not a huge fan of "any movement on this ticket" pokes, usually.
18:57 Coke Probably because my tickets never get worked on. ;)
19:12 dalek parrot: a48a046 | rurban++ | src/ops/ (2 files):
19:12 dalek parrot: [cage] fix wrong UNUSED(INTERP) in core.ops,experimental.ops
19:12 dalek parrot:
19:12 dalek parrot: This came up when doing make bootstrap-ops
19:12 dalek parrot: review: https://github.com/parrot/parrot/commit/a48a0464d4
19:32 dalek Heuristic branch merge: pushed 69 commits to parrot/native_pbc2 by rurban
19:36 zby_home joined #parrot
19:38 awwaiid joined #parrot
19:43 dalek parrot/native_attrs: fdb2f72 | rurban++ | src/ops/object.ops:
19:43 dalek parrot/native_attrs: add native get/setattributes to ops
19:43 dalek parrot/native_attrs:
19:43 dalek parrot/native_attrs: This is a rebase of the branch whiteknight/native_attrs.
19:43 dalek parrot/native_attrs: Add in getattribute and setattribute variants for native types.
19:43 dalek parrot/native_attrs: Right now they do the same boxing/unboxing, but in the future they might be replaced
19:43 dalek parrot/native_attrs: with real native attribute access.
19:43 dalek parrot/native_attrs: review: https://github.com/parrot/parrot/commit/fdb2f721fd
19:43 dalek parrot/native_attrs: 61dcc82 | rurban++ | / (4 files):
19:43 dalek parrot/native_attrs: make bootstrap-ops for native_attrs
19:43 dalek parrot/native_attrs:
19:43 dalek parrot/native_attrs: This needs to bump PBC_COMPAT if applied after 4.11.0
19:43 dalek parrot/native_attrs: op_count went from 1129 to 1165
19:43 dalek parrot/native_attrs: review: https://github.com/parrot/parrot/commit/61dcc825f1
20:21 dalek parrot/native_attrs: baa468d | rurban++ | ChangeLog:
20:21 dalek parrot/native_attrs: added ChangeLog line for native_attrs
20:21 dalek parrot/native_attrs: review: https://github.com/parrot/parrot/commit/baa468d792
20:30 dukeleto benabik: yes, i went on a ticket spree last night, for no good reason. It's like spelunking
20:31 dukeleto Coke: i am not a huge fan either, but it works. We are carrying around almost 500 issues, many of which haven't been touched in >4 years and have been migrated from RT, to Trac, to Github
20:31 dukeleto Coke: that is too much baggage
20:40 rurban dukeleto++
22:44 whiteknight joined #parrot
22:55 whiteknight good evening, #parrot
22:58 kurahaupo joined #parrot
23:29 benabik joined #parrot
23:32 dalek parrot/getprotobyname_gh606: bc6d9e6 | dukeleto++ | / (5 files):
23:32 dalek parrot/getprotobyname_gh606: Port over a patch from @ocharles that add get_proto_by_name to Socket PMC, #606
23:32 dalek parrot/getprotobyname_gh606:
23:32 dalek parrot/getprotobyname_gh606: Originally http://trac.parrot.org/parrot/raw-attac​hment/ticket/1724/getprotobyname.patch
23:32 dalek parrot/getprotobyname_gh606: review: https://github.com/parrot/parrot/commit/bc6d9e620e
23:43 rurban whiteknight: I prepared a ready to be merged native_attrs.
23:44 rurban Do we want it this API?
23:44 rurban I would rather like bump PBC_COMPAT only once
23:47 benabik native_attrs?
23:48 rurban do not return PMC
23:49 rurban https://github.com/parrot/parrot/commit/fdb2f721fd
23:49 rurban For a tiny bit more rakudo performance.
23:51 benabik Plumbing for, but not implementation of native attributes on PMCs?  Interesting.
23:51 benabik Do like.

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

Parrot | source cross referenced