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