php5 “Unable to fork” on Solaris

Thursday, Dec 6. 2007  –  Category: Grommit, OpenSolaris

I was battling with inconsistent behaviour for grommit with PHP5 periodically (50% of the time, roughly) throwing the dreaded “Unable to fork” error (seen on both exec() & passthru() calls). Googling for it gives tons of great info for what causes this problem on Windows; but virtually none on Solaris.

Finally after some truss and DTrace-fu, I saw what was happening. exec() was calling open(), and since httpd is a 32 bit process, it was hitting the 256 file descriptor limit.

Booooooo. :(

A quick modification to /lib/svc/method/http-apache2 to do a:

ulimit -n 65535 LD_PRELOAD_32=/usr/lib/extendedFILE.so.1 export LD_PRELOAD_32

before the line calling apachectl at the end fixed the problem for me.

Seems like other people should have hit this problem though; which makes me curious why I don’t see any other hits on Google about it.

a dearth of packages

Friday, Nov 23. 2007  –  Category: Grommit, OpenSolaris

This Thanksgiving I give thanks for all the packaging work underway in OpenSolaris. I look forward to a day in the future where I don’t have to spend so much time building out packages for all the updated software I need.

I’m building out the new Grommit machine, and part of what Grommit hosts is a whole bunch of Zones. I like to try to keep everything clean with pkg installs, so I’ve spent a good part of the past two days building Solaris (snv_75a) packages for Dovecot, PHP5, and Postfix.

Yes, I realise that packages for these already exist on Blastwave and elsewhere, but I want ones that leverage the Apache2, MySQL, and OpenSSL that Solaris already ships with. Anyway, thankfully the software all built fairly straight-forward which made my life a lot easier.

About the only thing left that I need is SpamAssassin and I’m hoping to use Eric B’s package that he put together for the OpenSolaris mail server for that. Eric passed me the Postfix package they use but unfortunately I ended up needing to rebuild it anyway since I wanted it to have TLS + SASL and authenticate against the Dovecot SASL.

I’ve done migrations of all the ZFS data for the home and web directories (yay for zfs send | ssh zfs receive), and I’ve installed Mailman (which I didn’t bother putting in a package since it cleanly separates itself in its own directory). I did a test migration of the MySQL database (which seemed to barf only on a field named ‘key’, which fortunately was easily worked around by escaping it with backticks). I’m pretty happy with the general build out of the machine so far. When I built out grommit last time it was early on in my days of using Solaris, so in general I’d made a mess of installing software all over the place, some in Blastwave, some from source, and things poorly and sloppily done everywhere. I’m trying to do things properly this time to make it easier to quickly commission zones that don’t require a whole bunch of finangling to get running cleanly.

I wonder if I can get grommit migrated by Sunday. That’d be a nice Thanksgiving surprise.

nightingale is hatched

Tuesday, Nov 13. 2007  –  Category: OpenSolaris, Songbird

Project Nightingale has officially been hatched, and I’m psyched to be able to post this with both the Songbird AND OpenSolaris blog tags. Albert (aka Triskelios) has done some impressive work already in trying to get XULRunner and Songbird ported over to OpenSolaris. We’ve hit some speedbumps though, and thought that formalising it into a project and getting some more eyes and hands on things would help speed it along. We’ve been approved and are being graciously sponsored by the Desktop Community.

I’m really psyched and looking forward to having the most kickass media player (no bias whatsoever) ported to and running on the best operating system (again, no bias whatsoever). Being able to combine my two favourite open source projects rocks.

So if you’re a desktop hacker, a media player expert, a Mozilla whiz, or just someone looking for a fun project to hack on - please join the project, and help out. We’ll have Albert’s patches posted soon, and we’ll be having our discussion in the Desktop forum, or you can subscribe to the Desktop mailing list.

I just read an interesting article on Linux.com criticising two examples of poor showing in the open source world, one revolving around a KDE icon theme, and the other around GIMP’s UI team.

Certainly I see some parallels in any open source project, both OpenSolaris & Songbird included.

First: my opinions. You didn’t ask for them, but you’ll get them anyway. Blogs rule like that. For the two examples cited in the article, I actually have differing opinions.

For the icon example, I disagree with the Oxygen project and agree with the writer. The icon developers gave up any rights they had to restrict redistribution with their license they published under. The derivative theme was well within its rights to redistribute the Oxygen icons.

For the GIMP UI example, I actually agree with the GIMP UI team. I think they way in which they phrased it could have been better. Perhaps instead of “I am afraid that I do not have positions open at the moment.”, he could have expanded and invited the volunteer to submit his work for review and inclusion without necessarily being a part of the formal GIMP UI team. While some people may disagree with me, I think UI work benefits from having a core team of people with a shared set of goals and design aesthetic. Adding another team member could alter that dynamic and/or add more overhead to the team.

Anyway - these are pertinent issues to both communities in which I participate in. OpenSolaris perhaps more than Songbird - since Songbird has no internal/closed repositories of source. But one prime example of a project people complain about is installation, or packaging - and I know I’ll probably get heat for this, but I think doing closed development is not that bad. The packaging project took some heat for doing its initial prototyping and development (I know I had at least one debate with sch about it ;-)) between its team members before opening up and publishing its work. But given the conflict that can arise between people deriving work prematurely (e.g. the Oxygen case), or even just the issue of it being a design-in-progress (let alone a work-in-progress) means its often easier to be more agile and develop the core of the project between team members (whether that’s internal to Sun or involving external members).

Open source your work when you are ready - not when people ask you to

When you are ready for people to hack on your code, make derived works, and submit features and bugs - then you are ready for open source development. If you aren’t ready for those, then don’t. Open sourcing code isn’t free (assuming you care about your open source community - throwing code over the wall, as always, is cheap and easy - and you get what you pay for). If you want a thriving community then you have to be ready to spend time to cultivate it. If you’d rather be hacking on code to get something initially out - then you shouldn’t publish it initially.

When is OpenSolaris != OpenSolaris

Wednesday, Oct 31. 2007  –  Category: OpenSolaris

When the name is usurped by a group of individuals at Sun who, for some reason or another, have decided to bless Indiana with the name OpenSolaris.

In case you missed it, here is Ian’s announcement

To be clear and up front. I agree with the long term view of Indiana, and its goals. I think Indiana is a great idea, and I wish it the best success.

What I dislike is how Sun has gone about the naming issue. Contrary to what Ian said:

Let’s continue working together as a community to develop a set of branding guidelines so that other distributions may also use the

Correction: We haven’t been working together. Sun has solicited feedback, which has been duly ignored. Sun has, instead, gone ahead and unilaterally made the decision to name their distribution OpenSolaris without a community vote.

While I respect Sun’s right to do so as the trademark holder, I again think this shows poor faith in not allowing the community a say in how their name is applied and used.

However, it is the right thing to do for the community and, yes, for Sun too.

No offense - but who are you, or the people who made this decision, to say what is right for this community to do?

Again, just to be clear - I happen to agree. But I don’t think it’s right that Sun made this decision without the broader community vote, or without any OGB consultation.

It’s been a poor show on Sun’s part.

As always, this is my own opinion - I can’t speak for the other OGB members - but this action leaves a bad taste in my mouth.

an OGB member’s dilemma

Sunday, Oct 28. 2007  –  Category: OpenSolaris

Yeah, I’ve left Sun - but I’m still on the OGB, and I still care very much about OpenSolaris…

.. which is why this whole stupid naming/branding debate going on in various threads has me bothered.

O’grady has a good succinct summary along with his opinion on the matter. So here’s my dilemma. What is an OGB member’s duty? Is it to defend the interests of the community that’s grown up around OpenSolaris… or is it to grow the community more? The charter of the OGB which sets up this “federalised democracy” seems to set the powers of the OGB to be merely the appeals board for inter-Community conflicts. Which would imply that the responsibility of growing the community falls to the Advocacy Community… thus leaving the OGB to defend the interests of the community.

This is bullshit.

(in my personal, very humble, opinion)

I do believe (now) that the OGB should be responsible for leading and growing the OpenSolaris community more; the fact that we haven’t done so is a shame - but oh well. We’ve still got time. So, let’s go ahead and assume I disagree with the charter and think the OGB should assume more powers than it’s currently explicitly granted ;-)

I’m stuck with the dilemma of basically defending the community we have, versus growing to be the community we could be. I (now, though I didn’t initially) agree with all the proponents of the Indiana-should-be-OpenSolaris argument - for the reasons O’grady outlined. I think it decreases user confusion, and simplifies the messaging… hopefully that leads to wider adoption.

So herein lies the “defending the community we have” bit. I can very much see that there are people opposed to Indiana->OpenSolaris, as well as the people who support it. I don’t think that one side has more proponents than the other, so it’s decidedly unclear to me what the community voice is.

So what I hope for is that Sun will, as Ian outlined in his proposal, make this a community decision. While I’m fully aware that Sun owns the trademark, and has every legal right under the sun (har har, I made a funny) to rebrand Indiana as OpenSolaris, I think making a unilateral decision to do so would be quite a show of poor faith.

While, as I mentioned above, I support the rebranding, and I hope it succeeds - I hope even more that Sun will take into account what the community thinks and hold a community vote to decide. And even more importantly - I would hope they would abide by such a community decision. Some people will say that Sun should go ahead, do it, and suck up the inevitable backlash/blow that will occur (or heck, may not even occur). I think that Sun has not yet built up enough goodwill in the open source community (not for lack of effort on Sun’s part though) to do it though… and I think it would send a nasty message to future members of the community.

Anyway, this is definitely one of the more interesting debates going on in the OpenSolaris community - and I’m definitely torn trying to decide what my responsibilities (once again - assuming I have them) are to be.

only slightly stoned

Friday, Oct 19. 2007  –  Category: OpenSolaris, Photos

sara pointed me at the photos joerg took from the OpenSolaris developer summit last weekend.

more explicitly, she pointed me at the above picture. love how everyone is looking straight at the camera smiling happily while i goofily am looking off to the side…

lovely.

i should make a hackergotchi out of that.

“We only part to meet again”

Monday, Sep 17. 2007  –  Category: Musings, OpenSolaris, Sun

I’m leaving Sun.

It’s been a gut-wrenching decision, but I got an offer to join a startup in SF that was just too interesting and exciting to pass up.

What’s more important is what I’m not leaving. I’m certainly not leaving the OpenSolaris community (while my participation may dial down somewhat, I still fully intend on being active in the lists, and serving in the OGB.) I’m not leaving the many many friends I’ve made in the past 4+ years working at Sun.

I believe very strongly in OpenSolaris; I believe that it will succeed, and that it will be a disruptive influence in both the proprietary/closed software world, as well as the open source world. I’m sad that I won’t have the opportunity to work on it as my day job anymore, but I will still eagerly participate and watch the progress from the outside as a non-Sun participant and contributor now.

It’s sad, and a little scary to leave a place that I’ve not only become comfortable at - but one that I love. I’ve loved working at Sun, I’ve had a blast, learned an immense amount of stuff, worked with some of the smartest people I know, and gotten to work on one of the coolest open source projects around.

I guess I feel that sometimes you have to spread your wings, leave the nest for a bit, and find a new nest.

tech days presentation from last week

Sunday, Sep 16. 2007  –  Category: OpenSolaris

a little late, but here’s my presentation that I gave last week at the Tech Days in Boston.

the other talks are available at the Boston Tech Days page on opensolaris.org

opensolaris kills hotel key cards

Tuesday, Sep 11. 2007  –  Category: OpenSolaris

… well. opensolaris flash drives with magnetic clasps kept in the same pocket as your hotel key card, anyway.

i went through 3 hotel key cards before realising this.


Recent posts