|
Parrot 4.10.0 "[Red-eared Parakeet]" parrot.org/ | Log: irclog.perlgeek.de/parrot Set by moderator on 21 November 2012. |
|||
| whiteknight | I probably don't have long until my computer craps out for the night, but I can answer any questions, if you have some particular ones in mind | 00:01 | |
| rurban | I wonder with what caveats we should ship parrot tomorrow. cygwin cannot send signals, select is broken with threads enabled, darwin fails on bigger threads examples | 00:03 | |
| nqp is not ready for threads | 00:04 | ||
| whiteknight | tomorrow is the release? Who's running it? | ||
| rurban | me | ||
| I have some crazy test failures still. | 00:05 | ||
| whiteknight | has cygwin always not been able to send signals, or is that a new regression? | ||
| rurban | no, always. I just enabled the task kill test | ||
|
00:05
Psyche^ joined
|
|||
| whiteknight | if it's not a regression, ignore it for now. We can make the test go away again for the releas | 00:05 | |
| rurban | nine thought it should work, as alarms are now handled platform independently, in a timer thread | ||
| whiteknight | And, what do you mean that select is broken with threads? | 00:06 | |
| rurban | I still need to test win32 and solaris | ||
| whiteknight | like, it's completely broken after the merge, or it's only broken when used from threads? | ||
| rurban | The worst as GC with threads | ||
| is GC with threads | |||
| ./parrot examples/threads/chameneos.pir always fails on darwin, and sometimes on linux | 00:07 | ||
| So I wonder if I should add a Configure.pl --without-threads | |||
| Coke | whiteknight: yes, got the email - thanks for replying, I appreciate it. I realize how busy we all get (there's a reason I didn't stand again.) | ||
| whiteknight | Coke: Yeah, we're in a particular bad point right now | 00:08 | |
| rurban: threads is still "experimental" right now, so as long as single-threaded operation doesn't fail it's not a problem | |||
| rurban | smaller thread examples work fine. So it's good for experimentation and code-rewrites. | ||
| Single threaded works fine, yes. | 00:09 | ||
| ok, good | |||
| whiteknight | rurban: doc.cat-v.org/inferno/concurrent_gc/ | 00:10 | |
| I think we're going to want that GC algorithm eventually | |||
| that should fix our GC-related problems, if we don't find a better fix before that | |||
| rurban | I tried to check the problematic parts in our GC, mark phase, but it was an endless battle. CallContext PMCs and Continuations deadlocked essentially | 00:12 | |
| not a real deadlock, more like stack corruption | 00:13 | ||
| caused by both threads running GCs | |||
| Or GC and malloc | 00:14 | ||
| whiteknight | right, we need to have only one GC that is process-global and only runs by itself | 00:15 | |
| rurban | But still, the other task will do a malloc, from the main GC pools | 00:16 | |
| We need to lock that. | |||
|
00:32
Reini joined
00:50
kid51 joined
00:59
benabik joined
01:14
Mike-PerlRecruiter_ joined
02:20
benabik joined
02:35
woosley joined
02:51
woosley joined
02:58
woosley joined
03:21
woosley joined
03:30
woosley1 joined
|
|||
| dalek | rrot/rurban/fix-gc-thr-gh880+gh875: f716cf4 | rurban++ | / (3 files): [GH #880/#875] Try to fix some GC thread bugs Do not ascent into parent_interpreter with a threaded interp. (No influence) Do not mark PMCs when threaded interp is different to the current interp (Parrot_gc_mark_PMC_alive) |
05:29 | |
| kudo/nom: a045381 | moritz++ | docs/release_guide.pod: release name suggestion: Sonoma.pm |
06:22 | ||
| kudo/nom: 0b96624 | moritz++ | docs/ (2 files): fix typo, japhb++ |
06:25 | ||
| kudo/nom: 9fcbcb6 | moritz++ | docs/deprecations: deprecation notice for sink context |
06:30 | ||
|
08:22
eternaleye joined
09:23
Reini joined
|
|||
| dalek | kudo/nom: 47b8766 | jnthn++ | docs/deprecations: Deprecations update. |
09:51 | |
|
09:57
Reini joined
10:37
bouncy joined
10:58
Reini joined
|
|||
| dalek | kudo/outer-bound: 0199241 | jnthn++ | src/ (2 files): Make "my $a; { $a; my $a } an error. This commit doesn't break any tests and actually makes a TODO test pass. However, it's a bit close to release to include it now, so it goes in a branch for now and can be merged afterwards. |
11:04 | |
| kudo/nom: 7794edf | jnthn++ | docs/deprecations: Mention future "my $a; { $a; my $a }" error. |
11:07 | ||
|
11:58
Reini joined
12:59
Reini joined
13:06
pmichaud joined
13:07
pmichaud joined
13:13
Mike-PerlRecruiter_ joined
13:59
Reini joined
14:12
PacoAir joined
14:33
Reini joined
15:17
Reini joined
|
|||
| dalek | rrot: 65a44c0 | rurban++ | lib/Parrot/Configure/Options/Conf.pm: [doc] --without-threads Build parrot without OS thread support The threads API - Task, Scheduler, concurrency - works as with threads, just not on native OS threads. |
15:29 | |
| rurban | testing windows (mingw, msvc), --without-threads, then preparing release | 15:34 | |
| tadzik | so when --without-threads it all runs on green threads? | 15:41 | |
| rurban | yes, compat but slow | ||
| the scheduler just cycles through | 15:42 | ||
| not really concurrent | |||
| The API is the same, but there are no Proxy objects created | 15:44 | ||
|
15:44
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#714 (master - 65a44c0 : Reini Urban): The build was fixed. | 15:44 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/1...a44c0c8771 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/3723080 | |||
|
15:44
travis-ci left
|
|||
| tadzik | I see | 15:45 | |
| oh, so the nqp bug with calling fuctions will not reproduce? | |||
| rurban | I have not tested --without-threads that far. | 15:58 | |
| tadzik | I'll check it out once I get back home | 15:59 | |
| rurban | yes, please. | ||
| tadzik | my pleasure | ||
| rurban | Somehow my msvc installation got corrupted. lots of parrot files as MSVC SDK headers | 16:00 | |
| dalek | kudo/nom: 358f486 | (Timo Paulssen)++ | src/core/ (2 files): throw X::Item for @a[NaN] or Inf. Signed-off-by: Moritz Lenz <moritz@faui2k3.org> |
16:05 | |
|
16:10
dmalcolm joined
|
|||
| dalek | rrot: 63c1890 | rurban++ | t/pmc/task.t: [t] GH #886 skip task.kill on windows/cygwin. NYI |
16:21 | |
|
16:30
benabik joined
|
|||
| benabik | ~~ | 16:32 | |
| rurban | hi benabik, can you have a look at rurban/fix-gc-thr-gh880+gh875 | 16:33 | |
| the failing example is examples/threads/chameneos.pir | 16:34 | ||
|
16:35
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#715 (master - 63c1890 : Reini Urban): The build was broken. | 16:35 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/6...c1890b7630 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/3723802 | |||
|
16:35
travis-ci left
|
|||
| benabik | rurban: Quick code review: looks like it would do it. Why limit gc_mark_PMC_alive to only the main thread? Also, why limit it inside the function and in the macros? | 16:39 | |
| rurban | The problem is to keep GC into its own thread. Do not step the border to the other threads | 16:41 | |
| But it does not work :) | |||
| benabik | Well, because it looks like you're limiting the GC to the main thread only. | 16:42 | |
| rurban | In honor to perl-1.0 I should post parrot-4.11.0 today to news://alt.sources | ||
| benabik | Which is overly strict, I thiink. | ||
| dalek | kudo/nom: 1e37817 | (Timo Paulssen)++ | src/Perl6/Grammar.pm: throw Missing on repeat without while/until. Signed-off-by: Moritz Lenz <mlenz@noris.net> |
16:43 | |
| kudo/nom: 22518b8 | (Timo Paulssen)++ | src/Perl6/Grammar.pm: replace .panic: "missing..." with .missing: ... Signed-off-by: Moritz Lenz <mlenz@noris.net> |
16:44 | ||
| rurban | tadzik: I'm testing nqp with parrot --without-threads now | 16:48 | |
| tadzik | ok, awesome | ||
| rurban | tadzik: works fine. so you have a fallback | 16:57 | |
| See test t/nqp/67-threads.t in branch gh67-threads | 16:58 | ||
| tadzik | woo-hoo | ||
| don't tell anyone | |||
| maybe they don't read logs | |||
| and I'll implement Threads.pm and it'll be an advent post for tomorrow :) | 16:59 | ||
| rurban | problem is the nqplexpad. | ||
| tadzik | yeah | ||
| but the bug I stumbled upon doesn't occur on green threads, correct? | |||
| or did I misunderstand | 17:00 | ||
|
17:03
Reini joined
|
|||
| Reini | Can I add Brian Gernhardt (benabik) as Core Developer? | 17:55 | |
| tadzik | absolutely, imho | 17:56 | |
| from the non-core perspective :) | |||
| rurban | tadzik: no, your bug is only with proxy as foreign lexicals | 17:57 | |
| tadzik | excellent | ||
| rurban | "a task may only read from foreign shared variables, for writing it must schedule an updater sub" | ||
| nqplexpad does not follow this API yet | 17:58 | ||
| tadzik | makes sense | ||
| so I can write threading API for rakudo, which will so far work only with green threads | |||
| rurban | better would be to fix nqplexpad to work with proxies | 18:01 | |
| something like disabling the current nqplexpad hacks with HAS_THREADS and use the parrot lexpad instead. | 18:02 | ||
| tadzik | I know, but that's beyond my capabilities, I'm afraid | 18:04 | |
| moritz | if nqp has its own lexpad, it likely has a good reason for that | ||
|
18:11
tuxit joined
|
|||
| rurban | moritz: it was a performance hack | 18:23 | |
| I'll add pod2man for our man pages before the release | |||
| make install-man | |||
| dalek | rrot/install-man-gh687: 25773e7 | rurban++ | / (4 files): [GH #687] Install man pages for all generated main binaries Defaults to /usr/local/man. Skipped on windows and if pod2man is not found. Without the proposed #228 tools/docs/mk_pod2man.pl script Get the man subpage from the generated file extension (.1), to allow .3 or .3pir man pages in the future also. |
18:56 | |
|
19:45
MikeFair joined
|
|||
| tadzik | rurban: what's some good example code using threads? | 19:55 | |
| Coke | in parrot or out? | ||
| tadzik | as in: what can I use aside from the wait() opcode. Some synchronization primitives? | ||
| rurban | examples/threads | ||
| sync is only done via wait() | 19:56 | ||
| tadzik | heh, I'm blind :) Thanks | ||
| rurban | tools/release/cut.pl COMPRESS_BZIP created a GZIP .bz2! | ||
| I blame perl5 later | |||
| tadzik | seen nine | 20:01 | |
| aloha | nine was last seen in #parrot 67 days 9 hours ago joining the channel. | ||
| rurban | g d | 20:28 | |
| and just while release testing I found a linker problem with our dynpma/libglut.so | 20:44 | ||
| dynpmc | |||
| Coke | who is doing the release today? | 20:49 | |
| you? | |||
| rurban | me | 20:52 | |
| there is a new rakudo:docs/parrot-relationship.txt doc | |||
| :) | |||
| dalek | p-rx/rurban/find_codepoint-error: a352bfb | rurban++ | src/HLL/Actions.pm: Failed attempt to fix find_codepoint errors --without-icu |
21:02 | |
| tadzik | gah, implementing semaphores using wait() and (enable|disable)_preemption sucks :/ | 21:08 | |
| or I'm just doing it wrong | 21:10 | ||
| rurban | I'm also not the expert on this topic, sorry. | 21:17 | |
| tadzik | I'll look around for nine | 21:18 | |
| okay, it's just me doing it wrong :) | 21:24 | ||
| rurban | found a few more windows bugs | 21:44 | |
| dalek | rrot: 25773e7 | rurban++ | / (4 files): [GH #687] Install man pages for all generated main binaries Defaults to /usr/local/man. Skipped on windows and if pod2man is not found. Without the proposed #228 tools/docs/mk_pod2man.pl script Get the man subpage from the generated file extension (.1), to allow .3 or .3pir man pages in the future also. |
21:49 | |
| rrot: 019f4ae | rurban++ | docs/binaries/parrot.pod: [docs] Document --numthreads in docs/binaries/parrot.pod (the manpage) |
|||
| rrot: 31a5f7e | rurban++ | / (11 files): Release 4.11.0 - All together - Happy Birthday Lovebird Added install-man step [GH #687]. Add man-clean to clean. Fix auto::pod2man on windows. OS threads with proxied PMCs are now default. Use perl Configure.pl --without-threads to use the old green threads API, just without Proxies and without native OS threads (and possible GC problems when running threaded tasks). Fix linking dynext/libglutcb.so without installed libparrot.so Warn about Archive::Tar COMPRESS_BZIP |
|||
| tadzik | hah, I thought --numthreads may be something like GOMAXPROCS. Was not disappointed :) | 21:50 | |
| rurban | GOMAXPROCS is for the number of max cpu's go uses. -numthreads can extend the number of cpu's by far. | 21:51 | |
| you can use --numthreads 5000 of 4 cores | |||
| tadzik | oh, you can't in Go? | ||
| rurban | I though in GO you want to limit it, to let others also have some core for themselves | 21:52 | |
| So you say GOMAXPROCS=3 with 4 cores | |||
| tadzik | indeed, it's about CPUs | ||
| I think some time ago they just defaulted to 1 and you had to increase it on your own | 21:53 | ||
| rurban | they did? | ||
| tadzik | I may remember wrongly | 21:54 | |
| anyway, do we eventually want to have green threads scheduler not block the entire interpreter on IO? | |||
|
22:05
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#716 (master - 31a5f7e : Reini Urban): The build was fixed. | 22:05 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/6...a5f7e3d825 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/3728546 | |||
|
22:05
travis-ci left
|
|||
| rurban | sure | 22:05 | |
| dalek | website: rurban++ | Parrot 4.11.0 "All together - Happy Birthday Lovebird" Released! | 22:10 | |
| website: www.parrot.org/news/2012/Parrot-4.11 | |||
| rurban | who is twitter use parrotvm? | 22:19 | |
| Coke | dukeleto, mebbe? | ||
| dalek | website: rurban++ | Parrot threads on the perl6 advent calendar - Day 11 | 22:28 | |
| website: www.parrot.org/news/parrot-threads-...dar-day-11 | |||
| moderator | #parrot Parrot 4.11.0 "[All together - Happy Birthday Lovebird]" --with-threads | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC | 22:37 | |
| rurban | pmichaud wants us to add a hyper examples to be added to the examples/threads in pir | 22:42 | |
| I'll add a ticket for that | |||
| Was there never a branch for jharper1's GSOC security api? | 22:52 | ||
| dalek | rrot/rurban/fix-gc-thr-gh880+gh875: d3ef71d | rurban++ | / (3 files): [GH #880/#875] Try to fix some GC thread bugs Do not ascent into parent_interpreter with a threaded interp. (No influence) Do not mark PMCs when threaded interp is different to the current interp (Parrot_gc_mark_PMC_alive) |
23:01 | |
| rrot/cyg-desparse-gh888: aee8fdc | rurban++ | / (2 files): [GH #888] Add a cyg-desparse post-linker step The cygwin linker up until 1.17.18 creates all its exes and shared libs as sparse files, which reduces startup time of executables by a large percentage (8-10x slower) because the code cannot be mmap'ed and not cached, it must be read byte by byte. Again and again. See cygwin.com/ml/cygwin-developers/201...00011.html |
23:02 | ||
| rrot/cyg-desparse-gh888: 6e63a19 | rurban++ | src/dyn (2 files): [GH #888] More dll cyg-desparse post-linker steps |
|||
| rrot/rurban/icu_version: 375744e | rurban++ | config/auto/icu.pm: [GH #867] Provide icu_version config value icu4.4 ships with an -Werror=strict-prototypes incompatible header file. Currently we disable this warning for src/string/encoding/shared.c but we should rather check which icu versions ships this header, and change the Configure logic (and order) to strip -Werror=strict-prototypes only with a bad icu_version |
23:03 | ||
| rurban | rebased some branches I'll work on on top of master | 23:04 | |
|
23:35
schmoo joined
23:36
Reini joined
23:49
Liz joined
23:50
woolfy joined
|
|||