linux

Look ma, I found a kernel bug!

Oh great. I have experienced random hangups of my Laptop recently, and I had absolutely no clue what caused them, even after a reboot and looking into the logfiles. Today, after another hangup/crash I think I found the problem (but not the solution):

May 16 00:08:35 localhost kernel: NETDEV WATCHDOG: eth0: transmit timed out
May 16 00:08:35 localhost kernel: sky2 eth0: tx timeout
May 16 00:08:35 localhost kernel: x45 [sky2]
May 16 00:08:35 localhost kernel:  [pg0+943960755/1069376512] sky2_poll+0x469/0x548 [sky2]
May 16 00:08:35 localhost kernel:  [pg0+953407031/1069376512] nv_kern_isr+0x31/0x63 [nvidia]
May 16 00:08:35 localhost kernel:  [net_rx_action+82/199] net_rx_action+0x52/0xc7
May 16 00:08:35 localhost kernel:  [__do_softirq+52/125] __do_softirq+0x34/0x7d
May 16 00:08:35 localhost kernel:  [do_softirq+34/38] do_softirq+0x22/0x26
May 16 00:08:35 localhost kernel:  [irq_exit+41/52] irq_exit+0x29/0x34
May 16 00:44:32 localhost syslogd 1.4.1#17.2: restart.
May 16 00:44:32 localhost kernel: klogd 1.4.1#17.2, log source = /proc/kmsg started.

Note that I could do absolutely nothing on the laptop anymore, no moving the mouse, no typing on the keyboard, no switching from X11 into a text console, no CTRL+ALT+BACKSPACE to kill X11, no CTRL+ALT+DELETE to reboot, nothing.

I think sky2 (network driver) or the NVIDIA driver may be the culprit (or a combination of both). After some searching it seems other people have/had similar problems, but not quite the same...

I guess I'll have to file a bugreport somewhere...

OS Install Experiences - Introduction

Over the next few days or weeks I intend to install quite a bunch of free (as in beer) operating systems on one of my machines.

This has several reasons and benefits:

  • I want to get an overview of most popular OSes out there and hands-on experiences on how to install them and partly also how to administer and use them.
  • As I intend to not delete the OSes after the install, I'll have a massive-multi-boot system (>= 10 OSes) in the end. Managing to get this alone working might prove to be not exactly trivial... but definately interesting.
  • Recently I started a disussion on the debian-devel mailing list about which system users on a Debian system should get a valid shell (/bin/sh, for example) and which should only get something like /bin/false [1]. While I install all these OSes, I will create a comparison chart of which users have a valid shell and which don't on every other Unix-like OS I install. This will be quite interesting, I guess, and it might help others package maintainers to decide whether or not to give certain system users a valid shell.
  • It's a lot of fun :)

On the list I plan to install are most major (free) Unix-like operating systems, e.g. Debian, Ubuntu, Gentoo, Fedora Core, OpenSuSE, OpenBSD, FreeBSD, NetBSD, PC-BSD, OpenSolaris, and whatever else I can find out there. Basically, if I can download a CD image for free off the net, it's fine.

I'll be writing one small blog article per OS, stating my experiences, gotchas, pros and cons I noticed etc. If you have any suggestions for OSes or distributions I should look at, or ideas about other aspects of the OSes I could compare, please leave a comment.

[1] It has been pointed out that /usr/sbin/nologin or something similar is probably better than /bin/false, because it logs login attempts at these accounts (/bin/false doesn't).

Update: Articles published so far:

Debian packages release names - Reloaded [Update]

Upon popular request (my post was even featured on Debian Weekly News), I re-ran my previous query on the changelog files in Debian packages. This time, however, I didn't only retrieve 40 random package release names, but "all" of them, for unknown values of "all". I didn't analyze some of the files (missing permissions), and maybe I missed one or two because my query sucked, but I think I've got most of them.

I ran a slightly more complicated query than last time, using the data from gluck:/org/lintian.debian.org/laboratory/. I have not the slightest idea how old the files in that archive are, but there's ca. 10.000 packages in there — more than enough, if you ask me.

The results (78 KB) this time are in alphabetical order, and include the package names where the strings were found. There's a total of 1408 strings.

Here are 20 randomly chosen strings, for some more fun:

gdb: * The "Ahhhhhhhhhhhhhhhhhh!" Release.
glibc: * The "Fuck Me Harder" release.
abiword: * The "Foolin' Myself" release.
opensc: * The "RTFM" release.
directory-administrator: * The "On Train" release
xchat: * The "Merry Christmas, mine beloved Xchat users!" release.
apache: * The "Yes, we know there is a new upstream release" upload.
mmm-mode: * The "But I'm Not Dead Yet!" Release
mozilla-firefox: * The "becoming more and more an iceweasel" release.
nano: * The "Marbella, ciudad hermanada con Benidorm" release.
thy: * The `Empty Spaces' release.
glibc: * The "Chainsaw Psycho" release.
sam: * The `Minime' release.
xchat: * The "Binary only" release.
tellico: * The "pbuider and buildds are not the same" package release
pingus: * The "All you pingus are belong to blendi" release
xchat: * The "Ok, wrong patch, excuse me guys :)" release.
cappuccino: * The "It's time for the upload" release
abiword: * The "Got A Good Thing Goin'" release.
firefox: * The "what he taketh, he giveth back" release.

I also created a small statistic this time. Here's the Top-20 packages (the ones with the most release names):

64 abiword
62 thy
41 xchat
35 glibc
31 shadow
31 abcde
28 menu
18 reportbug
18 firefox
17 fetchmail
15 ccze
14 tama
14 mozilla-firefox
12 nano
12 apache2
11 gaim
10 debconf
9 mailutils
9 lirc
9 geneweb

Feel free to grab the whole results file for more reading fun during boring hours of the day.
If you do any further processing or analysis of any kind with the data, please post a comment and let us all know ;-)

Update 2006-05-23: Enrico Zini has done some interesting things with the data...

Debian packages release names [Update]

The "I'm bored" release.

nice -n 19 find /usr/share/doc -name changelog.Debian.gz -exec zgrep "\* The .* [Rr]elease" {} \; | sort | uniq | bogosort -n | head -40

* The "Crack-smoking Squirrel" release.
* The "I should not have got out of bed yesterday" release
* The "Wohoo-we-are-going-to-main" release.
* The "And I thought IE had security bugs!" release.
* The "First snow in Finland" release.
* The "please buy me a brain" release
* The "I speak better English than this villian Bush" release.
* The "Brief Return From The Hell" release.
* The "Stoned Monkey" release.
* The "Let's do it cleaner" release.
* The "Fuck Me Harder" release.
* The "All or Nothing" release
* The "What's my name? Say my name, bitch!" release.
* The "next time I will buy myself a powerpc" release.
* The "I'm in such a hurry" release!
* The "I *hate* when that happens" release.
* The 'DOH!' release.
* The "laptop envy (damn tbm for having a nicer one than me)" release.
* The "Drunken Iceweasel" release.
* The "Follow the white rabbit" Release.
* The "someone should take my compiler away from me" release
* The "Ooops, I did it again" release
* The "Argh-I-took-the-wrong-version" release.
* The "Friday before Christmas" Release :-)
* The 'Yes, I need more sleep, and also to test my releases' release.
* The "you can't get sunburn at Finland" release.
* The "Chainsaw Psycho" release.
* The "Son of Drunken Iceweasel" release.
* The "Perl Sucks" release.
* The "I fucking hate libtool" release.
* The 'No, I don't use CVS' release.
* The "Throwing stuff away like mad and seeing if it still builds" release.
* The "This Space Intentionally Left Blank" Release
* The "From now on all of my world-killing weapons will be kept a TOTAL SECRET!" release.
* The "Lesbian Seagull" release.
* The "Oh my God, they killed Python, you bastards!" release.
* The "Evil Bitch Monster of Death" release.
* The "Pain as bright as steel" release.
* The "I've been hiding under a rock for two weeks" release.
* The "Suddenly the Dungeon collapses!! - You die..." release

I didn't bother to run it on the whole Debian archive on one of the Debian developer machines, as that would have probably pissed off some admins...

(via Jonathan Carter)

Update 2006-05-10: I have now created a list of "all" release strings in Debian unstable, which is available for download and further processing ;-)

Stuff

Syndicate content