GSource and You
If you maintain a GNOME package, you might want to grep for "\bGSource\b" in your source tree. If you find any of these, chances are you are probably leaking. I've already found 4 GNOME packages that leak using this technique, and had to school jrb on this a bit ago (hopefully he doesn't mind me using him as an example), so don't feel bad if your package has this leak.
Bad (leaks)
GSource *source;
source = g_timeout_source_new (); /* Refcount is at 1 */
g_source_set_callback (source,
my_source_callback,
NULL,
NULL);
g_source_attach (source, NULL); /* Refcount is now at 2 */
When the GSource is removed from its GMainContext, because the timeout executed, or because g_source_destroy () was called on it, etc. the
refcount will be dropped back down to 1, and it will hang around in memory. Make sure to call g_source_unref (source) on your GSource after
attaching it to the GMainContext, like so:
Good (doesn't leak)
GSource *source;
source = g_timeout_source_new (); /* Refcount is at 1 */
g_source_set_callback (source,
my_source_callback,
NULL,
NULL);
g_source_attach (source, NULL); /* Refcount is now at 2 */
g_source_unref (source); /* Refcount back down to 1 */
Let's not be excluding people. That'd be rude.
Thomas, I'm not going to waste too much time with someone who doesn't care, but just a few things:
- Is bugzilla broken?
- What versions of everything are you using? rpm -q NetworkManager dbus hal wireless-tools dhcdbd dhcp bind kernel
- One of the coolest things these days is NetworkManager. It's important for Fedora, GNOME, and Linux in general. It's important for its key contributors/users to get into. That means you. I'd hope that you of all people would not be set back for six months just because NetworkManager took your lunch money this one time. iwlist scan; iwconfig eth1 essid FOO key BAR; dhclient eth1; has been stealing lunch money and punching people in the face for much longer. If things are broken, there is a process you can follow to make a difference. This includes reporting bugs, issuing feedback in a more constructive way, and possibly offering patches. Helping understand the things and how they work and why they work the way they do is important because others will probably have the same questions. I know the shipped NetworkManager sucks in FC4. I'm trying hard to make it better. Let's get this fixed instead of taking the traditional cop out and just whining. I've realized it sucks, so I've started to fix the bugs in it. Why don't you try and help out instead of spreading FUD. Because we already have enough of it.
Win
I went to GNHLUG tonight to hear a presentation on OpenVPN. One of the first things I heard was "does anyone know of a good tool to scan for wireless networks?" to which I prompty responded "NetworkManager" and nobody seemed to know about it so I asked if I could demo it after the OpenVPN thing. It seemed somewhat interesting, even though it would have no practical use for me (not really compatible with Cisco VPN Concentrators). Halfway through, the presentation kind of slowed down as the demo didn't work (demos tend to do that for some reason), and people started to get restless. I decided this would be a good chance to get up and start selling NetworkManager.
The entire audience was pretty much in awe at how awesome it was. Afterward, several people were downloading source and attempting to compile it, and running into errors with different flavors of distros, but the response was overwhelmingly positive in spite of this. Some select comments: "This is the killer thing that Linux needs." "I have been avoiding putting linux on my laptop because of the wireless situation, but looks like I can install Linux on it finally." "This is great, you've gone and solved the entire wireless problem". All in all, a big win for NM.
Great Networking in Fedora has Arrived
WESTFORD, Mass. - Faithful users of the Fedora Core 4 linux distribution can now connect to wireless networks reliably. A version of NetworkManager 0.5.0 was released into the popular distribution's updates-testing channel, allowing users the chance to preview the software before it is released as an update to the general Fedora user base.
Using a laptop doesn't have to be difficult,
said Christopher Aillon, of Red Hat, Inc. With NetworkManager 0.5.0, users will find they are
able to roam without worrying about typing in a command to get their wireless working.
The new NetworkManager boasts a plethora of enhancements over the versions previously found in Fedora Core 4, including smarter handling of different wireless networks, improved artwork, and a better overall experience. While not yet at version 1.0, NetworkManager is stabilizing pretty rapidly, and many users will find it to be very useful.
I find it to be much more stable than previous versions
notes one user. David Zeuthen, a Danish software engineer, agrees. It's like my Mac,
actually,
he said. I can suspend and resume, it reattaches to the network on resume, and VPN works.
Users of Fedora Core 4 who wish to download the new NetworkManager packages may do so by typing the following command: yum --enablerepo=updates-testing update NetworkManager bind dhcdbd wireless-tools. Any bugs encountered should be reported to https://bugzilla.redhat.com/.
NetworkManager 0.5.0 Released
Lots of cool stuff - Get Yours Now! Rawhide packages are already built, and should make it in tomorrow's compose.
This is my rifle, this is my gun...
Welcome back, Dan. About time for you to stop playing Army. You've got some BSG to catch up on.
Live from the MIT Stata Center
Quote of the day: "...and if you happen to get rid of those 5 space tabs while you're at it, I won't complain too much."
Had a good chat with Robert Love today about NetworkManager at the GNOME summit. We talked about lots of things, including how to market the thing better. We need to make more releases, and get a few more bugs fixed. Another strong contributor or two (or more!) would be welcomed. The real thing we need to get working is WPA support. Williams? Quit slacking!
There is some architecture work I want to do and discussed in length with rml, but we both want to push hard to get NM working well enough for our upcoming enterprise releases.
Twenty-six
Live from the GNOME Boston Summit, I just produced builds of Firefox 1.5 beta 2 for rawhide. They'll be available for download next time rawhide syncs up.
Firefox 1.5 beta 2 released
I decided to download the linux installer build and went clicking through it. It put up a nice License Agreement notifying me that A SOURCE CODE VERSION
OF CERTAIN FIREFOX BROWSER FUNCTIONALITY THAT YOU MAY USE, MODIFY AND DISTRIBUTE IS AVAILABLE TO YOU FREE-OF-CHARGE FROM WWW.MOZILLA.ORG UNDER THE MOZILLA PUBLIC
LICENSE and other open source software licenses.
Excellent. I just happen to want the source code version of Firefox 1.5b2, being that I would like to
re-distribute the source code in Fedora Rawhide. What good fortune!
So, I visit www.mozilla.org like it says and go off to find the source code. Hey, there's a nice big button on the home page that directs me to http://www.mozilla.org/projects/firefox/. Darnit, no source. Hm, well, maybe I'm just looking in the wrong
place. It's got to be around here somewhere. I hover over each tab up top in succession: Products, Support, Store, Developers... hey wait. The Developers
tab's tooltip says Using Mozilla's Products for your own applications
, which is kind of close to what I'd like to do. I figure I'll attempt to find it
here.
Huzzah! There's a "Get the Source" link right there. I click upon it in excitement. It tells me Note: This
page has moved to http://developer.mozilla.org/docs/Download_Mozilla_Source_Code. You will be automatically redirected in 5 seconds.
I wait 5 seconds.
I read over this new page I'm at. The Mozilla source code can be obtained either
by download a source archive, or by using a CVS (source control) client. If you are just starting out, or you wish to build a particular Mozilla product release,
downloading a source archive is recommended.
Well, I want to build the source for particular product release, so I'll go look for the source archive.
Further down the page, I see The source code for a release can be found on the FTP
server directory for that release. For example, the Firefox 1.0.7 source code can be found in the "source" subdirectory on the FTP server.
Good enough. I
follow the FTP server link provided (http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0.7/) and notice that this is for Firefox 1.0.7 (safe assumption).
There's a source directory but that appears to be Firefox 1.0.7. Let's move up a
directory and look for it. Hey, there's a directory named 1.5b releases FTP directory, so
since that's the release I'm interested in source for, I go there only to find a
lack of source code!
Hrmph. Okay, well, I'll just go get it from this CVS thing I read on the previous page. There's a link to http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS which again notifies
me If you want to compile a product for release, it is generally better to Download Mozilla
Source Code tarballs.
I get slightly discouraged, but carry on....
I'll spare the remaining details, but I end up with the source code to cvs HEAD (latest development version), and never am able to find the source for the released 1.5b2 binary, like the MPL says I should be able to. Granted, I know well enough to look for the 'FIREFOX_1_5b2_RELEASE' tag, but can it be expected that everyone will? Arguably not. As a contributor with thousands of lines of code in Firefox 1.5 beta 2, I'd like to know that my modifications are available for all, not just those in on Mozilla's development practices. I know that the source tarball will be posted within 24 hours of the release, and more likely than not, much less than that. Still, that's a lot of time where the source isn't really "available" unless you are in the know. I'd bet most of the downloads come in when the news of a release is newer as opposed to older.
Chase and the release team do very good work, and I know there's a lot to do, so I'm not faulting him at all. I'm just questioning a (lack of?) policy that allows this to happen. We need to make the source available when we release the binaries. The MPL (and other licenses since we distribute code under other licenses) binds us to that. It's there (in CVS), we just need to make sure people can easily access it if they require it. Whether its making sure we have source tarballs available for our "releases" in the release directory (my favorite option), or directing users how to check out and build the correct CVS tag, we ought to do something more promiment. Let's hope the final 1.5 build has source available with the binary. It would be nice if we didn't care more about binaries than source, considering source is what makes us.
Dear Ron Moore, et. al:
Where can I purchase a Battlestar Fleet uniform? So far, I have been unsuccessful in tracking down said apparel. Rank doesn't matter much, however Commander would be preferable. I know you don't have to prove you are totally bad ass or anything, since your show is pretty frakking sweet, but it would make for an awesome story and a pretty fun and memorable Halloween and keep my mind off the fact that I have to wait for a few more months to see the rest of season 2 -- gah, pure evil. How the hell do you sleep at night!? Anyway, if you could let me know, that would be awesome. So say we all.