Camelia, the Perl 6 bug

IRC log for #parrot, 2012-09-18

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:34 dalek parrot/rurban/threads_array_heap: 240885e | rurban++ | / (7 files):
00:34 dalek parrot/rurban/threads_array_heap: Dynamic threads_array in the heap, i.e. massive parallel multi-threading
00:34 dalek parrot/rurban/threads_array_heap:
00:34 dalek parrot/rurban/threads_array_heap: For what it's worth, this branch implements up to 16.000 threads (just an
00:34 dalek parrot/rurban/threads_array_heap: arbitrary limit) by allocating threads_array on the heap.
00:34 dalek parrot/rurban/threads_array_heap: I do not want to realloc this array on demand when a new task is created,
00:34 dalek parrot/rurban/threads_array_heap: I rather want it to be at the same location.
00:34 dalek parrot/rurban/threads_array_heap:
00:34 dalek parrot/rurban/threads_array_heap: What I'm not sure is if the tasks and threads need to be killed at interp
00:34 dalek parrot/rurban/threads_array_heap: teardown at all, or just be freed. Cancelling or terminating a thread is
00:34 dalek parrot/rurban/threads_array_heap: not really friendly. The current code passes all tests.
00:34 dalek parrot/rurban/threads_array_heap: review: https://github.com/parrot/parrot/commit/240885ee99
00:37 rurban Still Changelog entries needed?
00:43 dalek parrot: ad9a8e3 | rurban++ | ChangeLog:
00:43 dalek parrot: ChangeLog: note improved VALGRIND env
00:43 dalek parrot: review: https://github.com/parrot/parrot/commit/ad9a8e33c7
00:51 rurban I think that's it for the release. good luck
00:51 travis-ci joined #parrot
00:51 travis-ci [travis-ci] parrot/parrot#563 (master - ad9a8e3 : Reini Urban): The build was fixed.
00:51 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/379faba3e871...ad9a8e33c7e6
00:51 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2486813
00:51 travis-ci left #parrot
00:55 rurban Coke: travis did not like my branch setup. How can we make it test threads and smoke-me branches?
01:08 elmex_ joined #parrot
01:16 dalek parrot/rurban/preload-config-steps-gh833: e685dd0 | rurban++ | Configure.pl:
01:16 dalek parrot/rurban/preload-config-steps-gh833: preload only when debugging perl via -d
01:16 dalek parrot/rurban/preload-config-steps-gh833:
01:16 dalek parrot/rurban/preload-config-steps-gh833: As per jkeenans comment https://github.com/parrot/parrot​/issues/833#issuecomment-8634064
01:16 dalek parrot/rurban/preload-config-steps-gh833: review: https://github.com/parrot/parrot/commit/e685dd0e39
01:17 dalek parrot/rurban/preload-config-steps-gh833: c4de4b4 | rurban++ | Configure.pl:
01:17 dalek parrot/rurban/preload-config-steps-gh833: [GH #833] preload only when debugging perl via -d
01:17 dalek parrot/rurban/preload-config-steps-gh833:
01:17 dalek parrot/rurban/preload-config-steps-gh833: As per jkeenans comment https://github.com/parrot/parrot​/issues/833#issuecomment-8634064
01:17 dalek parrot/rurban/preload-config-steps-gh833: review: https://github.com/parrot/parrot/commit/c4de4b4356
01:29 l3l1p joined #parrot
02:30 l3l1p joined #parrot
04:12 l3l1p joined #parrot
05:13 mdupont joined #parrot
06:00 awwaiid joined #parrot
06:21 rurban_mobile joined #parrot
06:29 nine msg rurban Parrot_thread_destroy looks like a nice and tidy idea, but in its current form, I'm not sure it's actually helpful. You kill all foreign tasks but do not wait for them to actually exit. A currently running task would still run till the end of its timeslice. But you immediately go on to cancel all worker threads. Then you free the threads_array but not the thread's interpreters. Also the name Parrot_thread_destroy sounds to me like it would destroy one
06:29 aloha OK. I'll deliver the message.
06:37 fperrad joined #parrot
06:40 nine tadzik: would be interesting what ctx=0x88ed58 exactly is. Could it be a Proxy? Then the direct access is bound to fail. When that happens, it seems like a second distinct problem appears when trying to create the exception. Since I don't know anything about HLL stuff in Parrot, it can very well be that I overlooked something.
07:03 tadzik nine: I've no idea what that is
07:12 brrt joined #parrot
08:09 lucian joined #parrot
08:20 Psyche^ joined #parrot
11:23 JimmyZ joined #parrot
12:44 Coke rurban: I have nothing to do with travis. talk to dukeleto
12:45 Coke My experience with travis is that it generates channel chatter when builds time out, and not much else.
12:49 PacoAir joined #parrot
13:04 bluescreen joined #parrot
13:27 dalek rakudo/nom: 0973612 | moritz++ | src/core/Grammar.pm:
13:27 dalek rakudo/nom: Default to Mu for action methods
13:27 dalek rakudo/nom:
13:27 dalek rakudo/nom: that way fewer method names are prone to name conflicts, because Mu simply
13:27 dalek rakudo/nom: does not have as many methods as Any. But it is not a real fix
13:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0973612366
13:28 whiteknight joined #parrot
13:44 brrt hi #parrot
13:58 whiteknight hello brrt
13:59 whiteknight good morning, #parrot
13:59 brrt hello whiteknight
14:05 benabik joined #parrot
14:29 l3l1p joined #parrot
14:39 brrt wtf stupid linux-standard-base
14:55 fperrad joined #parrot
15:08 dalek nqp: 4b84f41 | jonathan++ | docs/QASTMAP:
15:08 dalek nqp: Delete QAST migration roadmap.
15:08 dalek nqp: review: https://github.com/perl6/nqp/commit/4b84f418dd
15:43 dmalcolm joined #parrot
15:52 rurban Coke: Sorry, mixed you up. Always do.
15:54 rurban nine: but how do we kill our threads now? Does the gc wait and kill them? I saw nothing.
15:55 benabik joined #parrot
15:56 Coke rurban: no worries.
15:56 Coke rurban: no worries.
16:03 dalek nqp: bba277c | jonathan++ | docs/qast.markdown:
16:03 dalek nqp: Start documenting the QAST nodes.
16:03 dalek nqp: review: https://github.com/perl6/nqp/commit/bba277cd9f
16:06 rurban whiteknight: Already done with the release? I wanted to add one more line to ChangeLog: + platforms - Fixed Solaris with gcc
16:09 rurban Better line: "+ Fixed broken int3 trap on Solaris with gcc."
16:09 whiteknight rurban: I haven't seen the release go by yet. Alvis is doing it
16:12 alvis rurban: Go ahead. I'm just now getting to the release. I have to first update the 4.6.0 docs.
16:16 Coke whiteknight: What's currently on your parrot plate?
16:19 dalek parrot: b6cf2d1 | rurban++ | ChangeLog:
16:19 dalek parrot: ChangeLog: Add int3 trap fix on Solaris with gcc [GH #583]
16:19 dalek parrot: review: https://github.com/parrot/parrot/commit/b6cf2d1497
16:20 rurban Ah Alvis. I thought it was you. For Alvis it's 11:20am
16:23 whiteknight Coke: threads, but I can take more. What do you need?
16:28 benabik_ joined #parrot
16:30 Coke Just asking.
16:31 dalek nqp: c0bb465 | jonathan++ | docs/qast.markdown:
16:31 dalek nqp: Document some more node types.
16:31 dalek nqp: review: https://github.com/perl6/nqp/commit/c0bb465bf1
16:35 rurban whiteknight: you can look at readline on windows which returns now with added "\r\n" but should only add "\n"
16:36 rurban commit f77643e9c9165dde47318717011983f5348413be
16:36 benabik_ joined #parrot
16:36 rurban I found it in t/src/threads_io.t
16:36 whiteknight rurban: Make a ticket?
16:37 rurban I'm not sure what the proper behavior should be. This failing test is new.
16:38 rurban It came with threads. But I guess it was io_cleanupo1 which changed the behaviour.
16:38 rurban https://github.com/parrot/parrot/issues/834
16:45 rurban Oh, a good one: https://github.com/parrot/parrot/issues/835
16:47 rurban I'll add it to t/pmc/bytebuffer.t
16:50 Coke parrot has a several nqp-rx tickets that can probably be closed with a pointer to the nqp-rx repository, and a note that we're either removing it or upgrading to nqp.
16:50 davidfetter joined #parrot
16:53 rurban hmm, I'm totally baffled. the #835 test fails if called as main, but works if called as function inside t/pmc/bytebuffer.t
16:54 rurban Maybe the buffers are reused and already big enough from the previous tests...
17:01 dalek parrot/rurban/bytebuffer-resize-gh835: cd367ec | rurban++ | t/pmc/bytebuffer (2 files):
17:01 dalek parrot/rurban/bytebuffer-resize-gh835: Add bytebuffer resize tests for [GH #835]
17:01 dalek parrot/rurban/bytebuffer-resize-gh835:
17:01 dalek parrot/rurban/bytebuffer-resize-gh835: As it turns out adding the failing test to t/pmc/bytebuffer.t
17:01 dalek parrot/rurban/bytebuffer-resize-gh835: does not reveil any problem, but if called seperately as main it does.
17:01 dalek parrot/rurban/bytebuffer-resize-gh835: review: https://github.com/parrot/parrot/commit/cd367ecd1c
17:02 rurban alvis: working on the release?
17:06 rurban Yesterday night I also improved pmc2c a lot by checking all the UNUSED macros and changing them to SHIM the pmc args.
17:07 rurban It went from hundreds to zero warnings from clang.
17:08 rurban I also added clang support to warnings. clang detects more than gcc
17:12 rurban_mobile joined #parrot
17:16 tuxit joined #parrot
17:28 mdupont joined #parrot
17:30 dalek parrot/rurban/pmc2c-unused-gh836: 60cfaca | rurban++ | lib/Parrot/Pmc2c/Method.pm:
17:30 dalek parrot/rurban/pmc2c-unused-gh836: [GH #836] Improve parsing pmc2c UNUSED arguments
17:30 dalek parrot/rurban/pmc2c-unused-gh836:
17:30 dalek parrot/rurban/pmc2c-unused-gh836: UNUSED(arg) amcros are now detected in pmc bodies and change the argument declaration
17:30 dalek parrot/rurban/pmc2c-unused-gh836: to SHIM().
17:30 dalek parrot/rurban/pmc2c-unused-gh836: Empty bodies with return 1; are now detected and the two args are SHIMed.
17:30 dalek parrot/rurban/pmc2c-unused-gh836: UNUSED(interp) cause a new warning to be replaced by UNUSED(INTERP).
17:30 dalek parrot/rurban/pmc2c-unused-gh836: review: https://github.com/parrot/parrot/commit/60cfaca0ca
17:30 dalek parrot/rurban/pmc2c-unused-gh836: 6afb068 | rurban++ | config/auto/warnings.pm:
17:30 dalek parrot/rurban/pmc2c-unused-gh836: warnings: Improve clang support
17:30 dalek parrot/rurban/pmc2c-unused-gh836:
17:30 dalek parrot/rurban/pmc2c-unused-gh836: clang requires warnings overrides for -Wno-parentheses-equality
17:30 dalek parrot/rurban/pmc2c-unused-gh836: and adds -Wno-unused-result to src/ops/core_ops.c.
17:30 dalek parrot/rurban/pmc2c-unused-gh836: (used in 29582199aef9ea9462 [GH #828] Optimize print_n/i and say_n/i)
17:30 dalek parrot/rurban/pmc2c-unused-gh836: review: https://github.com/parrot/parrot/commit/6afb068a5c
17:30 dalek parrot/rurban/pmc2c-unused-gh836: a95f757 | rurban++ | config/gen/makefiles/root.in:
17:30 dalek parrot/rurban/pmc2c-unused-gh836: Add ccwarn::src/ops/core_ops.c SUFFIX OVERRIDE for using (void)Parrot_io_write_b
17:30 dalek parrot/rurban/pmc2c-unused-gh836:
17:30 dalek parrot/rurban/pmc2c-unused-gh836: Added with 29582199aef9ea94622b4202aee129521bc
17:30 dalek parrot/rurban/pmc2c-unused-gh836: review: https://github.com/parrot/parrot/commit/a95f757e24
17:30 dalek parrot/rurban/pmc2c-unused-gh836: ef4b571 | rurban++ | src/ (3 files):
17:30 dalek parrot/rurban/pmc2c-unused-gh836: Add more UNUSED() declarations to key.pmc and core.ops
17:30 dalek parrot/rurban/pmc2c-unused-gh836: review: https://github.com/parrot/parrot/commit/ef4b571b68
17:31 rurban There's still a problem with pmc2c-unused-gh836 in null.pmc for derived methods
17:40 contingencyplan joined #parrot
18:09 benabik joined #parrot
19:07 nine rurban: threads get killed on program exit. Your Parrot_thread_destroy is the first attempt to do real cleanup which might be nice in an embedding situation
19:09 rurban So the OS loader terminates the threads? I rewrote it slightly and seperated kill tasks from a later destroy interp's, terminate threads and free the array.
19:09 lucian joined #parrot
19:09 nine Yes. Sounds like nice improvement.
19:15 rurban Please feel free to fix my naive implementation.
19:16 dalek parrot/rurban/threads_array_heap: 2bae6d7 | rurban++ | / (3 files):
19:16 dalek parrot/rurban/threads_array_heap: Seperate thread_kill from thread_destroy
19:16 dalek parrot/rurban/threads_array_heap:
19:16 dalek parrot/rurban/threads_array_heap: Rename Parrot_thread_destroy to Parrot_thread_destroy_all
19:16 dalek parrot/rurban/threads_array_heap: Add an earlier Parrot_thread_kill_all step, which kills the
19:16 dalek parrot/rurban/threads_array_heap: foreign tasks, and use the later Parrot_thread_destroy_all to
19:16 dalek parrot/rurban/threads_array_heap: cancel the threads, kill its interpreters and free the threads_array.
19:16 dalek parrot/rurban/threads_array_heap:
19:16 dalek parrot/rurban/threads_array_heap: I'm not sure if the scenario is sound and right but the tests pass.
19:16 dalek parrot/rurban/threads_array_heap: review: https://github.com/parrot/parrot/commit/2bae6d7923
19:22 benabik joined #parrot
19:34 dalek parrot/rurban/threads_array_heap: 42bb405 | rurban++ | / (3 files):
19:34 dalek parrot/rurban/threads_array_heap: Do Parrot_thread_kill_all before Parrot_runcore_destroy
19:34 dalek parrot/rurban/threads_array_heap:
19:34 dalek parrot/rurban/threads_array_heap: Change Parrot_thread_destroy_all(interp) to Parrot_thread_destroy_all(NULL)
19:34 dalek parrot/rurban/threads_array_heap: No interp needed for the interp's in the global threads_array.
19:34 dalek parrot/rurban/threads_array_heap: review: https://github.com/parrot/parrot/commit/42bb405695
19:42 rurban I think killing those threads and destroying the interp's is a can of worms. Can there be be recursion? Which interp? But it needs to be done. Even without the heap change.
20:28 nine Shutting down an interp looks like scary business to me even without threading :)
21:21 dalek parrot: 7847e55 | alvis++ | / (12 files):
21:21 dalek parrot: The 4.8.0 Release
21:21 dalek parrot: review: https://github.com/parrot/parrot/commit/7847e55203
22:03 Khisanth joined #parrot
22:31 whiteknight joined #parrot
22:46 whiteknight ayardly++
23:00 lucian joined #parrot
23:18 alvis_ joined #parrot
23:33 lucian joined #parrot

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

Parrot | source cross referenced