Parrot 1.9.0 "Blue-fronted Amazon" released! | parrot.org | Priorities: Add deprecations for 2.0; test platforms; check with HLL implementors | Roadmap: icanhaz.com/parrotroadmap | Latest modified TT's: icanhaz.com/parrotbugs
Set by moderator on 9 January 2010.
00:24 cconstantine joined
dalek nxed: r363 | julian.notfound++ | trunk/examples/jsonread.winxed:
fix example jsonread
00:29
nxed: r364 | julian.notfound++ | trunk/winxedst0.cpp:
stage 0: add predef ord, optimize mul for integer literals
00:33
nxed: r365 | julian.notfound++ | trunk/winxedst1.winxed:
stage 1: predefs compreg and load_language, optimize mul for integer literals,
00:38
nxed: r366 | julian.notfound++ | trunk/examples/xlibtest.winxed:
improve xlib example
00:55 abqar joined 01:05 bacek joined
dalek kudo/master: 726b83a | (Solomon Foster)++ | (3 files):
Get master working with Parrot HEAD. Patch from Vasily Chekalkin.
01:11
01:28 cconstantine joined 02:07 slavorg joined 02:14 amuck joined, kid51 joined
kid51 jeez, has it been quiet here this week/month/weeks since last release! 02:15
GeJ blame it on global warming. It's way too hot to do anything productive. 02:17
kid51 Actually, in most of NA and Europe we've been freezing our cojones off! 02:18
Those few of us who started with any cojones ;-)
GeJ A coworker of mine just returned from one month in France. Boy was he happy to be back. 02:20
Weather forecast anounces that it'll be ~80ļæ½F tonight. That's the annoying part. 02:23
I don't mind a hot day, but I like my nights cool. 02:24
Parrot's next release is scheduled for this week, right? 02:28
kid51 Yes, this tuesday 02:39
Crude measure of (in)activity: 2009-11-15 to 2009-12-14: 450 commits to trunk -- but only 194 to date since then
GeJ? Do you know anything about PMC stuff like PARROT_ASSERT? 02:40
GeJ I'm totally igorant on the subject. Sorry. 02:41
kid51 Anybody on channel who can comment on trac.parrot.org/parrot/ticket/1382#comment:3 ?
GeJ: Have you been submitting smoke reports? On BSD? 02:46
GeJ yup, I did a couple of them last week. 02:47
kid51 Bravo! Was that FreeBSD?
GeJ Although, I suspect I'm not the only one. After I submitted two of them I went to the web interface only to discover that the last 3 smoke tests were on FreeBSD. 02:48
02:48 abqar joined
GeJ Also, I'm starting to scratch my head to update parrot for the next release. And eventually creat a rakudo port. 02:49
plobsing_ kid51: those assertions check that the pointers are aligned to a 2**n char boundary (required on some obscure platform I'm sure). on the one hand, parrot doesn't check this elsewhere; on the other, UnManagedStruct is the closest users come to directly managing pointers, so extra checks might be good. 03:00
kid51 plobsing_: Assuming that the point is to get rid of PARROT_PTR_ALIGNMENT (and enable us to get rid of config step auto::alignptrs), what would be the safest way to rewrite lines 188 and 202 in src/pmc/unmanagedstruct.pmc 03:05
?
plobsing_ well, I'm not certain of the specific requirements, but I would guess that the required alignment is platform-specific 03:06
kid51 i.e., as an alternative to simply deleting those lines (which appears to cause no harm in that branch), what would you do?
plobsing_ to get the information required for that check, you'd have to probe the platform for minimum pointer alignment (which is what auto::alignptrs does AFAICT) 03:07
we could say: if you run a platform that breaks if you access pointers that aren't aligned and you break it using UnManagedStruct, that's your fault 03:08
in a way, UnManagedStruct is part of the escape hatch of the VM abstraction
kid51 What's the significance of this part of those lines: (PTR2INTVAL(p)
PTR2INTVAL(p)
plobsing_ thats a cast from pointer to integer, in a very (overly maybe?) general, safe way. 03:09
kid51 ok. Now, what's PARROT_ASSERT
plobsing_ abstraction over assert()
kid51 Is assert() a C function? 03:10
plobsing_ yes. panics if its argument isn't true
kid51 May I paraphrase you in the TT? Am seeking comments from all knowledgable sources. 03:19
plobsing_ sure. I don't know when I became a knowledgable source though. 03:20
kid51 Thanks. 03:26
kid51 must sleep
purl $kid51->sleep(8 * 3600);
03:42 mtk joined, mtk left 03:53 bacek joined
GeJ G'Day bacek 03:56
04:05 sjn joined 04:07 abqar joined
GeJ Whiteknight ? 04:13
purl Whiteknight is mailto:wknight8111@gmail.com or the grand master funk or wknight8111.blogspot.com/
05:25 cognominal joined 05:38 Essobi joined 05:47 chromatic joined 05:59 bacek joined 07:17 uniejo joined 07:42 iblechbot joined 08:32 fperrad joined 09:19 davidfetter joined 09:25 AndyA joined 09:42 AndyA_ joined 09:45 AndyA_ joined 09:52 AndyA joined 10:14 gaz joined 10:33 bacek joined, payload left 10:39 payload joined 10:54 cognominal joined 11:41 bluescreen joined 11:44 bluescreen joined 11:54 payload joined 11:59 cconstantine joined 12:14 payload joined 12:25 cconstantine joined, cognominal joined 12:30 ruoso joined 12:43 payload joined 12:51 mariano__ joined 13:32 mariano__ joined 13:43 tetragon joined 14:45 davidfetter joined 14:59 PacoLinux joined 15:06 iblechbot joined 15:08 Andy joined 15:11 plobsing joined 15:33 pmichaud joined 15:34 pmichaud joined 15:42 payload joined 15:50 Psyche^ joined 16:16 ash_ joined, darbelo joined 16:50 jsut joined 16:59 plobsing joined 17:05 NotFound joined 17:11 whiteknight joined 17:26 plobsing joined 17:38 smash joined
smash hello everyone 17:38
cotto_w0rk hi smash 17:40
whiteknight hello smash, cotto_w0rk 17:51
davidfetter olĆ” smash
18:04 theory joined, chromatic joined, confound joined 18:06 confound joined 18:16 confound joined 18:41 joeri joined, gaz joined 18:55 confound joined 18:57 ash_ joined 18:58 ash_ joined, confound joined 19:40 redbrain joined 19:43 Zak joined 19:59 canhope joined 20:03 ash_ joined 20:31 AndyA joined 20:33 payload joined 20:40 jan joined 20:46 cognominal joined 20:47 cognominal joined 20:48 plobsing joined
GeJ Good morning everyone! 20:58
dammit! 21:00
cotto_w0rk good morning to you too 21:03
;)
21:05 mariano__ joined
GeJ Hiya cotto. 21:14
It's just I wanted to catch whiteknight and he left before I had the chance to ping him.
cotto_w0rk It's so quiet. I'm tempted to break the build just to generate some noise.
maybe after the release is cut 21:19
21:36 Andy joined 21:40 cognominal joined 21:46 AndyA joined 21:50 smash joined
smash hello everyone 21:50
everyone hello smash
darbelo ;)
21:56 Andy_ joined 21:59 patspam joined 22:20 Whiteknight joined
Whiteknight how we doing for the release? 22:21
22:22 plobsing joined
darbelo OpenBSD is failing t/pmc/io.t test #22 22:22
But only in 'make test' prove doesn't show it. 22:23
Whiteknight urg 22:28
darbelo backtrace at nopaste.snit.ch/19292 22:29
I dislike backtraces that end with a call to memmove() 22:32
Whiteknight when did yeah, srsly 22:33
darbelo But then OpenBSD's utterly paranoid memory management means I get more of those than everyone else. 22:35
And, I think... I fixed it?
Whiteknight: nopaste.snit.ch/19293 22:37
Does that make sense to you?
Whiteknight reasonable 22:40
purl reasonable is definitely not sungo.
Whiteknight I would need more time to really evaluate it
darbelo The surrounding code points to that. (fetch _next, memmove() to _start, increment _ext?) But I find it odd that such and odd bug would only surface now. 22:43
And all other memmoves()s are done on buffer_next... 22:48
Aha! Parrot_io_flush_buffer() does a Parrot_io_set_buffer_next() to the right place. 23:06
I still wonder why this is only coming up now, however.
plobsing darbelo: how many people are currently using Parrot for heavy IO? 23:07
that might explain how this bug went undetected
darbelo I'm not doing heavy IO eoither, and it hasn't bit me before. 23:08
plobsing what baffles me is how buffer_start comes out of sync with where the filehandle's buffer is. 23:11
darbelo Yeah, in particular as Parrot_io_flush_buffer() sets buffer_next (which works) to be tha same as buffer_start (which explodes) 23:14
*something* makes the pointer stored in the PMC change. But I can't find what it is. 23:16
plobsing could you step through with gdb? 23:17
it's 100 lines, but most of it is conditionals that won't get taken
darbelo Not really, it only gets triggered on 'make test'. I can't make it happen out of the test harness. 23:18
plobsing can't you run parrot with the same flags? 23:19
darbelo AFAICT I have.
plobsing darbelo: are you running the test suite in parallel? sometimes thread pressure has caused some tests to fail for me (though those were mostly threading-related)
darbelo nopes, just plain ol' "make test" 23:20
Hmm, gimmie a sec. I have an idea. 23:22
23:22 kid51 joined
kid51 reads backscroll 23:24
darbelo: the behavior you were describing in t/pmc/io.t on OpenBSD earlier sounds a lot like the "happens during make test but not prove" behavior we saw in the early stages of this ticket: trac.parrot.org/parrot/ticket/1393 23:26
What happens if you run: perl t/harness --gc-debug t/pmc/io.t ? 23:27
darbelo kid51: works fine. 23:28
kid51 That's with or without your patch in nopaste.snit.ch/19293 ? 23:31
darbelo both :)
kid51 Hmm, scratch that hypothesis :-( 23:32
plobsing what does --running-make-test do? 23:33
darbelo makes the test fail for me, apparently. 23:34
nopaste.snit.ch/19294 23:35
But it doesn't happen on every run. That was throwing me off. 23:39
Which means that my fix was wrong. 23:40
It's the buffer that's pointing into never-never land.
My guess is that the string pool is getting compacted from under us. 23:41
plobsing yay! more gc "fun"
darbelo The io functions like to play with raw pointer into strings.
plobsing darbelo: run the test with '-R gcdebug' 23:42
nopaste "kid51" at 70.85.31.226 pasted "Instances of running-make-test and running_make_test" (10 lines) at nopaste.snit.ch/19295
"kid51" at 70.85.31.226 pasted "Instances of running-make-test and running_make_test" (10 lines) at nopaste.snit.ch/19296 23:44
23:44 preflex joined
kid51 What I'm unclear about is this line in t/harness: $ENV{RUNNING_MAKE_TEST} = $longopts->{running_make_test}; 23:45
I don't know what setting that environmental variable does. 23:46
plobsing kid51: yeah, I don't see any effect it should be having on TAP::Harness 23:47
kid51 And I doubt this inline comment in config/gen/makefiles/root.in: # The --running-make-test argument is currently used by long-running tests to disable GC_DEBUG.
plobsing remove it and see what breaks (post-2.0) 23:48
kid51 Googling RUNNING_MAKE_TEST only brings up Parrot links -- many of them by me! 23:50
So it doesn't appear to have anything intrinsically to do with 'make'.
kid51 will create branch to explore this 23:51
23:55 cconstantine joined