Return-Path: Delivered-To: apmail-commons-user-archive@www.apache.org Received: (qmail 58132 invoked from network); 26 Jul 2010 12:49:13 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 26 Jul 2010 12:49:13 -0000 Received: (qmail 99305 invoked by uid 500); 26 Jul 2010 12:49:12 -0000 Delivered-To: apmail-commons-user-archive@commons.apache.org Received: (qmail 98304 invoked by uid 500); 26 Jul 2010 12:49:08 -0000 Mailing-List: contact user-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Users List" Delivered-To: mailing list user@commons.apache.org Received: (qmail 98294 invoked by uid 99); 26 Jul 2010 12:49:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Jul 2010 12:49:06 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of mgainty@hotmail.com designates 65.55.116.88 as permitted sender) Received: from [65.55.116.88] (HELO blu0-omc3-s13.blu0.hotmail.com) (65.55.116.88) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Jul 2010 12:48:57 +0000 Received: from BLU142-W3 ([65.55.116.74]) by blu0-omc3-s13.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 26 Jul 2010 05:48:35 -0700 Message-ID: Content-Type: multipart/alternative; boundary="_60b54948-e6d7-4e06-a682-80f0d83d27c3_" X-Originating-IP: [75.68.3.126] From: Martin Gainty To: Subject: RE: [daemon]UnsatisfiedLinkError: net exception thown through JSVC but not when natively called Date: Mon, 26 Jul 2010 08:48:35 -0400 Importance: Normal In-Reply-To: <9FF34ADED7259A479B40B1EB0462DD5129A8EC3AF2@MSGCMSV21014.ent.wfb.bank.corp> References: <9FF34ADED7259A479B40B1EB0462DD5129A8DC0D79@MSGCMSV21014.ent.wfb.bank.corp>,,<9FF34ADED7259A479B40B1EB0462DD5129A8DC1049@MSGCMSV21014.ent.wfb.bank.corp>,,<9FF34ADED7259A479B40B1EB0462DD5129A8EC3AF2@MSGCMSV21014.ent.wfb.bank.corp> MIME-Version: 1.0 X-OriginalArrivalTime: 26 Jul 2010 12:48:35.0556 (UTC) FILETIME=[DC89EA40:01CB2CC0] X-Virus-Checked: Checked by ClamAV on apache.org --_60b54948-e6d7-4e06-a682-80f0d83d27c3_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable one more item on commons-daemon =20 I found out what the issue was. The commons-daemon-native.tar.gz file contains archive library and object files in the unix directory that were compiled on some other system. I would recommend that this tar file is repackaged=2C doing a make clean in the unix directory before repackaging. http://www.junlu.com/list/8/655090.html keep us apprised=2C Martin=20 ______________________________________________=20 Verzicht und Vertraulichkeitanmerkung/Note de d=E9ni et de confidentialit= =E9 Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaeng= er sein=2C so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiter= leitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient l= ediglich dem Austausch von Informationen und entfaltet keine rechtliche Bin= dungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen w= ir keine Haftung fuer den Inhalt uebernehmen. Ce message est confidentiel et peut =EAtre privil=E9gi=E9. Si vous n'=EAtes= pas le destinataire pr=E9vu=2C nous te demandons avec bont=E9 que pour sat= isfaire informez l'exp=E9diteur. N'importe quelle diffusion non autoris=E9e= ou la copie de ceci est interdite. Ce message sert =E0 l'information seule= ment et n'aura pas n'importe quel effet l=E9galement obligatoire. =C9tant d= onn=E9 que les email peuvent facilement =EAtre sujets =E0 la manipulation= =2C nous ne pouvons accepter aucune responsabilit=E9 pour le contenu fourni= . =20 > From: Jason.C.Burns@wellsfargo.com > To: user@commons.apache.org > Date: Fri=2C 23 Jul 2010 19:01:14 -0500 > Subject: RE: [daemon]UnsatisfiedLinkError: net exception thown through JS= VC but not when natively called >=20 > Sorry Martin=2C still at a loss. I don't get the reference as to how > stripping debug code from libraries applies here (I understand what you'r= e > saying and agree with it=2C I just don't see how it is relevant here). >=20 > I have an application that ran fine under IBM JRE 5 and jsvc 1.0.1 and > 1.0.2. I upgraded to IBM JRE 6 and now I get the link exception. The code > hasn't changed - unless you're referring to the IBM JRE library? If that > was the case=2C why would it work when the JVM is created by the JRE's > bin/java command? >=20 > Perhaps someone knows of a way to get more debugging information from the > JVM? As I showed in my previous post=2C we can see where in the code the = link > error is happening=2C but perhaps a more verbose JRE library would tell m= e > why? Anyone know of such a thing? >=20 > Or have any other ideas? >=20 > Jason >=20 >=20 > > -----Original Message----- > > From: Martin Gainty [mailto:mgainty@hotmail.com] > > Sent: Friday=2C July 23=2C 2010 11:29 AM > > To: user@commons.apache.org > > Subject: RE: [daemon]UnsatisfiedLinkError: net exception thown through > > JSVC but not when natively called > >=20 > >=20 > >=20 > >=20 > > sometimes when programmers strip their debug code they also strip worki= ng > > code so the rule is > >=20 > > debug library always work..a programmer could'nt declare working code > > without a debug library > >=20 > > production library (without the debug statements) usually work..if not > > fall back to debug library > >=20 > >=20 > >=20 > > take a look at Doug Kileys solution for JSVC problem with Snow Leopard.= .he > > used 1.02 commons daemon to fix > >=20 > > https://issues.apache.org/jira/browse/DAEMON-129 > >=20 > > in this case the culprit was commons-daemon 1.01 > >=20 > > upgrade to commons-daemon 1.01 with patches or > >=20 > > upgrade to commons-daemon 1.02 and see if that resolves > >=20 > >=20 > >=20 > > keep us apprised=2C > > Martin Gainty > > ______________________________________________ > > Verzicht und Vertraulichkeitanmerkung/Note de d=E9ni et de confidential= it=E9 > >=20 > >=20 > > Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene > > Empfaenger sein=2C so bitten wir hoeflich um eine Mitteilung. Jede unbe= fugte > > Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachric= ht > > dient lediglich dem Austausch von Informationen und entfaltet keine > > rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von= E- > > Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. > > Ce message est confidentiel et peut =EAtre privil=E9gi=E9. Si vous n'= =EAtes pas le > > destinataire pr=E9vu=2C nous te demandons avec bont=E9 que pour satisfa= ire > > informez l'exp=E9diteur. N'importe quelle diffusion non autoris=E9e ou = la > > copie de ceci est interdite. Ce message sert =E0 l'information seulemen= t et > > n'aura pas n'importe quel effet l=E9galement obligatoire. =C9tant donn= =E9 que > > les email peuvent facilement =EAtre sujets =E0 la manipulation=2C nous = ne > > pouvons accepter aucune responsabilit=E9 pour le contenu fourni. > >=20 > >=20 > >=20 > >=20 > >=20 > > > From: Jason.C.Burns@wellsfargo.com > > > To: user@commons.apache.org > > > Date: Thu=2C 22 Jul 2010 19:42:34 -0500 > > > Subject: RE: [daemon]UnsatisfiedLinkError: net exception thown throug= h > > JSVC but not when natively called > > > > > > Thanks for the reply Martin=2C but I'm a little confused. After readi= ng > > the > > > page you sent=2C it seems kdb is a kernel debugger for processing sys= tem > > > dumps. This is a java exception from the JVM running in user space. > > There > > > is no dump file and unless I'm missing something=2C I don't know how = the > > > kernel trace is going to help me here. Can you perhaps just give a bi= t > > more > > > information about what you had in mind? Thanks for taking the time to > > > reply. > > > > > > Jason > > > > > > > -----Original Message----- > > > > From: Martin Gainty [mailto:mgainty@hotmail.com] > > > > Sent: Thursday=2C July 22=2C 2010 5:28 PM > > > > To: user@commons.apache.org > > > > Subject: RE: [daemon]UnsatisfiedLinkError: net exception thown thro= ugh > > > > JSVC but not when natively called > > > > > > > > > > > > load in kdb and read the debug output back > > > > http://www.aixmind.com/?p=3D637 > > > > > > > > > > > > > > > > hth > > > > Martin Gainty > > > > ______________________________________________ > > > > do not alter ot disrupt this transmission. Thank You > > > > > > > > > > > > > > > > > > > > > From: Jason.C.Burns@wellsfargo.com > > > > > To: user@commons.apache.org > > > > > Date: Thu=2C 22 Jul 2010 17:18:56 -0500 > > > > > Subject: [daemon]UnsatisfiedLinkError: net exception thown throug= h > > JSVC > > > > but not when natively called > > > > > > > > > > Hopefully the mailing list can help where I have failed after > > pulling my > > > > > hair out for three days. Any advice will be greatly appreciated. > > > > > > > > > > I have an AIX 5.2 machine with daemons 1.0.2 and IBM's latest JRE= 6 > > > > > installed: > > > > > > > > > > bash-3.1# ./jre/bin/java -version > > > > > java version "1.6.0" > > > > > Java(TM) SE Runtime Environment (build pap3260sr8-20100409_01(SR8= )) > > > > > IBM J9 VM (build 2.4=2C JRE 1.6.0 IBM J9 2.4 AIX ppc-32 > > > > > jvmap3260sr8-20100401_55940 (JIT enabled=2C AOT enabled) > > > > > J9VM - 20100401_055940 > > > > > JIT - r9_20100401_15339 > > > > > GC - 20100308_AA) > > > > > JCL - 20100408_01 > > > > > > > > > > 1.0.2 is compiled with > > > > > > > > > > ./configure --with-java=3D$(JAVA_HOME) > > > > > make > > > > > > > > > > This includes a small patch to location.c and appsupport.m4 just = to > > > > enable > > > > > jsvc to find the jvm.cfg and libjvm.so files during startup. > > > > > > > > > > I have a Java application that implements the Daemon class. I'm > > trying > > > > to > > > > > update the JRE from 5 to 6 - this application worked fine under 5 > > and > > > > > upgraded on other OSes to 6 with no issues. Part of the > > initialization > > > > of > > > > > this class is a routine to create an RMI registry. A partial exam= ple > > is > > > > > below: > > > > > > > > > > From the Daemon class: > > > > > > > > > > public void init(DaemonContext arg0) throws Exception > > > > > { > > > > > log.debug("Initializing client from the Daemon process.")=3B > > > > > > > > > > log.debug("Setting environment variables.")=3B > > > > > System.setProperty("javax.net.ssl.trustStore"=2C "")=3B > > > > > System.setProperty("javax.net.ssl.trustStoreType"=2C "jks")=3B > > > > > > > > > > > > > > > > > > > > log.debug("Initializing client.")=3B > > > > > client =3D new Client()=3B > > > > > if (arg0 =3D=3D null) > > > > > client.init(null)=3B > > > > > else > > > > > client.init(arg0.getArguments())=3B > > > > > > > > > > > > > > > > > > > > hasInit =3D true=3B > > > > > log.debug("Initializing done.")=3B > > > > > } > > > > > > > > > > And from the Client class: > > > > > > > > > > public void init(String[] cmdArgs) > > > > > { > > > > > log.debug("Initializing Client.")=3B > > > > > > > > > > > > > > > > > > > > try > > > > > { > > > > > // Set up RMI for . Start with the registry. > > > > > if (rmiRegistry =3D=3D null) > > > > > { > > > > > log.debug("Trying to start the rmi registry.")=3B > > > > > rmiRegistry =3D LocateRegistry.createRegistry(rmiport)=3B > > > > > log.debug("Registry started.")=3B > > > > > } > > > > > > > > > > } > > > > > catch (Exception e) > > > > > > > > > > } > > > > > > > > > > > > > > > When this process starts up through JSVC=2C it crashes in > > createRegistry > > > > with > > > > > a UnsatisfiedLinkError. Below is the jsvc debug output: > > > > > > > > > > > > > > > jsvc debug: +-- DUMPING PARSED COMMAND LINE ARGUMENTS -----------= --- > > > > > jsvc debug: | Detach: False > > > > > jsvc debug: | Show Version: No > > > > > jsvc debug: | Show Help: No > > > > > jsvc debug: | Check Only: Disabled > > > > > jsvc debug: | Stop: False > > > > > jsvc debug: | Wait: 0 > > > > > jsvc debug: | Run as service: No > > > > > jsvc debug: | Install service: No > > > > > jsvc debug: | Remove service: No > > > > > jsvc debug: | JVM Name: "null" > > > > > jsvc debug: | Java Home: "null" > > > > > jsvc debug: | PID File: "/run/client.pid" > > > > > jsvc debug: | User Name: "null" > > > > > jsvc debug: | Extra Options: 2 > > > > > jsvc debug: | > > > > > "-Djava.class.path=3D./libs/commons-daemon.jar:./ClientSoftware.j= ar" > > > > > jsvc debug: | Class Invoked: ".Daemon" > > > > > jsvc debug: | Class Arguments: 0 > > > > > jsvc debug: +----------------------------------------------------= --- > > > > > jsvc debug: Home not specified on command line=2C using environme= nt > > > > > jsvc debug: Attempting to locate Java Home in /jre > > > > > jsvc debug: Attempting to locate VM configuration file > > > > home>/jre/jre/lib/jvm.cfg > > > > > jsvc debug: Attempting to locate VM configuration file > > > > home>/jre/lib/jvm.cfg > > > > > jsvc debug: Attempting to locate VM configuration file > > > > home>/jre/jre/lib/ppc/jvm.cfg > > > > > jsvc debug: Attempting to locate VM configuration file > > > > home>/jre/lib/ppc/jvm.cfg > > > > > jsvc debug: Found VM configuration file at > > > home>/jre/lib/ppc/jvm.cfg > > > > > jsvc debug: Found VM j9vm definition in configuration > > > > > jsvc debug: Checking library > > > home>/jre/jre/lib/ppc/j9vm/libjvm.so > > > > > jsvc debug: Checking library > home>/jre/lib/ppc/j9vm/libjvm.so > > > > > jsvc debug: Found VM client definition in configuration > > > > > jsvc debug: Checking library > > > home>/jre/jre/lib/ppc/client/libjvm.so > > > > > jsvc debug: Checking library > home>/jre/lib/ppc/client/libjvm.so > > > > > jsvc debug: Cannot locate library for VM client (skipping) > > > > > jsvc debug: Found VM server definition in configuration > > > > > jsvc debug: Checking library > > > home>/jre/jre/lib/ppc/server/libjvm.so > > > > > jsvc debug: Checking library > home>/jre/lib/ppc/server/libjvm.so > > > > > jsvc debug: Cannot locate library for VM server (skipping) > > > > > jsvc debug: Found VM hotspot definition in configuration > > > > > jsvc debug: Checking library > > > home>/jre/jre/lib/ppc/hotspot/libjvm.so > > > > > jsvc debug: Checking library > home>/jre/lib/ppc/hotspot/libjvm.so > > > > > jsvc debug: Cannot locate library for VM hotspot (skipping) > > > > > jsvc debug: Found VM classic definition in configuration > > > > > jsvc debug: Checking library > > > home>/jre/jre/lib/ppc/classic/libjvm.so > > > > > jsvc debug: Checking library > home>/jre/lib/ppc/classic/libjvm.so > > > > > jsvc debug: Found VM native definition in configuration > > > > > jsvc debug: Checking library > > > home>/jre/jre/lib/ppc/native/libjvm.so > > > > > jsvc debug: Checking library > home>/jre/lib/ppc/native/libjvm.so > > > > > jsvc debug: Cannot locate library for VM native (skipping) > > > > > jsvc debug: Found VM green definition in configuration > > > > > jsvc debug: Checking library > > > home>/jre/jre/lib/ppc/green/libjvm.so > > > > > jsvc debug: Checking library > home>/jre/lib/ppc/green/libjvm.so > > > > > jsvc debug: Cannot locate library for VM green (skipping) > > > > > jsvc debug: Java Home located in /jre > > > > > jsvc debug: +-- DUMPING JAVA HOME STRUCTURE ---------------------= --- > > > > > jsvc debug: | Java Home: "/jre" > > > > > jsvc debug: | Java VM Config.: "/jre/lib/ppc/jvm.cfg= " > > > > > jsvc debug: | Found JVMs: 2 > > > > > jsvc debug: | JVM Name: "j9vm" > > > > > jsvc debug: | "/jre/lib/ppc/j9vm/libjvm.so" > > > > > jsvc debug: | JVM Name: "classic" > > > > > jsvc debug: | "/jre/lib/ppc/classic/libjvm.so" > > > > > jsvc debug: +----------------------------------------------------= --- > > > > > jsvc debug: redirecting stdout to /dev/null and stderr to /dev/nu= ll > > > > > jsvc debug: Using default JVM in > > > home>/jre/lib/ppc/j9vm/libjvm.so > > > > > jsvc debug: Attemtping to load library > > > > home>/jre/lib/ppc/j9vm/libjvm.so > > > > > jsvc debug: JVM library /jre/lib/ppc/j9vm/libjvm.so > > loaded > > > > > jsvc debug: JVM library entry point found (0x2004E12C) > > > > > jsvc debug: +-- DUMPING JAVA VM CREATION ARGUMENTS --------------= --- > > > > > jsvc debug: | Version: 0x010006 > > > > > jsvc debug: | Ignore Unrecognized Arguments: False > > > > > jsvc debug: | Extra options: 3 > > > > > jsvc debug: | > > > > > "-Djava.class.path=3D./libs/commons-daemon.jar:./ClientSoftware.j= ar" > > > > > (0x00000000) > > > > > jsvc debug: +----------------------------------------------------= --- > > > > > jsvc debug: Java VM created successfully > > > > > jsvc debug: Class org/apache/commons/daemon/support/DaemonLoader > > found > > > > > jsvc debug: Native methods registered > > > > > jsvc debug: java_init done > > > > > jsvc debug: Daemon loading... > > > > > java.lang.reflect.InvocationTargetException > > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > > at > > > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja= va: > > > > 48 > > > > > ) > > > > > at > > > > > > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso= rIm > > > > pl > > > > > .java:25) > > > > > at java.lang.reflect.Method.invoke(Method.java:600) > > > > > at > > > > > > > > > > > org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:1= 56) > > > > > Caused by: java.lang.UnsatisfiedLinkError: net (A file or directo= ry > > in > > > > the > > > > > path name does not exist.) > > > > > at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:100= 8) > > > > > at > > > > > > > java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:972) > > > > > at java.lang.System.loadLibrary(System.java:470) > > > > > at > > > > > sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:= 69) > > > > > at > > > > > > > java.security.AccessController.doPrivileged(AccessController.java:202) > > > > > at java.net.InetAddress.(InetAddress.java:217) > > > > > at java.lang.J9VMInternals.initializeImpl(Native Method) > > > > > at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) > > > > > at sun.rmi.transport.tcp.TCPEndpoint.(TCPEndpoint.java:95= ) > > > > > at java.lang.J9VMInternals.initializeImpl(Native Method) > > > > > at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) > > > > > at sun.rmi.transport.LiveRef.(LiveRef.java:75) > > > > > at sun.rmi.registry.RegistryImpl.(RegistryImpl.java:77) > > > > > at > > > > > > > java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:198= ) > > > > > at .Client.init(Client.java:570) > > > > > at .Daemon.init(Daemon.java:95) > > > > > ... 5 more > > > > > 22/07/2010 14:42:42 1077390 jsvc error: Cannot load daemon > > > > > jsvc debug: java_load failed > > > > > 22/07/2010 14:42:42 1130686 jsvc error: Service exit with a retur= n > > value > > > > of > > > > > 3 > > > > > > > > > > > > > > > Removing jsvc from the picture by creating a main method in Daemo= n > > that > > > > just > > > > > creates a Daemon object=2C calls daemon.init()=2C then calls > > daemon.start() > > > > runs > > > > > as expected (well=2C except for actually being a daemon =3D) ). > > > > > > > > > > An unsatified error of 'net' really intrigued me since this looks > > like > > > > maybe > > > > > "java.net"? How could it not find a runtime library? I thought th= at > > > > > perhaps jsvc was setting some odd boot path or class path for the > > jvm=2C > > > > so I > > > > > printed out all the system properities in the Daemon.init method. > > The > > > > list > > > > > of properties from the jsvc run and the bin/java run are exactly = the > > > > same. > > > > > So it doesn't appear to be that easy of a solution. > > > > > > > > > > Running both jsvc and bin/java with the verbose flag and checking > > which > > > > > order the classes load shows something interesting: > > > > > > > > > > jsvc: > > > > > > > > > > ... > > > > > class load: java/net/InetAddress > > > > > class load: sun/security/action/LoadLibraryAction > > > > > class load: java/lang/UnsatisfiedLinkError > > > > > class load: java/lang/J9VMInternals$1 > > > > > java.lang.reflect.InvocationTargetException > > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > > ... > > > > > > > > > > bin/java: > > > > > > > > > > ... > > > > > class load: java/net/InetAddress > > > > > class load: sun/security/action/LoadLibraryAction > > > > > class load: java/net/InetAddress$Cache > > > > > class load: java/net/InetAddress$Cache$Type > > > > > ... > > > > > > > > > > > > > > > So if the code is loading the libraries in a consistent fashion > > (don't > > > > think > > > > > this is guaranteed=2C but the rest of the class loading output se= ems > > to > > > > imply > > > > > that this is probable)=2C it seems that the code when run through= jsvc > > > > bombs > > > > > when trying to load the Cache internal class to InetAddress? This > > seems > > > > odd > > > > > to me since they should be in the same library=2C no? > > > > > > > > > > > > > > > Anyway=2C I'm at a loss at this point. This code upgraded to JRE = 6 on > > all > > > > > other platforms just fine. On this AIX platform=2C however=2C it = just > > > > doesn't > > > > > seem to like jsvc. I'm hoping someone else has seen this or has m= ore > > > > > intimate knowledge with the JVM and can point me in the right > > direction. > > > > > Again=2C I appreciate any assistance anyone can provide. > > > > > > > > > > Thanks=2C > > > > > Jason > > > > > > > > > > > > > _________________________________________________________________ > > > > The New Busy is not the old busy. Search=2C chat and e-mail from yo= ur > > inbox. > > > > > > http://www.windowslive.com/campaign/thenewbusy?ocid=3DPID28326::T:WLMTA= GL:ON > > > > :WL:en-US:WM_HMP:042010_3 > >=20 > > _________________________________________________________________ > > Hotmail has tools for the New Busy. Search=2C chat and e-mail from your > > inbox. > > http://www.windowslive.com/campaign/thenewbusy?ocid=3DPID28326::T:WLMTA= GL:ON > > :WL:en-US:WM_HMP:042010_1 =20 _________________________________________________________________ Hotmail has tools for the New Busy. Search=2C chat and e-mail from your inb= ox. http://www.windowslive.com/campaign/thenewbusy?ocid=3DPID28326::T:WLMTAGL:O= N:WL:en-US:WM_HMP:042010_1= --_60b54948-e6d7-4e06-a682-80f0d83d27c3_--