Parrot 2.9.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Long live Git! github.com/parrot/parrot | git clone git://github.com/parrot/parrot.git
Set by moderator on 10 November 2010.
00:02 dngor left, dngor joined 00:10 ash_ left 00:12 dalek left
dukeleto tcurtis: are you doing a trial release? 00:17
GeJ running `fulltest` to make sure I didn't break anything. In the meantime... 00:18
nopaste "GeJ" at 192.168.1.3 pasted "RFC : Ignore ext/ subdir in Parrot::Test::Pod (see TT #1272)" (22 lines) at nopaste.snit.ch/25616
GeJ could someone tell me what he thinks about this patch?
tcurtis dukeleto: I have done one.
GeJ Oh yeah! Heisenbug! 00:23
tcurtis On a related note, how do I gain the appropriate access to the FTP server? 00:24
dukeleto tcurtis: i think you need to give your public ssh key to somebody important. I don't think it is me. 00:25
tcurtis: Coke, allison or particle can probably do it
00:29 p6eval left 00:35 kid51 joined
GeJ If I ignore that Heisenbug in t/pmc/threads.t the nopasted patch makes codingstd PASS. Any objection? 00:36
kid51 Gej: I don't see the need for this line: + my $IN_EXT_SUBDIR_RX = qr{^ext/}; 00:37
GeJ to prevent recompiling the regexp for every file.
kid51 Why can't we just directly say: if ($file =~ m/^ext/)
dukeleto GeJ: use qr{} directly in the if-statement 00:38
kid51 Then: if ($file =~ m/ext/o)
Or, as duke just suggested
$IN_EXT_SUBDIR_RX is only used once. I don't see that it is any more clear than /^ext/ 00:39
You might also want to include some inline comments re purpose of this exclusion (similar to following 'unless' blocks)
00:40 p6eval joined
kid51 (basic idea of patch is, however, sound) 00:40
make fulltest PASS on Linux/i386 at af8991f 00:47
make test PASS on Darwin/PPC 00:51
nopaste "GeJ" at 192.168.1.3 pasted "RFC : Ignore ext/ subdir in Parrot::Test::Pod (see TT #1272) -- take #2" (26 lines) at nopaste.snit.ch/25617 00:53
kid51 Gej: If you are using the /o extension, you don't need the 'qr' 00:55
m{^qr/}o should suffice 00:58
wrong
m{^ext/}o should suffice
Gej: On a different note, I attended the New York City BSD Conference this weekend.
01:12 kid51 left 01:22 p6eval left
GeJ pushed. Thanks. 01:28
01:30 dngor left, dngor joined
dukeleto kid51: qr has been around since 5.6, how long has /o been around? 01:30
01:32 p6eval joined
GeJ I've ran the generation of .pod_examinable* 10 times with and without the /o and it *seemed* to be faster with it. However I didn't include it in the commit per Jim's suggestion. 01:34
the difference is barely noticeable anyway (if ever).
s/ever/at all/ ? 01:35
boy my English stinks.
01:36 dngor_ joined 01:39 dngor left 01:57 ash_ joined
dukeleto GeJ: no worries, your english is pretty good :) 01:58
dukeleto only speaks bad English 01:59
github.com/blog/744-today-s-outage 02:01
Classic "tests got run on production" bug. Classic. 02:02
Worse, however, is that we may have lost some data from between the last good database backup and the time of the deletion. Newly created users and repositories are being restored, but pull request state changes and similar might be gone. 02:03
Our plan moving forward:
1. Completely isolate the test environment from the production environment, i.e. make production hosts unreachable from the testing VM.
good idea ;) 02:04
02:11 seanstickle left
whiteknight very good idea 02:13
02:33 dngor_ is now known as dngor, rurban_ joined 02:36 rurban left, rurban_ is now known as rurban 02:39 treed joined, treed left 02:50 whiteknight left 02:52 ash_ left 02:53 Andy joined
dukeleto sure is quiet in here. 02:54
Andy I could delete the repo again.
dukeleto are people getting the hang of git?
Andy Or github could crash for me instead.
dukeleto Andy: that could be fun.
Andy I'm waiting for the first time someone deletes a SHA1 that someone else has already. 02:55
03:01 seanstickle joined 03:03 dalek joined
dukeleto needs to institute the no-force pushes on master policy 03:04
sorear dalek seems to have crashed secondary to the github fault 03:05
the CREDITS parser fell into an infinite loop
dukeleto puts on his lollerskates 03:16
03:29 seanstickle left
dukeleto nopaste? 03:37
aloha, nopaste?
aloha dukeleto: nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
cotto sorear, ... 03:48
how...
sorear cotto: it cuts off lines until it gets one with -----
cotto borrows dukeleto's lollerskates
sorear but the file was empty after the github database wipe
Perl, DWIM to a fault, will (with a warning) let you chop off an empty line from a list with no items 03:49
instead of throwing an exception, which would have been caught by the main loop :/
dukeleto Learning Is Fun! 03:50
cotto btw, I have more free time on the 5th of December than I thought. We can bump the meeting back to 3:30 if nobody's got their heart set on 5:00.
That still works for everyone who's filed in the doodle poll and will give mikehh a chance to participate for the first while. 03:51
tcurtis, ping 03:58
tcurtis cotto: pong
cotto tcurtis, I heard you like ftp servers 03:59
if you get me your public ssh key, I can give you access to the ftp server 04:00
If you don't have one, they're pretty easy to generate. 04:03
You can nopaste it safely. The only thing people can use it for is to give you access to their machines. 04:07
nopaste "tcurtis" at 192.168.1.3 pasted "cotto, here you are" (1 line) at nopaste.snit.ch/25620
cotto tcurtis, there should be a username@host at the end of that. 04:09
tcurtis Ah, right. Is it problematic if it's a local hostname? 04:11
cotto nope
nopaste "tcurtis" at 192.168.1.3 pasted "cotto, this time" (1 line) at nopaste.snit.ch/25621
cotto try sshing to parrot@ftp-osl.osuosl.org 04:12
tcurtis It works! Now I just need to get the editor privileges on parrot.org and figure out what I need to update docs.parrot.org. 04:16
cotto I can't help you there. For docs.parrot.org you need access to vm that hosts *.parrot.org. Ask in #osuosl on freenode. Alternately, you can have someone else do it. It's not much work. 04:20
04:20 bluescreen left 04:27 plobsing joined
plobsing ~_~ 04:29
cotto hi plobsing 04:30
bacek_at_work, ping 04:31
dukeleto cotto: good evening 04:33
cotto hi dukeleto. Are you back on normal time? 04:34
dukeleto cotto: for some definition of normal. 04:51
cotto: wazzup?
dukeleto is writing a blog post for GCI
Very interesting wiki: wiki.pentaho.com/display/BEEKEEPER/...eper+Model . The Parrot community has a lot to learn from that page. 05:17
cotto loves link dumps 05:20
simon_ loves analogies 05:26
also, by abusive extension of that analogy, RMS must be an anti-capitalist vegan? :D 05:27
dukeleto great article about parrot i haven't read before: www.wellho.net/solutions/perl-parro...chine.html 05:29
old, but a nice overview for the time.
simon_ also, that type of honey with parts of the beehive wax still in it is like Ubuntu: it's essentially a product, but it smells of beehive (open source). 05:31
and when you eat it, you get chunks of wax in your mouth (quirks) and tell yourself it's a good thing.
dukeleto does TPF carry any legal responsibility for Parrot? 05:32
cxreg aloha: you're working on GC, right? 05:33
wait, are you a bot?
lol
/who fail :) looks like i want bacek 05:34
dukeleto cxreg: lollerskates 05:36
dukeleto hopes that bacek_at_work is working on a bot that can fix bugs in the GC
05:37 arnsholt joined
cxreg dukeleto: shows how closely i follow this channel 05:38
bacek_at_work ~~ 05:40
cotto hi bacek_at_work
bacek_at_work cotto, hio
05:40 arnsholt_ left
dukeleto can someone take a look at this and see if it looks sane? socghop.appspot.com/gci/org/show/go...oundations 05:47
cotto bacek_at_work, how likely is it that you can make a non-empty subset of the Parrot developer summit? 05:51
s/make/attend/
bacek_at_work cotto, where is proposed schedule?
cotto www.doodle.com/q4nwdt9i5k929n2s 05:52
dukeleto bacek_at_work: it would be nice to hear from you there 05:54
bacek_at_work cotto, added. I prefer 7am-8:30am (just before departing to $dayjob) 05:55
ookey. Second me is me. 05:57
cotto bacek_at_work, you can edit
"Edit an entry"
bacek_at_work had some schizophrenia moment.
cotto Sweet! Dual baceks! 05:58
cxreg bacek_at_work: i was wondering if your gc work had any intention of moing the m&s bits out of the gc-ables to a lookaside 06:02
bacek_at_work cxreg, erm... Which bits? 06:03
cxreg the "mark" in particular, anything that causes something to be written to as part of the process
bacek_at_work cxreg, not really. Why? 06:04
cxreg copy on write fork
bacek_at_work COW is _slower_ in modern, mutlithreaded world 06:05
cxreg its not always about speed
dngor 5005 threads or bust!
and/or bust. more like coredump, actually.
bacek_at_work cxreg, we did remove COWed strings for speed purpose also
anyway, decommute time 06:06
cxreg bacek_at_work: i dont mean anything implemented in parrot, i mean what the OS already does for you
it'd be nice to not immediately double real-ram when forking a parrot-based program
bacek_at_work cxreg, hmm. Interesting idea.
But it will require redesign of whole "PObj" stuff. 06:07
cxreg i'll have to read up on that 06:09
06:09 theory left 06:22 preflex left
sorear more importantly 06:24
each of our PMC headers fits into a cache line
06:25 preflex joined
sorear if we set a bit on each one, then we'll force the CPU to read and write a cache line for eahc PMC 06:25
if we keep mark bits out of line, then we still have to read each PMC, but not write them, for half the memory cycles
the mark bitmap is much smaller and can be resident entirely in L2
this is, of course, theoretical; actual profiling is needed to make decisions 06:26
jjore thought it was pretty standard design to do marks in look-aside. 06:36
It's one of the things standard to anyone who likes forking processes anyway. 06:37
06:39 tcurtis left 06:42 Andy left
jjore for giggles, I added that feature to ruby-1.8.6 ages ago at diotalevi.isa-geek.net/~josh/090410...e-gc.patch just to avoid having my pre-forked procs go completely unshared merely because of GC. 06:43
sorear did it get accepted?
jjore though real users would go use something like REE (but I was enjoying writing it for myself) 06:44
sorear I beleive the Parrot GC is what is called "legacy code"
jjore it... consumed years of people's lives. Legacy? Bummer. Ok, how about plugging in something like boehm to avoid having to actually do all the work? 06:45
plobsing everything can be considered legacy code if you look into the future far enough
cotto we had a branch for using the boehm gc a while back. istr that performance suffered 06:46
jjore shrug. I just figured you know, save the dev time for later? but er, whatever. 06:47
bacek jjore, I did plug boehm gc. It's slower than current one.
sorear jjore: it's legacy in the sense that nobody here likes it but -G inf and -G boehm don't work well enough 06:48
what's your connection to the GC? that nick is familiar
jjore I haven't touched the parrot gc at all.
maybe you used something from search.cpan.org/~jjore/ ? 06:49
NotFound sorear: -G inf works nice, you just need a machine with infinite memory to fully profit from it. 06:53
06:55 bacek left
dukeleto sorear: why do you call the GC legacy? 07:04
sorear: it has changed a lot recently
sorear: what is your definition of "legacy" ? 07:05
sorear: I call the IMCC legacy, but I wouldn't lump the GC into that category
sorear dukeleto: has gc_massacre been merged yet? 07:08
I was under the impression nothing had changed in the trunk gc for years 07:09
dukeleto sorear: you are quite wrong about that. a bunch of gc branches have been merged in the last few months 07:12
sorear: and it is "master" now :)
07:25 bacek joined 07:50 simcop2387_ joined 07:52 simcop2387 left, simcop2387_ is now known as simcop2387 08:16 ascent joined
dukeleto leto.net/perl/2010/11/parrot-founda...de-in.html 08:21
08:26 TiMBuS left 08:37 bacek left 08:41 fperrad joined 08:50 contingencyplan left 09:05 bacek joined 09:13 TiMBuS joined
bacek seen nwellnhofer 09:38
aloha Sorry, I haven't seen nwellnhofer.
09:39 bacek left, bacek joined
dalek rrot: 34f29c2 | fperrad++ | / (2 files):
[hello] clean & ignore more files
10:06
10:22 plobsing left 10:34 rurban_ joined 10:37 rurban left, rurban_ is now known as rurban
dalek rrot: a8192ac | fperrad++ | config/gen/platform/win32/misc.h:
[win32] check WINVER, see TT#1846
10:51
rrot: 8bc48ad | bacek++ | .gitignore:
Fix .gitignore
11:05
12:30 bluescreen joined 12:56 mlb joined 13:10 silug left 13:27 whiteknight joined
whiteknight good morning, #parrot 13:27
GeJ Well, good morning indeed. :/ 13:42
13:46 elmex left 13:51 bluescreen left, bluescreen joined 13:54 elmex joined
whiteknight GeJ: you seem less than excited about it 14:01
14:04 bluescreen left 14:15 bluescreen joined
dalek TT #1847 created by coke++: runtime/parrot/library/URI/Escape.pbc 14:33
TT #1847: trac.parrot.org/parrot/ticket/1847 14:34
rrot: f29109b | Coke++ | ports/macports/Portfile:
pull in latest changes from

  (our macport users are now only 1 supported release behind)
14:41
14:49 Andy joined
dalek TT #1415 closed by coke++: parrot macport for 2.0.0 14:49
TT #1415: trac.parrot.org/parrot/ticket/1415
14:51 PacoLinux joined
dalek rrot: f0f8663 | fperrad++ | .gitignore:
Clean & fix .gitignore
14:53
GeJ whiteknight: given that it's 1:49 AM here and I'm still writing an import proggy between a craptastic undocumented proprietary 4D application and a moronically designed database... yeah, not really thrilled about that "morning" thingy. :)
I'm too old to pull an all-nighter. 14:54
whiteknight GeJ: sounds....shitty. Good luck with all that 15:01
GeJ thanks. 15:04
dalek TT #1847 closed by fperrad++: runtime/parrot/library/URI/Escape.pbc 15:05
TT #1847: trac.parrot.org/parrot/ticket/1847
15:16 silug joined
Andy dukeleto: Is Code-In really a contest? 15:18
whiteknight Andy: in a sense. The students are competing with each other for tasks 15:19
Andy ok 15:20
whiteknight I can't configure Parrot on a system that does not have git installed 15:34
config fails at auto::sha1 and auto::git_describe
15:41 contingencyplan joined 16:05 theory joined 16:07 hercynium joined 16:14 atrodo left
dukeleto 'ello 16:15
16:16 atrodo joined
dukeleto whiteknight: hmmm, I should fix that 16:16
Andy: yes, Code-In is really a contest
Andy ok
it's all posted
whiteknight dukeleto: nevermind, I can build. It generates the makefile 16:17
it just spits out some really ugly error messages when a git client can't be found
dukeleto whiteknight: ok, i will try to clean that up 16:18
whiteknight I'm on Win64 right now. I'm using msysgit to do git stuff, but I'm in the normal windows cmd prompt to build it
so there is a .git directory, but no git executable visible in PATH
(I know this is unnecessarily complicated) 16:19
dukeleto whiteknight: i see. it should be trivial to not puke out error messages 16:23
16:24 bluescreen left
cotto_work ~hello~ 16:25
dukeleto jumps into a cup of coffee
whiteknight kid51: ping 16:33
16:35 bluescreen joined
dalek rrot: c414af3 | unknown++ | config/gen/platform/win32/misc.h:
fix build on windows. I don't think there is such a thing as 'w32api.h'. It would be 'win32api.h' or, what I used, 'windows.h'
16:37
whiteknight damnit. unknown is stealin my karmas 16:48
16:51 jan left 16:52 dmalcolm joined
bluescreen where is headerizer? and is it automagically run by "make" ? 17:17
cotto_work bluescreen: you need to run make headerizer manually 17:18
bluescreen where is it? 17:19
cotto_work if you've just changed one file, it's quicker to run it directly via perl tools/dev/headerizer.pl src/foo.o
make headerizer will also work
bluescreen ok
cotto_work (and yes, you pass the name of the object file, not the c file) 17:20
bluescreen why's thaT?
cotto_work That's what the magic requires. 17:22
Andy wrote it. I'm sure he had a sensible reason. 17:23
Andy ?
No, it is not run by make.
cotto_work It is if you use make headerizer
but no, not by default 17:24
Andy Well, yes.
bluescreen why does it run over the object file instead of the c file? because of the macro expansion? 17:25
whiteknight because it is typically called by the makefile, and the makefile has a list of .o files not .c files 17:42
dalek rrot: 2d9999d | fperrad++ | config/gen/platform/win32/misc.h:
[win32] w32api.h is only with MinGW
17:44
whiteknight ah, that's the detail I was missing 17:45
I couldn't figure out why w32api.h was in there in the first place. But it's an MinGW thing 17:46
fperrad++
fperrad whiteknight, have you seen that you commit c414af3 as 'unknown' ? 17:48
cotto_work It's probably a temporary problem while github restores their db. 17:49
dukeleto cotto_work: not so sure. he is commiting from a machine without a properly setup ~/.gitconfig 17:51
cotto_work also a possibility
whiteknight fperrad: yeah, I didn't have my git config set up on this box. Thanks 17:57
LAPACK came out with a standard C API. That will make my integration work with PLA much easier when the time comes 17:59
18:03 arnsholt left 18:33 rurban_ joined 18:37 plobsing joined, rurban left, rurban_ is now known as rurban 18:41 mlb left
dalek nxed: r681 | NotFound++ | trunk/winxedst0.cpp:
rename efirst and esecond members to lexpr and rexpr in stage 0 for consistency
18:48
18:54 arnsholt joined 19:06 hercynium_ joined
dalek nxed: r682 | NotFound++ | trunk/t/harness:
make harness a bit more idiomatic
19:09
19:12 hercynium left, hercynium_ is now known as hercynium 19:34 seanstickle joined, theory left 19:35 theory joined, seanstickle left, seanstickle joined 19:36 nomad joined, seanstickle left 19:45 hercynium left 19:46 hercynium joined
whiteknight I want everybody to submit a smolder report before the release goes out 20:14
cotto_work deal 20:15
NotFound Aye, sir! 20:17
whiteknight :) 20:19
the top 15 most recent reports are all on either windows or solaris. My linux peeps need to represent 20:20
NotFound Doing ubuntu i386 and debian amd64
20:21 seanstickle joined
NotFound Solaris? The oracle has talked. 20:22
atrodo oracle-- 20:23
NotFound There is joke in spain: oracle<=>elcaro (el caro == the expensive) 20:25
atrodo That is amazing and accurate
NotFound Usually not so accurate, because people that said it haven't paid the licenses X-) 20:26
Disclaimer: I deny everything! 20:27
whiteknight fperrad: ping 20:32
20:39 zby_home joined
whiteknight msg fperrad smolder.parrot.org/app/projects/rep...tails/1085 <-- Is there something special about this report? With the release tomorrow I want to know if we have bugs to fix. Most other reports from that platform are clean 20:39
aloha OK. I'll deliver the message.
20:41 particle left 20:44 particle joined
whiteknight atrodo: T3H FA1LZ 20:55
atrodo: do you have any local mods or anything? I'm trying to figure out why t/pmc/threads.t would fail on your system 20:57
20:59 jan joined
GeJ Oh, I haz the t/pmc/threads.t heisenbug! 21:06
Well, I have one. Not sure if it's the same.
whiteknight great 21:07
GeJ ok, not the same. Mine coredumps saying that keyed_int vtable not implemented in ExceptionHandler... or something along those lines. 21:09
As I said, Heisenbug. I can run make fulltest 10 times and not see the thing explode.
dukeleto GeJ: the test probably has a race condition in it 21:11
GeJ from the expected output, I'd say it's probably L366: "CLONE_CODE | CLONE_GLOBALS" 21:12
(if memory serves)
21:12 simcop2387 left, simcop2387_ joined, simcop2387_ is now known as simcop2387
whiteknight we should skip that test for the release if it's a problem 21:12
GeJ but I slept 30 minutes last night, so feel free to dismiss everything I might say in the next 12 hours.
whiteknight thinks we should skip at least one threads test for each release, until there are none left 21:13
the threading implementation is almost as bad as the tests that attempt to exercise it
moritz what happened to the gsoc branch? 21:14
GeJ thinks that since everybody and their broother think that FreeBSD's thread library is weird, I second whiteknight's proposal.
moritz GeJ: even my wife agrees :-) 21:15
whiteknight moritz: Added greenthreads, I think, but was only really working on linux
I need to go through that code again eventually and see if there is anything in there that can be salvaged 21:16
I suspect the greenthreads implementation can be used with minor modification. I don't know if we will be able to use the non-blocking IO parts of it though 21:17
GeJ moritz: I lack the technical knowledge to have a reasonable opinion on the subject. I'll just say that from a user point of view, I'm having less and less problems with threaded programs as I upgrade my system. 21:18
that doesn't mean that I'm not willing to trust your wife's opinion. 21:19
moritz GeJ: I've never even installed FreeBSD. Neither did my wife :-)
she just didn't want to contradict when I asked her :-)
dngor I just installed FBSD on my old G4 powerbook. 21:20
whiteknight I won't use FreeBSD until it starts working in VirtualBox
I don't have any hardware that I'm willing to do the install on
21:20 nomad left 21:23 perlite_ joined 21:25 seanstickle left 21:26 perlite left, simcop2387 left, perlite_ is now known as perlite 21:28 simcop2387 joined
GeJ okay, back to work. 21:28
GeJ &
whiteknight is leaving work. later 21:29
21:29 whiteknight left 21:40 bluescreen left, theory left 21:44 Andy left 21:45 fperrad left 21:50 Andy joined 21:52 Andy left 21:55 Andy joined
dalek TT #1848 created by coke++: delete placeholder t/tools/parrot_debugger.t 21:59
TT #1848: trac.parrot.org/parrot/ticket/1848
Tene I'm been considering trying to work on tt#757 sometime. I'm still grumpy about it. 22:01
22:02 theory joined 22:05 bluescreen joined 22:12 bluescreen left 22:17 theory_ joined, theory left, theory_ is now known as theory 22:19 theory_ joined, theory left, theory_ is now known as theory 22:21 zby_home left 22:22 simcop2387 left 22:29 simcop2387 joined
dalek rrot: ae3500c | GeJ++ | MANIFEST.SKIP:
Regenerate MANIFEST.SKIP
22:30
22:31 dngor_ joined, dngor left 22:37 donaldh joined, dngor_ is now known as dngor, theory left
atrodo aloha msg whiteknight I'm not sure what the deal was, but when I ran smoke again, everything passed. 22:40
aloha atrodo: OK. I'll deliver the message.
dalek nxed: r683 | NotFound++ | trunk/winxedst1.winxed:
simplify a few string operations
22:41
22:57 whiteknight joined
whiteknight has started his "testall" script. this should give us a few smoke reports to mull through 23:03
anybody else seeing the heisenbug in the thread tests? 23:04
23:04 gert joined
whiteknight atrodo++ # Thanks for the re-test 23:06
23:06 dngor_ joined, dngor left 23:07 dngor_ is now known as dngor
cotto_work whiteknight: haven't we had a thread-related heisenbug for a long time? 23:08
whiteknight probably. All the more reason to crumple our current thread system and all it's tests up into a little ball and throw it in the trash can 23:14
GeJ whiteknight: didn't exactly smoke. But I ran a 3 or 4 fulltests this morning and all passed.
whiteknight GeJ: that's good too 23:15
all tests are always appreciated
23:22 theory joined
dukeleto smokes master 23:32
23:36 bluescreen joined
dukeleto PASS smolder.parrot.org/app/projects/rep...tails/1098 23:39
dukeleto smokes an optimized build
23:44 dngor_ joined
dalek nxed: r684 | NotFound++ | trunk/winxedst1.winxed:
refactor Token class to a bunch of derived classes in stage 1
23:44
23:44 dngor left
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1097) fulltest) at ae3500c - Ubuntu 10.10 i386 (g++-4.5 with --optimize) 23:44
dukeleto PASS (optimized) smolder.parrot.org/app/projects/rep...tails/1099 23:45
23:48 dngor_ is now known as dngor
cotto_work anyone know what time tcurtis++ is planning on cutting the release? 23:54
mikehh ok how do you build rakudo with the latest parrot release - it reports Parrot revision RELEASE_2_9_1-261-g495feaf required (currently RELEASE_2_9_1-273-gae3500c) 23:58
AFAICS 273 is greater than 261