Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: write GettingStartedWithPlumage, review html documentation, test HLLs, review deprecations | no major changes after Tuesday, only critical fixes and documentation updates after Friday
Set by moderator on 12 January 2011.
kid51 The other one: trac.parrot.org/parrot/ticket/1957 reported today; apparently my error; I have posted patch; awaiting his response; if favorable, do we apply before 3.0? 00:00
tadzik ho, there's much more added in nqp-rx that I did add 00:01
nwellnhof whiteknight: to capture stdin, stdout and stderr of exec'ed processes we should use something like OSProcess which i sketched in ideas in IOTasklist. for other things, we should use sockets.
tadzik but that may be due to lack of distutils there 00:02
dukeleto tadzik: yep
tadzik: the file examples/io/post.pir in the parrot repo will post to smolder correctly, perhaps you can use that to debug your issue 00:03
tadzik: if you add the feature that it takes a file name as the first argument, i would merge that pull request, hint hint ;)
tadzik: i am not sure if something is messed up with smolder. if you are having the same problem as me, that leads me to think smolder is at issue 00:04
cotto_work kid51: +1 to 1957
dukeleto tadzik: let me know what you find out
tadzik bah, can I take a further look tomorrow? The interesting stuff is happening when I gotta go sleeping :/ 00:05
I can post the so-far-patch
dukeleto: ^ 00:07
dukeleto: wklej.org/id/456079/txt/ that's what I got, sorry, but I really need to get some zzzz 00:10
tadzik sleeps, goodnight Parrots! 00:11
00:17 Kristaba left
kid51 whiteknight: ping 00:18
00:32 kid51 is now known as kid51_at_dinner 01:00 theory left
dukeleto cotto_work: the tree-optimization library has a LICENSE file with Artistic 2.0. is everyone cool with that? 01:01
dalek ee-optimization: cced99d | dukeleto++ | README:
Add a basic README
01:02
01:09 Yuki`N left
cotto_work dukeleto: why would that be an issue? It's the same as Parrot. 01:09
dalek rrot: edad062 | nwellnhof++ | src/io/buffer.c:
[io] Try to handle corner case with readline, pipes and multi-byte encodings

It'll be fun to write test that reliably triggers this code path.
01:26
dukeleto cotto_work: just checking 01:31
dalek ee-optimization: e6fcac4 | dukeleto++ | README:
Make README a bit more useful
01:39
01:40 kid51_at_dinner is now known as kid51
nwellnhof whiteknight: have a look at IPC::Run for how we should handle spawning processes: search.cpan.org/perldoc?IPC::Run 01:43
01:45 gbacon left
whiteknight kid51: pong 01:47
nwellnhof: I don't care what we use for it. Whether we call it Pipe or OSProcess or whatever. So long as we eventually have a tool for doing bidirectional communications with a foreign process 01:48
nwellnhof: your sketches on the tasklist page look good to me
msg kid51: That ticket was probably a mistake. I didn't mean to take it from you. Happened in a flurry of activity. You can take it back or I can assign it back to you 01:49
aloha OK. I'll deliver the message.
whiteknight cottow_work, dukeleto: Didn't we want to merge tree-optimization into the master repo? 01:50
01:50 plobsing joined
nwellnhof whiteknight: i'd like to get rid of overloading FileHandle.open with IPC functionality. that's an ugly Perl5ism. 01:50
whiteknight nwellnhof: yes. That's why I suggested Pipe. Wherever we move it is fine, so long as it doesn't stay in FileHandle 01:51
kid51 whiteknight: If you have some thought on what we should do, please post in ticket. But you can assign it back to me in any event.
We're getting a variety of smolder test failures: different on different platforms 01:52
t/dynpmc/debug.t on Darwin/i386
t/src/atomic.t on Linux
whiteknight t/dynpmc/debug.t is failing on windows too. I suspect that test is bad
We may want to TODO those failures for now
the t/src/atomic.t ones seem to happen when built without certain libraries. We may want to TODO those as well
I suspect the atomic.t tests aren't useful now anyway, since we don't have robust threading 01:53
nwellnhof whiteknight: i don't like the name "Pipe". it stems from using the pipe system call before fork/exec, but that's an internal UNIX thing.
whiteknight right. I don't care what it's called 01:54
PinkBunnySlippers for all I care
kid51 non-ascii characters: # Failed to build 't/src/atomic_3.o': t/src/atomic_3.c: In function ‗mainā€ƒ:
nwellnhof whiteknight: i had a look at t/dynpmc/debug.t. it has to do with readline, output buffering and tty assumptions that break on windows. we should todo it on windows. 01:55
whiteknight nwellnhof: yes, that's my opinion of it too 01:56
kid51 the majority of the 20 most recent smolder reports are showing failures
whiteknight dukeleto has that smoker from the GCC compile farm exercising several infrequently-used configure options 01:58
kid51 the t/dynpmc/debug.t failure is from a friend of mine whom I've persuaded to do smoke testing on Darwin/i386. That's not an old failure, AFAICT. 01:59
dalek ee-optimization: 2076796 | bacek++ | t/tree-optimizer.t:
Fix test to run on modern parrot
02:00
dukeleto whiteknight: yep :) Let me know if you want more 02:02
dalek ee-optimization: 0081995 | dukeleto++ | setup.nqp:
Add smoke target to setup.nqp, tadzik++

This doesn't seem to be working yet, but looks to be a problem with Smolder.
02:04
kid51 Correction: the name of that test is: t/dynoplibs/debug.t 02:05
whiteknight kid51: t/src/atomic.t is an invalid test if configured with --without-threads 02:13
so the task here is to figure out how to skip those tests if --without-threads 02:14
kid51: I assume there is going to be something in Parrot::Config that contains this information? 02:15
cotto ~~ 02:24
whiteknight looks like the HAS_THREADS flag in parrot_config has the info we need in that test 02:26
no, I was wrong. HAS_THREADS is '1' whether we have --without-threads or not 02:32
okay, if the test is bad, and there's no good way to conditionally skip it, I say we uncondtionally skip it 02:34
dukeleto whiteknight: sounds good for now 02:36
and perhaps create a TT to create something useful in parrot_config for figuring out with/without threads
whiteknight okay, what's the perl5ese for "skip this whole damn file"?
I'll create the ticket if you can figure out how to skip that file 02:37
cotto whiteknight, git rm 02:38
whiteknight not a bad idea 02:42
kid51 whiteknight: vi +40 config/auto/thread.pm
dukeleto whiteknight: skip_all 02:44
whiteknight is going to bed now 02:47
02:48 whiteknight left
dalek TT #1959 created by whiteknight++: Configure flag for --without-threads 02:49
TT #1959: trac.parrot.org/parrot/ticket/1959
TT #379 closed by cotto++: Generate POSIX errno Constants
TT #379: trac.parrot.org/parrot/ticket/379
cotto Does anyone know what the S_SPLINT_S macro indicates? 02:53
02:54 theory joined
cotto nm. found it 02:54
plobsing, ping 03:04
03:12 mtk left, theory left
dalek rrot: f9dc2d1 | jkeenan++ | t/steps/auto/thread-01.t:
Test config/auto/thread.pm more thoroughly.
03:19
plobsing cotto: pong 03:34
03:38 kid51 left
dalek TT #1960 created by bacek++: make install doesn't update libparrot.so symlink. 03:38
TT #1960: trac.parrot.org/parrot/ticket/1960
cotto plobsing, is PARROT_CATCH_NULL necessary for splint? 03:39
plobsing I don't know much about splint. That's Andy's domain IIRC. 03:40
cotto git blames you for adding some macros related to it in include/parrot/interpreter.h 03:41
plobsing yeah. that was for stringnull.
just cargo culted from pmcnull
I'm not entirely certain of the value of splint's null-checking.
cotto ok
03:41 nwellnhof left
plobsing as implemented, it requires PMCNULL and STRINGNULL be NULL and then flags functions which don't declare they are expecting these. 03:42
however, the way these work in practice, most functions don't have to be aware of them if they just pass them through
we have complex support code for all this. ARGIN vs ARGIN_NULLOK, etc... for something that no longer should cause segfaults 03:43
of course, like I said before, I am not our splint expert, and therefore I could be totally wrong. 03:44
cotto ok. I'll verify with andy before it gets ripped out.
It's not messing anything up. 03:45
sorear lester or dougherty?
cotto lester
aka petdance
plobsing sorear: I used only the first name intentionally :)
cotto seen jvd 03:52
aloha Sorry, I haven't seen jvd.
cotto msg kid51 +1 to apply the 1950 patch to fix pbc_disassemble. 05:19
aloha OK. I'll deliver the message.
05:46 rurban_ joined 05:48 rurban left, rurban_ is now known as rurban 07:16 contingencyplan left, cognominal left
dukeleto ~~ 07:49
tadzik ~~ 07:50
dukeleto: how are the smoke targets?
dukeleto tadzik: i applied your patch, but something is still borked with smolder 07:52
tadzik: i sent in a support ticket to OSUOSL to get the smolder logs
GeJ hum... These are going to be three interesting days. 07:59
meteo.nc/prod/cyclones/sata_QDEA01N...1606729274 08:00
Oops, wrong channel. Please ignore this. 08:01
cotto dukeleto, you should make sure "deprecations as data" doesn't die. 08:04
also, alliteration
dukeleto cotto: yes, i need to get on that train
cotto I imagine you have many such trains. 08:05
dukeleto cotto: they all keep going in different directions
cotto: what is the first useful feature that "DaD" can implement? 08:06
cotto I'm learning that I can pretty easily spend all my time doing project-related stuff and end up hardly looking at code.
dukeleto cotto: yea, GSoC and GCI taught me that :)
cotto: i am noticing odd stuff in our vtables 08:09
dalek rrot/leto/embed_grant: b970e1a | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_(absolute|add_float|can)
cotto I'll have to think about what the simplest possible useful thing DaD could provide.
dukeleto cotto: cmp, cmp_num and cmp_pmc all have the same function signature
cotto dukeleto, there's no end
...
dukeleto cotto: which seems pretty odd to me
cotto: look at src/vtable.tbl 08:10
cotto: they are all the same
cotto: why?
cotto It seems to be implemented as a MULTI in some of the numeric PMCs.
dukeleto oh yes! MULTIs make things make sense again.
dukeleto was worried for a sec
cotto it's also a VTABLE sometimes 08:11
dukeleto cotto: do you have a ranked list of stuf that you are hacking on?
cotto: i certainly need one
cotto I did but it's probably stale. 08:12
very good idea, especially if something on it is half-done and begging to get finished
dukeleto cotto: yes. i am thinking that it is useful for team leaders to have such a list
cotto It would be very nice to get consistency in VTABLE function naming and usage.
dukeleto cotto: then we can easily point to stuff for people to hack on, that want to join a team 08:13
cotto I like. 08:14
dukeleto cotto: we need a DaD spec and we need a script to convert DEPRECATED.pod into a datastructure
cotto: i will try to add notes to the TT 08:17
cotto ok. It's probably most important to get the goal down so that some interested hacker can figure out how to fill in the gaps. 08:23
dukeleto cotto: we don't have any milestones past 2.11 in trac.
cotto: i was going to mark DaD as something we want for 3.3 08:24
cotto sounds reasonable. Did you read kid51++'s thoughts about roadmaps? He recommended that we require all milestones have 2+ people committed to delivering them. 08:28
dukeleto cotto: yes, i read his blog posts 08:29
cotto: i think i agree with him
cotto: writing down wishes that don't have a chance of making happen gets people frustrated 08:30
cotto me too
I really wish I didn't need to go to sleep, but that doesn't make it true.
dukeleto cotto: ok, we shall talk in the morrow 08:31
cotto 'night
also, think about who you'd delegate stuff to. Not enough of that is happening.
DaD seems like a great thing to do that with. 08:32
'night (for real this time)
dukeleto tadzik: ping 08:33
dalek rrot/leto/embed_grant: 378e023 | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_does
08:34
rrot/leto/embed_grant: f1426b0 | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_get_class
08:42
08:45 cognominal joined 08:59 TiMBuS left 09:00 TiMBuS joined
dalek rrot/leto/embed_grant: 254d53b | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_is_equal_num
09:28
rrot/leto/embed_grant: eb9ad12 | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_(is_same|is_equal_string|cmp_num|cmp_string)
rrot/leto/embed_grant: e1c851b | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_i_divide
rrot/leto/embed_grant: 61c37da | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_visit
rrot/leto/embed_grant: 90aeef2 | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_(type|get_bool|set_bool)
09:33 bacek left 09:39 fperrad joined
tadzik dukeleto: pong 10:36
10:53 janus left, janus joined 11:01 simcop2387_ joined 11:02 simcop2387 left, simcop2387_ is now known as simcop2387 12:37 mtk joined 12:53 bacek joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#2618) fulltest) at 2_11_0-1108-gf9dc2d1 - Ubuntu 10.10 i386 (gcc-4.5) 13:00
g++ build is failing t/src/embed.t 13:01
dalek rrot: a88a9d9 | jkeenan++ | / (2 files):
Fix overriding of command-line option for optimization level.

Cf.: trac.parrot.org/parrot/ticket/1957.
13:12
13:15 kid51 joined
kid51 msg cotto Can you comment on trac.parrot.org/parrot/ticket/1950? Should we apply before 3.0? 13:15
aloha OK. I'll deliver the message.
13:22 kid51 left
Coke t/src/embed.t is causing a lot of smoke, is someone looking at that? 13:25
kid51 - didn't he say go for it in backscroll?
dalek TT #1957 closed by jkeenan++: Configure.pl ignores argument given to --optimize 13:30
TT #1957: trac.parrot.org/parrot/ticket/1957
TT #1925 closed by jkeenan++: remove config step auto::jit
TT #1925: trac.parrot.org/parrot/ticket/1925
TT #1953 closed by doughera++: platform/generic/env.c incorrectly frees string passed to putenv()
TT #1953: trac.parrot.org/parrot/ticket/1953
TT #1952 closed by doughera++: t/src/misc.t tests 1 and 2 fail under C89 compiler
TT #1952: trac.parrot.org/parrot/ticket/1952
13:36 whiteknight joined 13:50 rurban left 13:52 rurban joined
whiteknight good morning, #parrot 14:05
14:14 plobsing left 14:35 plobsing joined
whiteknight plobsing: ping 14:35
14:59 contingencyplan joined
dalek rrot: 2ca82d9 | jkeenan++ | / (2 files):
TT #1950: Applying updated patches from doughera++.

See: trac.parrot.org/parrot/ticket/1950.
15:19
TT #1950 closed by jkeenan++: pbc_disassemble dumps core on illegal options 15:25
TT #1950: trac.parrot.org/parrot/ticket/1950
15:32 gbacon joined 15:44 plobsing left 16:01 plobsing joined 16:13 whiteknight_ joined 16:14 plobsing left 16:17 whiteknight left, whiteknight_ is now known as whiteknight 16:19 plobsing joined 16:31 plobsing left
dukeleto ~~ 16:38
whiteknight good morning, duke 16:46
dukeleto whiteknight: mornin'! What are you hacking on today? 16:50
whiteknight you'll see...
dalek rrot/imcc_interp_code: fa6d538 | plobsing++ | src/packfile/api.c:
make sure initial_pf is in place whenever we build default segs
16:51
rrot/imcc_interp_code: 223076f | Whiteknight++ | src/packfile/api.c:
merge in plobsing++'s commit to ensure we have an initial_pf
rrot/kill_packfile_new_dummy: 9d9cd51 | Whiteknight++ | src/ (2 files):
We always need an initial_pf, so just create it when we initialize the interpreter. Then we don't need to be checking for it later
rrot/kill_packfile_new_dummy: fc0f759 | Whiteknight++ | / (5 files):
Add some accessors for interp->initial_pf and interp->code to the packfile API. Add a new function to set a packfile as the itnerp's current packfile. Use this new function to reimplement Parrot_pbc_load, and replace several uses of Parrot_pbc_load with Parrot_pf_set_current_packfile. While I'm there, use some proper values for Exception type in embedding api
rrot/kill_packfile_new_dummy: 21b259b | Whiteknight++ | / (5 files):
create a new function Parrot_pf_create_default_segments to start replacing PF_create_default_segs. Add a new parameter to PF_create_default_segs that forces us to update interp->code, so we don't need to do the assignment in IMCC
rrot/kill_packfile_new_dummy: 8a84768 | Whiteknight++ | compilers/imcc/pbc.c:
remove all instances of 'interp->code' from compilers/imcc/pbc.c. Replace it with the new accessor functions. Don't look it up in the various static functions, instead pass a reference. In reality, many of these need a reference to PackFile_ConstTable instead of PackFile_ByteCode instead.
rrot/kill_packfile_new_dummy: c846413 | Whiteknight++ | compilers/imcc/parser_util.c:
remove all instances of interp->code from compilers/imcc/parser_util.c. Replace with accessor functions
rrot: 2511592 | nwellnhof++ | src/io/core.c:
[io] Hopefully make Win32 sockets work again
whiteknight nwellnhof: I'm on windows, if you need something tested 16:53
16:58 nwellnhof joined
nwellnhof whiteknight: can you test master on windows and comment out the skip in t/pmc/socket.t? that would be great. 16:58
nwellnhof: turns out that i broke the windows socket code. fperrad++ for bisecting. 17:00
but now we should have a useful test at least.
dukeleto yay, tests! 17:02
nwellnhof that reminds me to checkout the coverage reports... 17:04
src/io/socket_api.c: from 29.7% to 81.2% 17:05
src/io/socket_unix.c: from 21.3% to 75.6%
src/pmc/socket.pmc: from 31.2% to 45.3% 17:06
17:09 mtk left
whiteknight nwellnhof: test passes without the skip 17:09
nwellnhof++
17:09 mtk joined
dukeleto nwellnhof: i have a branch that adds ipv6 and various tests to socket.pmc 17:10
nwellnhof: looks like it will be fun to merge :)
nwellnhof whiteknight: thanks for testing
dukeleto nwellnhof: github.com/parrot/parrot/tree/tt1798_ipv6 17:11
nwellnhof: it definitely needs some love
tadzik: ping
nwellnhof dukeleto: having a look at it right now 17:12
dukeleto nwellnhof: someone dumped a huge patch on us that added ipv6, but had no tests, so I applied it in that branch and started adding tests and making it work 17:13
nwellnhof: but then got distracted by other shiny things
nwellnhof: feel free to hack on that branch if it interests you 17:14
17:14 plobsing joined
whiteknight I would very much like to see IPv6 support in Parrot proper 17:15
nwellnhof dukeleto: it will be a bit of work to merge tt1798_ipv6 and platform_src, but it shouldn't be too bad.
we should also have good chances to get IPv6 working on windows without much effort, then 17:18
17:23 theory joined
dukeleto nwellnhof: i wonder what merge strategy will lead to the fewest conflicts. I branched tt1798_ipv6 quite a while ago 17:23
whiteknight: yes, me too. I figure we will get an influx of IPv6 hackers if we have basic support for it
nwellnhof dukeleto: i have no idea. i never played around with different merge strategies. 17:24
dukeleto nwellnhof: i am talking about "merge tt1798 first, then platform_src" or merging platform_src and tt1798_ipv6 or ....
nwellnhof dukeleto: good question... 17:25
dukeleto nwellnhof: how close is platform_src to being mergable? 17:26
nwellnhof dukeleto: pretty close. but i'd like to merge it after 3.0 17:27
PerlJam random branch question: Is someone going to clean up old branches at some point? Currently there appears to be 84 different branches. That number only seems to increase. 17:29
dukeleto nwellnhof: of course. No more merges before 3.0 17:37
PerlJam: are you volunteering ? :) 17:38
PerlJam dukeleto: the problem is that I wouldn't know what to keep and what to throw away.
dukeleto PerlJam: old branches are a form of history. I know that some will never be merged, but there is probably something around 20 branches that should be merged
PerlJam: are you willing to volunteer to ask parrot-dev which branches people want to see merged, and which are for historical purposes? 17:39
PerlJam: we could move historical branches to a different naming scheme, like branch foo becomes historical/foo or something like that
PerlJam: so it is more obvious in our branch list 17:40
whiteknight I don't think there really should be too many of those
if any
dukeleto whiteknight: many of what?
whiteknight I've been trying to delete old branches which have already been merged
dukeleto: historical branches
dukeleto whiteknight: we had at least 30 branches that come over from subversion
whiteknight: i don't see those getting merged soon
but i would love to be proved wrong 17:41
whiteknight gsoc_past_optimization can go away now that tree-optimizations is it's own repo? 17:42
any branch that's more than 5000 commits behind master is extremely suspect and can probably be deleted 17:43
dukeleto whiteknight: i think we should ask the community what we should do with really old branches. I am fine with them staying there for historical purposes 17:44
whiteknight: i think gsoc_past_optimization can go away, but I am not 100% sure
whiteknight they are cluttering the interface at github
that may not be a huge problem
dukeleto whiteknight: i hear ya
whiteknight: the problem of having too many branches is a lot better than the problem of having not enough :) 17:45
PerlJam apparently has a bunch of dead branches in his local clone 17:47
dukeleto: What are these "historical purposes" exactly? What utility are they? 17:48
whiteknight I'm going to deal with exceptions_refactor and exceptions_refactor_merge soonish myself
17:49 davidfetter joined
whiteknight dukeleto: What's the story with fix_git_info_cache? 17:49
dalek rrot/kill_packfile_new_dummy: c8856ce | Whiteknight++ | compilers/imcc/pbc.c:
remove instance of interp->initial_pf from compilers/imcc/pbc.c
17:50
dukeleto whiteknight: i have no clue off the top of my head, but I probably created the branch, by the way you are asking :) 17:51
whiteknight yeah
:)
dukeleto looks 17:52
whiteknight I'm going to merge in the readme translation branches, and move all the translated readmes into a translations folder until we figure out how to deal with them 17:55
at the very least, I think we should keep them all together for now
davidfetter anybody going to be at FOSDEM this year? 17:56
btw, i've gone and rooted my android device. is there some parrot thing i can play with on it? 17:57
dukeleto davidfetter: where is it again?
davidfetter: download and install SL4A
davidfetter: which allows you to run interpreted language scripts on your android
davidfetter: currently Python, Ruby, Perl 5, JS and Lua are supported, i think
whiteknight: +1 to that 17:58
davidfetter brussels, and i'll give it a whirl, respectively :)
whiteknight e doincoming 17:59
incoming
dalek rrot: 5ec8f63 | Whiteknight++ | / (6 files):
move translated README files into a dedicated translations directory for now, while we figure out what to do with them
rrot: 73bea86 | Whiteknight++ | README.Š±ŃŠŠ»Š³Š°Ń€ŃŠŗŠø:
Merge remote branch 'origin/bulgarian_readme'
rrot: 9f354ba | Whiteknight++ | / (2 files):
Move the bulgarian readme into the translations folder
rrot: f6d18b3 | Whiteknight++ | / (2 files):
merge conflicts
rrot: 8e61602 | Whiteknight++ | / (2 files):
move ptBR README to translations folder
rrot: a965a0c | Whiteknight++ | README.francais:
Merge remote branch 'origin/gci_french_readme'
rrot: 27f9e5c | Whiteknight++ | / (2 files):
move french README to docs/translations
davidfetter hits the deck
dukeleto, fosdem's pretty enormous, as FLOSS conferences go
whiteknight okay, I've removed 6 branches from the list. 18:04
davidfetter pruning++ 18:05
whiteknight++ :)
whiteknight The gci_fill_params_reduce branches can probably go too. I think we've decided that we won't be going in that direction
but I'll wait for that
dalek TT #1955 closed by fperrad++: socket broken on Windows 18:12
TT #1955: trac.parrot.org/parrot/ticket/1955
18:12 fbrito joined
whiteknight dukeleto: Those smolder reports from that GCC compile farm bot you set up are coming in pretty frequently. I worry that they are drowning out reports from other platforms 18:24
What we really need, I think, is a smolder-bot on windows 18:25
that's one of the platforms where we have the fewest developers working, and errors there go unreported for a long time
dukeleto whiteknight: i can make them less frequent
whiteknight: what would you like to see?
whiteknight: sadly, no windows in the gcc compile farm
whiteknight: but they are buying a darwin box with GSoC money 18:26
whiteknight dukeleto: I don't know, really. linux/x64 is probably our most stable platform by virtue of the most active developers being on there
A darwin smoker would be awesome.
dukeleto whiteknight: sure, but it is mostly the combination of compile flags that i am testing. I can run that same setup on a sparc machine in the farm, or something else
whiteknight particle suggested that he had a server we could use. Maybe we can ask him if he has windows on there
dukeleto: right 18:27
dukeleto whiteknight: also, my parrot smoker is pretty easy to setup, so I will document it soon, so others can smoke parrot from the comfort of their own machines
whiteknight dukeleto: awesome 18:28
dukeleto whiteknight: i just changed the smoker to sleep 10 minutes between each build of different compile flags 18:31
18:31 jsut_ joined
dukeleto whiteknight: before it was only sleeping 30 minutes after testing every compile flag option 18:31
whiteknight: if it is still too much, just let me know
whiteknight dukeleto: It's not that these reports are coming in too quick. I just wish we had other reports coming in from other platforms at the same frequency 18:33
these reports you have set up are extremely valuable 18:35
dukeleto whiteknight: ok, i will setup another smoker on a different architecture in the farm
whiteknight dukeleto: On the second machine, we probably don't need to exercise all the configure options as diligently
dukeleto whiteknight: i hear ya, but it is easier to just do them all 18:36
whiteknight: my smoker looks for all scripts that match a pattern in a directory, and execute them all
whiteknight: each script builds parrot with different flags
whiteknight okay, that's fine too. We maybe don't need reports every 10 minutes though
18:36 jsut left
dukeleto whiteknight: 30 mins? 18:36
whiteknight yeah, 30 min should be fine
dukeleto whiteknight: that is probably more reasonable :)
dalek rrot: 1ca191d | dukeleto++ | / (3 files):
[t] Caching git describe strings

This is a fixed version of the code that was getting modly in the fix_git_info_cache branch. whiteknight++ for reminding me about it.
18:38
dukeleto modly! Darn.
dukeleto needs to start spellchecking commit messages
whiteknight: one more branch gone (i killed fix_git_info_cache) 18:39
whiteknight awesome 18:40
I'm installing OpenIndiana in a VM. I can use that for occasional smoke reports
cotto_work ~~
whiteknight good morning, cotto_work
cotto_work hi whiteknight
dukeleto src/pbc_disassemble.c:80: error: invalid conversion from ā€˜int’ to ā€˜OPTION_flags’ 18:41
whiteknight dukeleto: Where is that error happening? 18:42
dukeleto the smoker just ran into that on master
whiteknight dukeleto: in gcc or g++?
dukeleto whiteknight: g++
whiteknight we probably need a cast somewhere. I can't look at it right now 18:43
dalek rrot: d93c1fb | fperrad++ | tools/dev/fetch_languages.pl:
[languages] Cardinal moves on github.com/parrot
18:44
dukeleto whiteknight: kid51 partially undid a recent commit that fixed that
Coke (drowning out) that's crazy. more the merrier. 18:46
dukeleto Coke: yeah, you want a flood of reports? 18:47
Coke you can get an RSS feed of just-failures - we should be smoking green, so if we're just looking at failures, it doesn't matter how many OKs are coming in.
whiteknight dukeleto can turn it up to 11
Coke once the t/src/embed.t failures are fixed, that's most of it right now.
and those really need to be fixed before 3.0 anyway.
(and also the RSS feed needs to be fixed to show currect URLs) 18:49
dukeleto Coke: i can filter that RSS feeds and correct the URLs, but that is a bug in smolder
Coke smolder's on CPAN, ja?
dalek rrot: 59faf46 | dukeleto++ | / (2 files):
Fix MANIFEST
18:50
whiteknight The tests in t/src/atomic.t should be skipped unconditionally for now
actually, They probably should be deleted outright, but an unconditional skip works for now
I'll look at t/src/embed.t when I have a chance 18:51
Coke ugh, we're still caching git describe?
dukeleto Coke: yeps. I even have a commit bit to smolder on github, I think. But that doesn't mean I want to wade through that codebase
Coke: what do you mean "still" ?
Coke to get a correct git describe, you have to make realclean, last I checked.
whiteknight dukeleto: commit bit to smolder on github? I opened a pull request there like 2 months back that never got any attention 18:52
(a simple spelling/grammar fix, no code)
dukeleto whiteknight: hmm, let me check if I actually do 18:54
whiteknight: i lied. I have a fork
whiteknight: there is also the problem that OSUOSL groans every time they have to touch Smolder. Just because we fix a bug in smolder, doesn't mean we are going to be able to get that deployed 18:55
so I consider fixing Smolder a losing game
whiteknight okay
dukeleto Smolder is very hard for the admins to manage
whiteknight is there software like smolder, to host and display test reports, that isn't smolder? 18:56
dukeleto it tooks them days of debugging to install it and it's deps correctly
whiteknight if there is a better alternative, I'm not against moving
dukeleto whiteknight: there are similar things
oopsie, my last commit had an extra change in it 18:58
lets see if it fixes the g++ build 18:59
perhaps the solution to smolder is to host it ourselves somewhere 19:00
nwellnhof dukeleto: is there a way to get certain branches tested on the test farm? 19:01
dukeleto nwellnhof: yes 19:04
nwellnhof how?
dukeleto nwellnhof: you ask me and I make it happen
19:04 mikehh left
nwellnhof sounds good 19:04
nwellnhof/platform_src could need testing on any non-standard platforms. 19:05
Coke (host it ourselves) - if it's on the parrot VM at osuosl, we pretty much have root. 19:06
dukeleto Coke: well then. We need a volunteer to take charge of fixing our smolder instance, then
whiteknight What might be nice to have is a central metadata location where we can set configuration details which the various smoke bots read from
Coke er, actual root, as "sudo bash" WFM. 19:07
whiteknight so we can specify that we want to see certain tests, or certain branches, or certain extension software (on top of certain branches)
Coke (volunteer) I will add it to my list of things to think about volunteering for when time permits.
;)
dukeleto whiteknight: i like that idea 19:11
whiteknight: perhaps a YAML file in a repo that lists branches to test ?
whiteknight dukeleto: Right. We can specify the branch or a list of branches, configure flags, compiler, and other stuff (build/test nqp or rakudo, for instance) 19:12
dukeleto looks like I fixed the g++ build failure 19:15
what sucks about our smoker/smolder : build failures don't get reported
maybe I should have some email trigger when a build fails 19:16
actually, i've solved this problem already
that is what jitterbug does
cotto_work looks like the Russian (?) readme translation messes up init::manifest 19:19
whiteknight bulgarian 19:22
tadzik dukeleto: pong 19:23
whiteknight we can rename it with the three-letter iso code. Looks like BGR
dukeleto cotto_work: yeah, i noticed that 19:24
whiteknight: sounds good to me
cotto_work whiteknight: +1 19:25
whiteknight it's going to take me a few minutes to make any changes 19:27
19:31 vmspb joined
dukeleto whiteknight: no rush 19:34
Coke (build failure) that's why we need taptinder. 19:44
(having one thing that did both would be nice, but having one thing for each is just peachy)
did we have anyone review the .bg translations? 19:45
whiteknight a buildbot that emailed the parrot-dev on build failure would be great
.bg translations?
Coke .bg = bulgaria
whiteknight I don't know if anybody reviewed it, no
dukeleto whiteknight: that is what jitterbug does 19:46
cotto_work whiteknight: I'm pretty sure nobody did.
whiteknight and nobody would have ever reviewed it either, it if were squirreled away in some branch 19:47
cotto_work If we can't find someone to review it, we should delete it.
though a review would be preferable
whiteknight I'm in favor of that idea. I only wanted to keep the translations in one place
19:48 ambs joined 19:50 Andy joined 19:53 hercynium joined 19:54 mtk left 19:59 ambs left
dukeleto Let's keep the translations around and ask for help. If we get totally ignored, then we can delete them. 20:03
whiteknight: which language translations need reviews?
cotto_work dukeleto: exactky
whiteknight I think french was reviewed 20:04
cotto_work *exactly
dukeleto whiteknight: yes, i think fperrad did that
20:04 tobias_tud joined
whiteknight I think the portugese one and the spanish ones were reviewed 20:04
cotto_work We need to keep better track of that. 20:05
add "reviewed by X" at the bottom or something
whiteknight installing TAP::Harness::Archive is such a damn headache 20:06
dukeleto whiteknight: can you create TTs for each translation that needs to be reviewed? 20:07
whiteknight: can we remove that dep, please?
whiteknight I'll look into it
20:07 KatrinaTheLamia left
whiteknight dukeleto: I would be happy if that dep were removed, but what are we going to replace it with? 20:07
we can't just break smolder
dukeleto whiteknight: distutils knows how to post to smolder, without TAP::Harness::Archive
whiteknight: distutils uses fperrad's PIR harness, which has a --archive option 20:08
whiteknight dukeleto: Right, so we're going to use a parrot-based utility to post parrot's build and test reports?
dukeleto whiteknight: i hear what you are thinking
whiteknight if Parrot fails to build, or is so buggy that it doesn't run tests, we're not going to get any reports
dukeleto whiteknight: if parrot fails to build, can't submit smoke
whiteknight in those cases, I guess we could use curl or something to post an alert somewhere 20:09
dukeleto whiteknight: we can fall back to Perl when Parrot doesn't build
cotto_work That can work if we use a known-good installed Parrot to test the version under test.
dukeleto whiteknight: it would at least allow people without TAP::Harness::Archive to submit test reports
whiteknight: as long as the build worked
whiteknight: if the build failed, you can't submit a smoke report anyway 20:10
whiteknight: know what I am sayin' ?
whiteknight okay
dukeleto we need some volunteers
these are good projects for people who want to get to know our test/build subsystems 20:11
whiteknight: you are busy with packfile stuff and the new embed api and probably 7 other branches
we need to delegate some of this stuff
atrodo delegate++
dukeleto has a pile of parrot-related projects so high that it has it's own weather patterns 20:12
Coke installing TAP::Harness:Archive is not a major hurdle, IMO. 20:13
(cpanm, done.)
whiteknight Coke: I've been working at it for ~30 minutes now
dukeleto whiteknight: you need local::lib and App::cpanminus 20:14
Coke whiteknight: do you have cpanm?
whiteknight dukeleto: It would take me forever to even get those thigns
Coke: I doubt it
Coke dukeleto: I use perlbrew, but that works too.
dukeleto Coke: i agree with you for people like us, but for the average user who doesn't know about local::lib and App::cpanminus, installing CPAN modules is a pain
Coke types "cpanm TAP::Harness:Archive", and it all JW. 20:15
whiteknight <-- average user
dukeleto whiteknight: cpanminus --installdeps . # install all perl deps that the current directory needs
whiteknight: cpanm, actually
it is called cpanminus, the binary is called cpanm
whiteknight dukeleto: if I have or can get cpanminus, that sounds great 20:16
Coke it's just cpan with smarter defaults.
dukeleto whiteknight: cpanmin.us
whiteknight: github.com/miyagawa/cpanminus/raw/master/cpanm
Coke OOC, what is taking you so long? is it answering the questions about dependencies?
dukeleto whiteknight: wget that file and chmod +x and you are ready to rock
cpanm is about 50 times faster than CPAN.pm or CPANPLUS 20:17
because it doesn't read CPAN indexes
whiteknight I tried to install TAP::Harness::Archive, and it gets all the way to the end before it tells me that I need Module::Builder
dukeleto whiteknight: install cpanminus and let it do all the work
whiteknight so I "install Module::Builder" and that takes forever. But there are problems with the lockfile
so I have to exit cpan, fix some lockfile crap, go back into cpan, try to install Module::Builder again
dukeleto Coke: this is what happens for the average person. I know because my coworkers run into the same problems and don't know what to do. 20:18
whiteknight and some of the modules are failing tests. So I have to go back and either force install them, or try and diagnose. and I am bad at diagnosing perl problems
dukeleto whiteknight: you can also force an install without testing
whiteknight: which is a lot faster :)
cpanm -nf Foo # force install Foo and don't run tests 20:19
whiteknight I don't have cpanm
dukeleto whiteknight: cpan -f 20:20
whiteknight: cpan has -f as well
whiteknight I'm in the middle of the install right now. If it breaks and I have to exit again for some reason I'll do that
dukeleto Coke: as you can see, TAP::Harness::Archive is a huge hurdle
Coke: it has stopped me from submitting smoke reports on various machines, because i didn't have root/local::lib/cpanm/etc installed and wasn't worth the frustration 20:21
Coke: and I am a pretty stubborn dude
whiteknight how many damn dependencies does Module::Builder have?
holy crapamoly
why the hell do I need to install IPC::Whatevers to build a module?
dukeleto whiteknight: what's that? You *DIDN'T* want to install half of CPAN? 20:22
tadzik Module::Build for Perl 6 has only one dep :)
dukeleto tadzik: there you are!
whiteknight and why doesn't TAP::Harness::Archive list Module::Builder as a prerequisite so it just installs automatically when it's needed
dukeleto whiteknight: it is a dep of a dep
whiteknight: so it is listed, because THA needs it
tadzik dukeleto: told ya :)
2023 @tadzik | dukeleto: pong 20:23
20:23 mtk joined
whiteknight back in school we used to make jokes about Java programmers, and how all they did was include a million pre-made modules and just stitch them together in basic ways 20:24
installing TAP::Harness::Archive here is giving me a little bit of nostalgia
and heartburn
dukeleto whiteknight: point well taken. You might want to avert your eyes from Moose::* ... 20:25
whiteknight so far it looks like Moose hasn't ended up on the dependency list
dukeleto whiteknight: that is because there would have been bloodshed 20:26
whiteknight !!! Module::Build finished installing!
dukeleto tadzik: we would like the ability to submit smoke reports without needing TAP::Harness::Archive
whiteknight "Too early to specify a build action 'Build'. Do 'Build Build' instead
I can't make crap like this up 20:27
dukeleto tadzik: are you interested in working on that?
tadzik dukeleto: how urgent is that?
whiteknight Build Build?
dukeleto whiteknight: i know some people that attempted to fix Module::Build and then went insane
tadzik: don't know, what scale of urgency are we using?
tadzik: i am just trying something that you would enjoy working on
20:28 sjn left
whiteknight 30 minutes in and "make had returned bad status, install seems impossible" 20:28
FUUUUUUUUUUU
dukeleto tadzik: cotto, whiteknight and I have been brainstorming ideas that we think are important and trying to delegate, so we don't get sidetracked from other stuff
whiteknight: have you learned yet? Go the way of cpanminus
It is a happy way.
whiteknight how do I get cpanminus?
dukeleto tadzik: deprecations as data (TT#1888) is also pretty important 20:29
whiteknight: i just told you a few lines above!
whiteknight: wget github.com/miyagawa/cpanminus/raw/master/cpanm
atrodo whiteknight> "curl -L cpanmin.us | perl - --self-upgrade"
dukeleto or that
or 17 other ways people have cooked up
atrodo dukeleto> Oh, they came up with a new way, cool
dukeleto tadzik: what things do you have on your hacking plate? 20:30
tadzik dukeleto: suprisingly few, but that's because my finals are approaching 20:35
whiteknight cpanm bailed out installing TAP::Harness::Archive. I'm retrying with --force
...it bailed out even worse with --force
damnit
tadzik next week I have 4 exams and 2 labs, and the exam session haven't yet startesd
20:38 ok22 joined 20:39 fbrito left
atrodo whiteknight> What error are you getting? 20:39
whiteknight Bailing out the installation for IO-Compress-2.033. Retry with --prompt or --force 20:40
in the log, I'm seeing more details
cc: Zlib.o: No such file or directory 20:41
(and repeats that for several files)
screw it. I give up. 20:43
no smolder reports on this platform 20:45
tadzik dukeleto: how time-costing is that?
dukeleto: #1888 seems nice 20:46
dukeleto whiteknight: your zlib might be borked 20:47
whiteknight: or at least not findable
tadzik: the first iteration shouldn't take much time
tadzik: we just need a datastructure that represents our deprecation data 20:48
tadzik so specifying a JSON format?
dukeleto tadzik: and we need a one-time script to convert our current DEPRECATION.pod
tadzik to the new format, right?
dukeleto tadzik: in the TT I say YAML, but I don't care. They are interchangeable
tadzik: yes
tadzik a'right 20:49
dukeleto tadzik: the script can even be an 80% solution, and then you can fix it up manually
tadzik: whatever gets us structured deprecation data sooner
tadzik so specifying a format is the first step. I'll look at DEPRECATION.pod and seek for a must-have things, then consult it with you
dukeleto tadzik: i would say structured deprecation data is more important that dealing with TAP::Harness::Archive
tadzik sure thing
dukeleto tadzik: sounds awesome!
tadzik: feel free to do stuff and ask questions later :) 20:50
tadzik: but let me know if you get stuck
tadzik oh, I still have to write a page for plumage
dukeleto tadzik: deprecated.json will be similar to the json that plumage stores about each project
tadzik I volunteered for that on #ps, is it higher-lowel priority?
dukeleto tadzik: but each item will be about a deprecation instead of a project
tadzik dukeleto: in what sense?
yeah, that's it 20:51
dukeleto tadzik: just in a general sense of structured json data
20:51 ok22 left
dukeleto tadzik: i would say create the page first, since you volunteered for that first, and that shouldn't take very long 20:51
tadzik: just 5 lines on GettingStartedWithPlumage is a lot more than what we have : 0 lines
tadzik alright, lemme organize myself a bit
dukeleto goes for a brisk run 20:52
20:52 ok22 joined
tadzik btw, wouldn't that page be a sort of README info duplication? 20:52
whiteknight tadzik: maybe 20:54
dalek rrot: f832d2d | plobsing++ | DEPRECATED.pod:
add deprecation notices for TTs 1868 and 1961
20:56
20:57 tobias_tud left
dalek TT #1961 created by plobsing++: [DEPRECATED] X-to-Y native pbcs 20:58
TT #1961: trac.parrot.org/parrot/ticket/1961
21:04 plobsing left
whiteknight plobsing++ 21:09
tadzik how do I create a new wiki page? 21:12
21:12 Kristaba joined
cotto_work tadzik: just use the title of one that doesn't exist 21:13
trac.parrot.org/parrot/wiki/Getting...ithPlumage 21:14
jnthn Anyone got recent experiences of subclassing the Sub PMC (in C, just as another PMC, not a HLL subclass)? 21:19
Should it work out OK? 21:20
And are there performance consequences vs Sub itself?
dalek rrot: 193b47f | nwellnhof++ | src/nci/libffi.c:
Fix headerizer warnings in src/nci/libffi.c

Should fix TT #1942
cotto_work jnthn: Coroutine extends Sub in C 21:21
seems to be tolerably well-tested
21:22 davidfetter_ joined
jnthn cotto_work: OK 21:23
ooh.
If I override this I can also change the auto-close semantics in my subclass. Win.
Though my immediate motivation is I need some extra slots to stick stuff in when porting the multi-dispatch stuff from nqpclr.
21:25 davidfetter left 21:26 davidfetter_ is now known as davidfetter
jnthn What's the best way to say that I want all subs in a given compilation unit to be compiled to my custom Sub subclass? 21:28
21:28 plobsing joined
jnthn It's NQP so I don't know that I have a HLL ID... 21:28
Since it just lives in the parrot "language" 21:29
21:30 mtk left
cotto_work jnthn: have you considered resorting to evil? 21:30
jnthn cotto_work: What's the best kind of evil? :)
I can imagine doing something in a :immediate...
21:31 whiteknight left
jnthn Maybe. :) 21:31
plobsing :instanceof
cotto_work messing with interp->vtables would be pretty evil
jnthn Oh, it exists still?
Coke jnthn: do you have an HLL?
jnthn Coke: Not in this case; it's NQP
Coke ah. I would expect that an hll mapping of Sub should be preferentially used when compiling. 21:32
jnthn Which lives in the Parrot HLL
Yeah
plobsing you should flag all subs you want as a subclass :instanceof('MySub')
cotto_work plobsing: nice. That's way less evil.
Coke mm.
jnthn Oh, that'd be ideal. :)
I'll try it that way. Thanks.
plobsing reading imcc.l pays off from time to time 21:33
Coke ISTR pmichaud had needed that at one point.
cotto_work plobsing: is it even tested?
tadzik cotto_work: that's why I tried, getting Page GettingStartedWithPlumage not found
cotto_work tadzik: what's your trac account?
tadzik cotto_work: tadzik, I believe 21:34
logged in as tadzik
jnthn brb
cotto_work tadzik: try again 21:35
plobsing cotto_work: it isn't tested and is documented as experimental
cotto_work double eek
tadzik cotto_work: got it, thanks
cotto_work np. tadzik++
plobsing cotto_work: if you want to reject the default, without using the mechanism we provide for changing the defaults (hll mapping), you need to resort to such things
cotto_work plobsing: I don't mind that we have it. I mind that it's not tested. 21:36
21:40 nwellnhof left 21:41 fbrito joined 21:43 ambs joined
cotto_work Experimental shouldn't mean "Here's a pile of untested code that essentially nobody knows about. Have fun." 21:44
Heh. git blames jnthn for adding instanceof
21:47 fperrad left 21:50 rurban left 21:52 rurban joined 21:56 Patterner left 21:57 Psyche^ joined, Psyche^ is now known as Patterner
tadzik trac.parrot.org/parrot/wiki/Getting...ithPlumage opinions welcome 21:58
the code snippets could be a little bit more outstangding 21:59
* outstanding
dalek tracwiki: v1 | tadzik++ | GettingStartedWithPlumage 22:04
tracwiki: trac.parrot.org/parrot/wiki/Getting...ction=diff
dukeleto tadzik++ 22:06
jnthn cotto_work: huh, I wrote it? :) 22:07
cotto_work Apparently it doesn't play well with Sub subclasses. 22:09
at least not with Coroutine and Closure 22:10
jnthn cotto_work: Oh. :(
cotto_work: Any idea why?
I thought Closure was killed and long gone?
cotto_work I'm just reading the shred of documentation we have on it. We also have 0 tests.
it is. The docs didn't get updated. 22:11
jnthn Ah, k 22:12
plobsing kjs wrote that portion of the docs over 2.5 years ago.
cotto_work I've filed a ticket to get :instanceof some tests. 22:13
dukeleto: did you intend to change pbc_disassemble in your MANIFEST update? 22:20
github.com/parrot/parrot/commit/59faf46d
dalek TT #1962 created by cotto++: :instanceof('Foo') is untested 22:21
TT #1962: trac.parrot.org/parrot/ticket/1962
22:22 ambs left
cotto_work plobsing: I like 1961, but that really should have been brought up on parrot-dev or #ps before you filed a ticket. 22:22
er, deprecation ticket 22:28
bacek_at_work ~~ 22:35
plobsing cotto_work: sorry, I've been a bit remiss in filing the deprecations I'd like to see in the next cycle 22:36
dukeleto cotto_work: that is what fixed the g++ build failure 22:38
cotto_work: i meant to change it, but not in that commit
cotto_work dukeleto: ok. That's what it looked like.
22:40 Andy left
cotto_work plobsing: np. Just don't get as excited next time. 22:40
plobsing FWIW, I don't intend on acting on it immediately. 22:41
cotto_work Sure. It's just nice to have the possibility open. 22:42
plobsing which is why I've entered the deprecation. if experience serves, there are still many points at which devs and users will provide feedback if they feel strongly. 22:44
22:58 plobsing left 23:01 plobsing joined 23:15 plobsing left 23:23 hercynium left
Coke one tactic might be to make it an RFC until you get some feedback from other devs. 23:28
23:38 whiteknight joined
whiteknight good evening, #parrot 23:50
23:56 plobsing joined
dukeleto whiteknight: wazzup 23:59