Archive for 'Solaris Debugging'

When direct I/O attacks!

I was recently asked by one of my colleagues to investigate a slow disk subsystem on one of our servers. The administrator was getting horrible I/O throughput when unzipping files, and the Oracle installer was erroring out when attempting to perform a database upgrade. To get a better idea of just how bad the situation [...]

Correlating truss sys# entries to system call names

While trussing a process today, I came across several lines similar to the following: $ truss -r all -w all -x all -v all -leaf -p 1234 [ ..... ] sys#208(0x0000000F, 0x10009E050, 0×00000000, 0×00000000, 0×00000000) = 0×00000000 [0x10009E050] This line doesn’t contain the system call name, but contains a “sys#” block to indicate which system [...]

Root causing a bug in the Solaris display_stack_info() function

I recently came across the Apache backtrace module, and thought it would be fun to get the module working with Solaris since it only supported Linux and FreeBSD. Since Solaris provides the printstack() function to view stack frames up to a specific point in time, I thought I would be able to add the following [...]

Fixing fetchmail NLS breakage

To address the recent vulnerabilities with fetchmail, I wanted to upgrade to the latest secure version. Having performed this operation numerous times in the past, I used the following process to download and compile the source code: $ wget http://download.berlios.de/fetchmail/fetchmail-6.2.5.2.tar.gz $ configure –with-ssl=/usr/local/ssl $ make [ ...... ] cd intl; make make: Fatal error in [...]

Fix for Solaris SSH client hangs

One of my colleagues came to me with an ssh problem a few weeks back, and I thought I would share my findings here. The issue centered around ssh hanging when you tried to invoke a command on a remote server, similar to this: $ ssh host “ls -la” When I added the “-vv” (verbose [...]

Selectively tracing Solaris system calls

I was debugging an I/O problem last week, and needed to see how an application was using a UFS file system on a Solaris 9 server. Solaris comes with the “truss” utility, which can be used to trace library and system calls. When truss is invoked with the “-t” option, only the system calls passed [...]

  Recent Entries »