|

Monday March 09, 2009
DTrace, Fortran & Sun Studio
Just read a really, really cool article on a newly evolving feature of the Sun Studio Fortran Compiler, a -dtrace option, which will allow you to automatically generate dtrace probes in your Fortran code. Must go play when I get an opportunity... this is wickedly cool.
(2009-03-09 05:11:44.0)
Permalink

Tuesday October 21, 2008
live upgrade & 'mod_hold_stub: Couldn't load stub module fs/dcfs'
I'm running a few builds behind Solaris Express at the moment, but decided to catch up earlier today, anyway I forgot to update my liveupgrade packages and hit a panic, so for your perusal (and oddly my enjoyment, I don't exactly look at panics that often these days and you sometimes forget just how powerful tools like mdb are for post mortem analysis)......
> ::status
debugging crash dump vmcore.5 (32-bit) from tiresias
operating system: 5.11 snv_98 (i86pc)
panic message: mod_hold_stub: Couldn't load stub module fs/dcfs
dump content: kernel pages only
> ::cpuinfo
ID ADDR FLG NRUN BSPL PRI RNRN KRNRN SWITCH THREAD PROC
0 fec1e278 1f 0 0 35 no no t-0 d18dc400 Xorg
1 fec21d98 1b 1 0 0 no no t-0 e2f11c00 luupgrade
> ::pgrep luupgrade | ::walk thread | ::findstack
stack pointer for thread e2f11c00: de6c4b7c
de6c4b90 cmn_err+0x5a()
de6c4bb4 mod_hold_stub+0x161()
de6c4bf0 stubs_common_code+9()
de6c4c44 fop_lookup+0xac()
de6c4dfc lookuppnvp+0x313()
de6c4e44 lookuppnat+0xec()
de6c4ec4 lookupnameat+0x8b()
de6c4f14 cstatat_getvp+0x149()
de6c4f60 cstatat64+0x6b()
de6c4f84 stat64+0x1c()
de6c4fac sys_sysenter+0x106()
which points to the missing module listed in the status causing the error. Anyway a bit of digging around pointed to 6674815. The work around (and what you should always do anyway) is to update the live upgrade packages to the version of Solaris your upgrading to, from the bug workaround
# cd /So*/To*/Installers
# ./liveupgrade20 -nodisplalay -noconsole
After all of that, I'm happily upgrading and looking forward to playing around with the integrated version of powertop among other cute nv_100 toys. Speaking of power, you do know about the Sun Intelligent Power Monitoring Service don't you?
(2008-10-21 09:09:52.0)
Permalink

Monday July 28, 2008
Solaris Nevada 94 on Acer Aspire 5610
I've been a bit lax on my Nevada upgrades for my laptop recently, but I got a chance today to bring myself back up to date with snv_94. If your going to install this on an Acer Aspire 5610 you will run into a panic on boot due to some recent ACPI changes.
Straight off on boot you will get a panic similar to below, you will however
need to boot in kmdb mode to see this properly (just add -k to your grub options).
ddi_driver_major+9(0)
ddi_create_minor_common+0x51(0, f97a5538, 2000, 400, f97a5720, 0)
ddi_create_minor_node+0x25(0, f97a5538 , 2000, 400, f97a5720, 0)
acpi_drv`acpi_drv_attach+0xc2()
The work around is to add -B disable-acpi_drv=true to your grub options, my snv_94 grub entry reads
title snv_94
root (hd0,2,a)
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B disable-acpi_drv=true -B acpi-user-options=8
module$ /platform/i86pc/$ISADIR/boot_archive
There is a fix in place for snv_95, and the relevant bugs are
- 6726425 - Dell XPS M1330 panic in 32 bit kernel.
- 6727562 - acpi_drv: snv_94 panics on 3 different laptops.
(2008-07-28 06:36:53.0)
Permalink

Thursday April 10, 2008
xVM and the art of beer maintenance
We all know global warming is occurring, and from individual's
to corporations we can all make a contribution to containing, and eventually reversing climate change,
and save a bit of cash along the way as well. Seems like a win, win deal to me. But now the urgency
has grown, a colleague of mine forwarded on an article about the price of beer. The price of beer I
hear you ask? From the AP
release
Jim Salinger, a climate scientist at New Zealand's National Institute of Water and Atmospheric
Research, said climate change likely will cause a decline in the production of malting barley
in parts of New Zealand and Australia. Malting barley is a key ingredient of beer.
"It will mean either there will be pubs without beer or the cost of beer will go up," Mr. Salinger
told the Institute of Brewing and Distilling convention.
Now considering the fact, to borrow a quote the folks over on Goats, that
Beer is the salvation of all mans souls
this is a matter of some urgency for all of us
in the technology industry to address. Luckily for us the most complete suite of technologies, services
and solutions to address these problems is available from Sun.
Virtualization & Consolidation
There is virtualization from the management layer with
Sun xVM Ops Center, to
our hypervisor level offering xVM,
based on the work of the openxVM community, to logical domains
with LDoms on our award
winning CoolThreads servers,
to software level virtualization with Solaris
Zones and desktop level virtualization with Sun
xVM VirtualBox.
Using xVM and our range of
x64
and
Sun Blade Systems you can consolidate
your existing Solaris, Windows and Linux environments into one environment. Personally I still
have a soft spot for the Sun Fire x4600 M2,
but given the choice I would go for the Sun Blade
6000 with Sun Blade x6220 Server Modules
for x64 and x86 consolidation.
Why the Sun Blade 6000? Very simple, because
I can use the same blade chassis with LDoms
and the Sun Blade T6320 Server Module to
consolidate my existing Sparc applications. Of course if you don't feel that xVM is the right choice for your Windows or Linux consolidation all
of our x64 servers are VMWare certified,
and you can get your support and services directly from
Sun.
Sometimes however its not possible to migrate your ISV application to the latest version of
Solaris, we are all aware of the application that
was certified on with database X, jvm y and os z that no one wants to get recertified due to
the costs, but you know that the old machine thats there is just not efficient any more, users
would like better performance that can only come from a hardware upgrade, but the new hardware
doesn't support the old OS - fear not as
Solaris 8 Containers, building
on the excellent work of the Zones
and BrandZ communities over at
OpenSolaris allows you to safely consolidate
applications certified for Solaris 8 and Solaris 9
applications using Solaris 10 Containers, using any of our servers, from the most energy efficent
servers on the market,
Suns CoolThreads servers, to
our high end offerings.
If your not sure if this is for you or uncertain if you want to undertake a migration, why not
get one of our newly launched Sun Sparc
Enterprise T5140 Servers on our Try & Buy program, contact our Professional Services group about our
Enterprise Migration service, and see how much you could save on power, maintenance and support. Your boss will thank you for
saving your business money and more importantly you will be helping to protect the global beer supply, which we all know is the real issue here :).
(2008-04-10 05:43:10.0)
Permalink

Wednesday July 25, 2007
compiling lame
I was compiling up lame earlier on this evening, and encountered the following error
brhist.c: In function `brhist_disp':
brhist.c:432: error: syntax error before '->' token
brhist.c:459: error: invalid type argument of `->'
brhist.c:465: error: invalid type argument of `->'
Anyway the good folks over at pkgsrc have a work around documented.
(2007-07-25 15:11:42.0)
Permalink

Monday July 23, 2007
Solaris Freeware Downloads
Solely because I've just spent fifteen minutes searching for the relevant link, a direct link for Freeware Downloads for the Solaris 10 Operating System, which of course work on Nevada as well.
(2007-07-23 03:39:15.0)
Permalink

Wednesday July 11, 2007
Flash 9 for Solaris
Its been in beta for a while, but Leon Sha has announced that Flash Player 9 for Solaris is now available. It should be integrated directly into Solaris Express relatively soon. And yes, before someone comments, I would like to see Acrobat on x86 as well, but if you haven't looked at it, evince is more than suffice, and is bundled as part of JDS.
(2007-07-11 03:45:08.0)
Permalink

Wednesday March 28, 2007
Building And Deploying OpenSolaris
The slides from my presentation on Building and Deploying OpenSolaris which I gave to the Irish OpenSolaris Users Group last night are now available. Thanks to Stephen Lau, Darren Moffat and Tim Foster for various contributions to the presentation.
Now some urls for the various bits and pieces I mentioned last night.
- Mercurial and the SCM Project
- Compilers and build tools
- Usefull things to use in conjunction with bfu
(2007-03-28 05:27:04.0)
Permalink

Tuesday March 27, 2007
Last minute voting....
Have you used your vote? If you are a core contributor for OpenSolaris you still have a few hours left to vote in the current open polls.
- Board Election 2007
- Ratify Constitution
Head over to poll.opensolaris.org for the details.
(2007-03-26 17:19:32.0)
Permalink

Wednesday March 07, 2007
Irish OpenSolaris Users Group @ Trinity, March 27th
The next Irish OpenSolaris Users Group meeting is being hosted at Trinity College on March 27th, courtesy of Trinty Netsoc. Tim is mailing out the details at the moment, but if your a bit impatient you can also take a look on the users group page. Or just read on for a slighty abridged version of the annoucement
Seventh Irish OpenSolaris User Group Meeting
Topic An introduction to OpenSolaris
Date Tuesday 27th Mar 2007
Time 6:30pm onwards
Location Swift Theatre, Arts Block – TCD, courtesy of Netsoc
Directions TCD
This month, we're going to hold a presentation on a topic that's probably a bit
overdue, but better late than never.
An Introduction to OpenSolaris
Tim will be covering:
* Why OpenSolaris was started
* How the project is organised
* A short history of the project to date
And now the surprising part, yours truly will be presenting ..............
Fintan has volunteered to present:
* Building & installing your own OpenSolaris bits
* How you can start contributing
So, if you're interested in learning more about OpenSolaris, as well as
how to get started hacking on the code, you should definitely come along.
We've also got a slot for our monthly run-down of OpenSolaris highlights
since our last meeting in February, however, we don't yet have someone who
can present this – if you're interested, please drop us a mail
Looking forward to seeing you there!
So as Tim said, pop along, and you never know, we may manage a beer afterwards. And I'll explain the difference between has and was to some folks (don't worry, I had planned to do a talk Tim ;) ).
(2007-03-07 08:26:44.0)
Permalink

Tuesday December 05, 2006
OpenSolaris Developer Conference 2007
The German Unix Users Group is organising the OpenSolaris Developer Conference 2007, in Berlin, from Feb 27th to March 2nd, and there is still time to respond to their call for papers. Should be an interesting conference. Having missed out on a trip to Berlin when I briefly wroked in Germany a few years back I think I may have found a perfect excuse to go visit ;).
(2006-12-05 08:22:45.0)
Permalink

Tuesday October 17, 2006
Jumpstart, multiple nics and ipv6
Quick tip. In most of the jumpstart examples that one sees, and certainly with the way we configure machines within our own lab, people generally specify one network interface and configure the rest later [1]. Jumpstart, using the network interface keyword can allow you to avoid this if you wish.
Currently we are doing some ipv6 work, and the system that we were setting up has two interfaces which will be used as ipv6 interfaces, while the primary interface is just ipv4. An example sysidcfg file to achieve this on installation is below
system_locale=C
timezone=GB-Eire
terminal=dtterm
network_interface=iprb0 {primary
hostname=mach-ipv4
netmask=255.255.255.0
protocol_ipv6=no
default_route=192.1.2.254}
network_interface=iprb1 {hostname=ipv6-1
ip_address=10.1.1.2
netmask=255.255.255.0
protocol_ipv6=yes
default_route=NONE}
network_interface=e1000g0 {hostname=ipv6-2
ip_address=10.1.2.2
netmask=255.255.255.0
protocol_ipv6=yes
default_route=NONE}
nfs4_domain=sun.com
root_password=xxxxxxxxxxxxx
timeserver=localhost
name_service=NIS { domain_name=blah.test.sun.com }
security_policy=none
This results in the following network setup (this setup is on Nevada build 49).
# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843 mtu 1500 index 2
inet 10.1.2.2 netmask ffffff00 broadcast 10.1.2.255
ether 0:2:b3:bb:c5:b2
iprb0: flags=1000843 mtu 1500 index 3
inet 192.1.2.230 netmask ffffff00 broadcast 192.1.2.255
ether 0:3:47:30:ee:21
iprb1: flags=1000843 mtu 1500 index 4
inet 10.1.1.2 netmask ffffff00 broadcast 10.1.1.255
ether 0:3:47:30:ee:22
lo0: flags=2002000849 mtu 8252 index 1
inet6 ::1/128
e1000g0: flags=2000841 mtu 1500 index 2
inet6 fe80::202:b3ff:febb:c5b2/10
ether 0:2:b3:bb:c5:b2
iprb1: flags=2000841 mtu 1500 index 4
inet6 fe80::203:47ff:fe30:ee22/10
ether 0:3:47:30:ee:22
#
[1] We generally configure extra interfaces within our benchmarking framework, as different configs are required from the same machine.
(2006-10-17 03:24:35.0)
Permalink

Thursday August 17, 2006
Demangling C++ symbol names
Like quite a few of my colleagues I ordered the the two volume update of Solaris Internals pretty
much as soon as they came out, and one of the most useful tips I have come across in
reading of Solaris Performance and Tools is a program bundled with
the Sun Studio Compilers, c++filt.
c++filt demangles C++ symbol names, (for postmortem debugging mdb has the ::dem dcmd [1]),
and is mentioned with reference to java in several sections of the the book. Anyway an
example will save you listening to me ramble on, so as an example lets look at an abbreviated
pstack(1) of a java process on my desktop.
tiresias /home/fintanr $ ptree `pgrep java`
2287 /usr/bin/java -jar /usr/lib/patch/swupna.jar -wait
28414 /usr/jdk/instances/jdk1.5.0/jre/bin/java -client -Xbootclasspath/a:/usr/jdk/ins
tiresias /home/fintanr $ pstack 28414
... snip....
----------------- lwp# 38 / thread# 38 --------------------
fef38c27 lwp_cond_wait (830a4a8, 830a490, 0, 0)
feab748c __1cCosHSolarisFEventEpark6M_v_ (830a468) + 4c
feab6b36 __1cNObjectMonitorEwait6MxipnGThread__v_ (814c774, 0, 0, 1, 8652e80) + 346
feab64b0 __1cSObjectSynchronizerEwait6FnGHandle_xpnGThread__v_ (82e55cc, 0, 0, 8652e80) + 70
feab6204 JVM_MonitorWait (8652f40, ee37bbb0, 0, 0, ee37bb7c, 0) + 234
f9207fcd ???????? (0, f9206269, 0, 0, ef8fe738, ee37bbb4)
f9202a7b ???????? (ef8fe738, 3, ef8fe738, ee37bbdc, f35a9d08, ee37bc20)
f9202a7b ???????? (0, 0, 0, ef8fe738, 0, efa090d0)
f9202d81 ???????? (efa090d0, ee37bc68, fedb2000, 8652e80, 1, ee37bcfc)
f9200152 ???????? (ee37bca8, ee37be4c, a, f342b5b0, f92072d0, ee37bda8)
feaa86d7 __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_
(ee37be48, ee37bd40, ee37bda4, 8652e80, ee37bd34, feaa8528) + 187
feaa8544 __1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread_
_v2468_v_ (feaa8550, ee37be48, ee37bd40, ee37bda4, 8652e80) + 14
feaa8528 __1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_
(ee37be48, 82e55c8, ee37bda4, 8652e80) + 28
feab5ede __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments
_pnGThread__v_ (ee37be48, 82e55bc, fedd4e58, fedd4f28, ee37bda4, 8652e80) + be
feab5e0d __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v
_ (ee37be48, 82e55b8, 82e55bc, fedd4e58, fedd4f28, 8652e80) + 6d
feab5d80 __1cMthread_entry6FpnKJavaThread_pnGThread__v_ (8652e80, 8652e80) + d0
feab5c81 __1cKJavaThreadRthread_main_inner6M_v_ (8652e80) + 51
feab5c25 __1cKJavaThreadDrun6M_v_ (8652e80) + 105
fecc05e2 __1cG_start6Fpv_0_ (8652e80) + d2
fef37bdd _thr_setup (fbe66000) + 51
fef37e30 _lwp_start (fbe66000, 0, 0, 0, fbe66000, ee37bff8)
tiresias /home/fintanr $ pstack 28414 | ./c++filt
.... snip.....
---------------- lwp# 38 / thread# 38 --------------------
fef38c27 lwp_cond_wait (830a4a8, 830a490, 0, 0)
feab748c void os::Solaris::Event::park() (830a468) + 4c
feab6b36 void ObjectMonitor::wait(long long,int,Thread*) (814c774, 0, 0, 1, 8652e80) + 346
feab64b0 void ObjectSynchronizer::wait(Handle,long long,Thread*) (82e55cc, 0, 0, 8652e80) + 70
feab6204 JVM_MonitorWait (8652f40, ee37bbb0, 0, 0, ee37bb7c, 0) + 234
f9207fcd ???????? (0, f9206269, 0, 0, ef8fe738, ee37bbb4)
f9202a7b ???????? (ef8fe738, 3, ef8fe738, ee37bbdc, f35a9d08, ee37bc20)
f9202a7b ???????? (0, 0, 0, ef8fe738, 0, efa090d0)
f9202d81 ???????? (efa090d0, ee37bc68, fedb2000, 8652e80, 1, ee37bcfc)
f9200152 ???????? (ee37bca8, ee37be4c, a, f342b5b0, f92072d0, ee37bda8)
feaa86d7 void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)
(ee37be48, ee37bd40, ee37bda4, 8652e80, ee37bd34, feaa8528) + 187
feaa8544 void os::os_exception_wrapper(void(*)(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),
JavaValue*,methodHandle*,JavaCallArguments*,Thread*) (feaa8550, ee37be48, ee37bd40, ee37bda4,
8652e80) + 14
feaa8528 void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*) (ee37be48,
82e55c8, ee37bda4, 8652e80) + 28
feab5ede void JavaCalls::call_virtual(JavaValue*,KlassHandle,symbolHandle,symbolHandle,JavaCallArguments*,
Thread*) (ee37be48, 82e55bc, fedd4e58, fedd4f28, ee37bda4, 8652e80) + be
feab5e0d void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,symbolHandle,symbolHandle,Thread*)
(ee37be48, 82e55b8, 82e55bc, fedd4e58, fedd4f28, 8652e80) + 6d
feab5d80 void thread_entry(JavaThread*,Thread*) (8652e80, 8652e80) + d0
feab5c81 void JavaThread::thread_main_inner() (8652e80) + 51
feab5c25 void JavaThread::run() (8652e80) + 105
fecc05e2 void*_start(void*) (8652e80) + d2
fef37bdd _thr_setup (fbe66000) + 51
fef37e30 _lwp_start (fbe66000, 0, 0, 0, fbe66000, ee37bff8)
Very handy if I do say so.
|
[1] mdb ::dem help
|
> ::help dem
NAME
dem - demangle C++ symbol names
SYNOPSIS
::dem name ...
ATTRIBUTES
Target: kvm
Module: mdb
Interface Stability: Evolving
|
(2006-08-17 04:30:42.0)
Permalink

Tuesday July 04, 2006
3rd Irish OpenSolaris User Group Meeting
Subject: 3rd Irish OpenSolaris User Group Meeting
Date: Tue, 04 Jul 2006 12:08:00 +0100
From: Tim Foster
To: iosug@yahoogroups.com
Hi All,
We're going to hold our 3rd meeting in a few weeks time - on Tuesday
25th July. In general, I think it might be good to try to always do one
on the last Tuesday in every month in the future, which would make it
easier to schedule things.
Here are the details for the next meeting:
Topic : DTrace
Date : Tue 25th July, 19:00
Location: Sun Offices, East Point Business Park
This month's main topic will be DTrace. Sean McGrath, an engineer in the
Sun Ireland Performance Group will give us an introduction to the
Dynamic Tracing facility in OpenSolaris and will also be doing some live
demos for us.
If you're doing *any* application development on *any* UNIX-like
operating system, and that app can be compiled on OpenSolaris, then you
really should come along - DTrace is well worth a few hours of your time
(and it'll almost certainly pay back that time a thousand-fold once you
learn how to use it!)
Sean's asked that anyone who has applications which compile on
OpenSolaris (x86 if possible) that they bring them along, and we'll have
a look at any possible performance problems they might have: DTrace is
best demoed on applications the audience is familiar with, so now's your
chance - if a bit of software has been bugging you, and you're not sure
what's wrong, DTrace can help. Examples could be:
* a webserver with unexplained (performance) problems
* you want to see what xmms is reall doing ?
* how a shell script executes
* why does my terminal-emulator take so long to scroll
(the list is endless)
We want your applications!
As well as that, I'll try to do a quick run-down of OpenSolaris-related
things that have happened since our last meeting.
[snip .... ]
(2006-07-04 05:32:23.0)
Permalink

Monday June 26, 2006
IE-OSUG @ ApacheCon Europe
ApacheCon Europe kicked off today, and conveniently
for us its on in Dublin this year. Sean, Nicky, possibly Tim, (a guest appearance on returning from hisholidays) and I will be floating around at various times from Wednesday to Friday, wearing our Irish OpenSolaris Users Group caps (okay not literally in my case, baseball caps just don't suit) at the Sun booth.
If your attending feel free to call by for a general chat, or more detailed questions. We will have iso's of the various distros with us if you want to try the live cd's of Nextena, Belenix and SchilliX, or the latest release of Solaris Express.
(2006-06-26 09:51:52.0)
Permalink
|