Chris Quenelle's Weblog
Thoughts on developer tools.

All | Dbx | Development Tools | Life in General | OpenSolaris | plus | Software Philosophy | Sun Studio

fav comics

« Previous day (May 30, 2007) | Main | Next day (Jun 1, 2007) »
20070531 Thursday May 31, 2007

libumem dbx module update (works on Solaris 9 now)

New version of umem.dbx is here

A kind soul tried my libumem dbx module and ran into some problems. It turns out he was running on Solaris 9, and I hadn't ever tried it on Solaris 9 before (my desktop machine is Solaris Nevada). So I gave it a spin, and ran into the same kind of failure that he did. The short story is I made some bug fixes, and it now works fine and dandy on Solaris 9 and 10. Of course, this is still a "copious spare time" project. So it hasn't been very heavily tested yet.

dbx: warning: unknown language, 'c' assumed 
dbx: "umem_transaction_log" is not defined in the scope `libc.so.1`_kill` 

It turns out that one symbol changed names during the backport of libumem to Solaris 9. umem_max_ncpus is called max_ncpus on Solaris 9. Also, for some reason, dbx is a little schizophrenic about looking up symbols sometimes. On Solaris 9, dbx thinks the global variables are file static I need to use the fully qualified scope, `libumem.so.1`umem.c`umem_transaction_log instead of just umem_transaction_log. Luckily I don't need to hard code the source file name. I can use the dbx which command to find the symbol, but dbx still requires me to use the scoped name to print it.

(dbx) print umem_transaction_log
dbx: "umem_transaction_log" is not defined in the scope `a.out`t.c`main`
(dbx) whereis umem_transaction_log      
variable:       `libumem.so.1`umem.c`umem_transaction_log
(dbx) print `libumem.so.1`umem.c`umem_transaction_log
`libumem.so.1`umem.c`umem_transaction_log = 163848

But that only seems to be necessary on Solaris 9.

Thankfully, you don't have to worry about any of that. Just download the latest version and give it a try.

Posted by Chris Quenelle ( May 31 2007, 02:20:35 PM PDT ) - Permalink - -

Older blog entries:

mug shot Chris Quenelle is a tools developer at Sun Microsystems. He's worked on performance and debugging tools at Sun for more than 10 years. He reads comic books and science fiction, and has more tivos than he can keep track of.

Calendar

RSS Feeds

Search

Links

Navigation

Referers