Camelia, the Perl 6 bug

IRC log for #parrot, 2012-01-04

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:15 cotto kshannon++
00:16 dalek parrot: 5b125a1 | NotFound++ | src/extend.c:
00:16 dalek parrot: fix bug in Parrot_ext_try reported by kshannon++:
00:16 dalek parrot: the context pop was not poping at all.
00:16 dalek parrot: The fix uses a static function instead of a macro for simplicity,
00:16 dalek parrot: setjmp has much bigger impact in speed than any additional call
00:16 dalek parrot: review: https://github.com/parrot/parrot/commit/5b125a1568
00:17 NotFound That should fix it, but unfortunatly I don't have any test case.
00:44 whiteknight joined #parrot
01:00 whiteknight good evening, #parrot
01:18 cotto 'evening, whiteknight
01:55 whiteknight hello cotto. How are you doing tonight?
01:56 cotto the evening is my oyster
01:56 cotto I don't really like oysters though.
01:56 cotto ;)
01:58 whiteknight I can't say I'm much of a fan either
01:58 whiteknight I keep forgetting about #ps because my last couple work-weeks haven't started on monday and my internal calendar gets all thrown off
01:59 whiteknight my internal calendar isn't too robust normally, and when you mix in holidays and vacation days it gets even worse
02:32 alvis joined #parrot
02:40 schmooster joined #parrot
03:33 cotto ~~
03:37 Psyche^ joined #parrot
03:50 nbrown joined #parrot
03:53 ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); $a.sleep(0.04) } }); say $a.get() for 1..10;
03:53 p6eval niecza v13-73-g71b660d: OUTPUT«1␤␤Unhandled Exception: Unable to resolve method sleep in class ObjectPipe␤  at /tmp/blz7JHg3Tj line 1 (ANON @ 8) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤»
03:53 ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); $self.sleep(0.04) } }); say $a.get() for 1..10;
03:53 p6eval niecza v13-73-g71b660d: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $self is not predeclared at /tmp/Yv3jVf6pFO line 1:â�¤------> [32mead.new({ for 1..10 -> $i { $a.put($i); [33mâ��[31m$self.sleep(0.04) } }); say $a.get() for[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/…
03:53 ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); sleep(0.04) } }); say $a.get() for 1..10;
03:53 p6eval niecza v13-73-g71b660d: OUTPUT«1␤␤Unhandled Exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Run.Threads.C24Thread.sleep (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cur) [0x00000] in <filename…
03:53 ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); .sleep(0.04) } }); say $a.get() for 1..10;
03:53 p6eval niecza v13-73-g71b660d: OUTPUT«1␤␤Unhandled Exception: Unable to resolve method sleep in class Any␤  at /tmp/ZThyqKiA6j line 1 (ANON @ 8) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤»
03:54 sorear try CORE::sleep 0.04
03:54 sorear wait, that won't do
03:54 bacek_at_work wrong channel?
03:54 * ruoso just noticed this wasn't the query
03:54 ruoso *query window
03:54 ruoso yep.. wrong channel... sorry
03:55 sorear ruoso: seems Threading's sleep is mis-coded to only support Num; try sleep(0.04e0)
03:55 ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); Threads::Thread.sleep(0.04e0) } }); say $a.get() for 1..10;
03:55 p6eval niecza v13-73-g71b660d: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
03:55 ruoso gah... again
03:55 ruoso sorry again
05:32 jsut_ joined #parrot
07:08 Myhrlin joined #parrot
07:40 Mod joined #parrot
08:02 baest joined #parrot
08:43 mj41 joined #parrot
08:46 alin joined #parrot
08:46 alin joined #parrot
08:58 Hunger joined #parrot
09:42 lucian joined #parrot
09:59 contingencyplan joined #parrot
10:23 PacoAir joined #parrot
10:25 lucian joined #parrot
10:49 dalek rakudo/nom: 2046b9d | (Kris Shannon)++ | src/Perl6/Grammar.pm:
10:49 dalek rakudo/nom: No unspace or backslashes allowed during interpolation
10:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2046b9d7a1
10:49 dalek rakudo/nom: da49502 | (Kris Shannon)++ | src/core/Parameter.pm:
10:49 dalek rakudo/nom: Visually optimize Paramter.perl() for named parameters
10:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da49502222
10:49 dalek rakudo/nom: 1c74c72 | moritz++ | src/core/Parameter.pm:
10:49 dalek rakudo/nom: Merge remote branch 'kshannon/signature-printing' into nom
10:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c74c72b40
11:15 baest joined #parrot
11:18 bacek joined #parrot
11:37 kshannon joined #parrot
11:47 alin joined #parrot
12:56 bluescreen joined #parrot
14:56 awwaiid joined #parrot
14:56 estrabd joined #parrot
15:12 cosimo joined #parrot
15:15 cosimo joined #parrot
15:20 kshannon It'd be nice if parrot --help-debug only showed the flags which actually did stuff...
15:23 PerlJam kshannon: which flags don't do stuff?  (If you know that one of them doesn't do anything, surely you can provide a patch that labels it unimplemented or inactive or something)
15:34 contingencyplan joined #parrot
15:35 kshannon heh, PARROT_MEM_STAT_DEBUG_FLAG is currently useless,  but I'm looking into wiring up the gc_gms_print_stats to it.
15:36 kshannon I'm looking into a memory leak in rakudo and was asking parrot for memory stats and getting nothing :(
15:36 PerlJam ah.  that would be annoying
16:43 dmalcolm joined #parrot
17:58 PacoAir joined #parrot
17:59 fperrad joined #parrot
18:17 mj41 joined #parrot
18:18 contingencyplan joined #parrot
19:53 muixirt joined #parrot
19:54 muixirt hi
19:54 muixirt ping *
20:02 masak hi muixirt
20:03 muixirt masak: parrot expert? :-)
20:03 masak hardly :)
20:04 nopaste "muixirt" at 192.168.1.3 pasted "Two very small winxed code snippets with vast differences in memory consumption (no leak)" (17 lines) at http://nopaste.snit.ch/106904
20:04 PerlJam This channel is about birds right?  ;)
20:04 PerlJam muixirt: the second one eats lots more RAM?
20:05 muixirt yes, but it isn't leaking memory
20:06 NotFound The second creates a PMC on each loop iteration, no wonder it uses more memory.
20:07 lucian joined #parrot
20:07 PerlJam muixirt: are you sure it doesn't leak?  Could it perhaps leak really slowly?
20:07 muixirt NotFound: but it allocates that memory at the beginning, it doesn't eat up memory in the loop, a GC thing
20:07 PerlJam muixirt: in any case, run them with --target=mumble and see what they compile to
20:07 muixirt a GC thing?
20:08 benabik It's creating a new Integer object on every iteration of the loop.  Memory size will grow based on the number of iterations that run before GC triggers.
20:08 benabik It _should_ grow to a given size and then hold there.  And it should be much larger than the first.
20:08 muixirt PerlJam: it only contains an additional '    box $P1, 1'
20:08 NotFound muixirt: it probably allocates memory until it reaches a GC threshold. From that point, GC runs will happen frequently.
20:09 PerlJam muixirt: that can't be the only differnce.
20:09 muixirt that begs the question how to measure memory consumption better.
20:09 benabik GC runs probably won't trigger too frequently.  Each GC run should clear away a pile of Integer(1), leaving lots of unused GC space.
20:10 NotFound But that won't decreaase OS memory use.
20:10 benabik PerlJam: That should be exactly the difference.  Why should there be anything more than just a box op?
20:11 benabik NotFound: Right.  The OS memory usage should grow to the size needed between GC runs and hold more-or-less stable.
20:12 PerlJam benabik: I was thinking it has to lookup "x" and perform an assignment.  But perhaps I'm letting other programming language implementations affect my thinking too much.
20:12 benabik PerlJam: Winxed is more C-like.  Variables are registers.
20:12 NotFound If you want to optimize real code that behaves like that, use x =: 1 instead of x = 1
20:12 PerlJam benabik: ah.
20:12 benabik =: ?
20:13 NotFound =: assign to an existing PMC, = creates a new one.
20:13 benabik Oh, interesting.
20:13 NotFound =: is used to avoid fooling people used to others meanings of := and =
20:16 muixirt ok, thanks everybody for the explanations.
20:16 * PerlJam still thought "binding" when he saw =:    :-)
20:26 muixirt Winxed seems to be really good. Why didn't Winxed existed, say , ten years ago :-) the Parrot world might look different today!
20:27 NotFound muixirt: send me a fluzo condenser and I'll fix it.
20:28 muixirt :-)
20:30 muixirt will Winxed change in incompatible ways in the foreseeable future?
20:31 NotFound muixirt: I try to avoid incompatible changes as much as possible.
20:38 bacek joined #parrot
20:38 lucian joined #parrot
20:43 muixirt winxed.org is down, any other docs for Winxed other than whiteknights docs?
20:45 NotFound muixirt: no, doc is the weakes part.
21:02 snearch joined #parrot
21:09 snearch joined #parrot
21:10 snearch joined #parrot
21:11 alvis joined #parrot
22:03 donaldh joined #parrot
22:07 silug joined #parrot
22:09 muixirt NotFound: winxed -e 'var i; i =: 1'  leads to 'Null PMC access in set_integer_native()'
22:10 NotFound muixirt: you need to initialize it one time before assigning to it.
22:11 benabik var i = 0; i =: 1
22:11 muixirt Ok
22:11 NotFound If not, it's null, and you get the Null PMC access.
22:34 pjcj joined #parrot
23:06 schmooster joined #parrot
23:21 muixirt will the pbc format ever get stable and version/platform independent?
23:46 kshannon Re: 5b125a1 | NotFound++ | src/extend.c: | fix bug in Parrot_ext_try reported by kshannon++
23:47 kshannon Should Parrot_ext_try also be popping runloops?
23:48 kshannon I needed to do that in nqp.git for a c exception handler (b9c26a)
23:49 kshannon If Parroy_ext_try also peeled runloops,  I could have used it.
23:53 whiteknight joined #parrot
23:54 NotFound The C handler doesn't already pop it? I've not looked at it since long time.

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

Parrot | source cross referenced