Forms hangs when using result of an OUT parameter to do an Insert

Hello,
I think I have slightly odd problem here... I'm currently migrating a Forms 6i client-server application to Forms 10g904. I found that one of my Forms was hanging i.e. screen goes blank, 'activity' bar on the bottom right just keeps whirring away indefinitely.
After much investigation, the hanging-form problem occurs in the following scenario:
- In a routine in a Forms pll library, a variable is declared e.g. w_capture_output
- In the first round of a loop, this variable is passed into a database stored proc, which has an OUT parameter to return a result e.g. SOME_PROC(w_some_input, w_capture_output);
- w_capture_output comes back with a value e.g. 'P'
- This is then used in an Insert e.g. INSERT INTO some_table (a, b) VALUES (1, w_capture_output)
- The next round of the loop; the variable is passed in again into the proc. It still holds the value from the last round e.g. 'P'
- In this round, the logic of the proc is such that the OUT argument is set to null i.e. when the proc has finished, w_capture_output is now null. This can be confirmed with IF w_capture_output IS NULL THEN display_some_message. The code is still all running fine.
- But now when I run INSERT INTO some_table (a, b) VALUES (2, w_capture_output) - the form hangs.
I can, however, work around this and prevent the form from hanging simply by ensuring at the start of each round of the loop that I explicitly set w_capture_output back to null before passing it into the proc that sets it. Or alternatively, after it comes back from the proc, the following also prevents the hanging problem:
w_capture_output := NVL(w_capture_output,NULL);
To summarise - if I pass a variable into a proc taking an OUT parameter, AND that variable is not null going into the proc, AND the proc sets it to null AND I then try to use that variable in an Insert statement - the form hangs. Something horrible is happening to the variable inside the procedure, I think.
Now, I can kind of see why passing a non-null variable into an OUT argument might cause problems (although only if you then try to set it to null - not if you set it to another, non-null value). However, exactly the same code works fine under Forms 6i, using the same database instance and proc. And if Oracle have changed the rules, shouldn't it throw an error, rather than just hanging? I'd prefer not to have to use the workaround, as this is a very large app and I don't know yet how many places would need it.
Has anyone else come across this issue..? (Database is 9.0.2. btw, Forms are 10g904)
Cheers,
James

Try
v_log_name := 'Fnd_File.LOG_OUT';Hey, what r u doing with above code?
You are assigning string value to a variable?
The compilation won't give any error.
And OP thinks it's solution!!!!!!!!!!!
LOL

Similar Messages

  • Error when using int array as out parameter

    Hi,
    I have created a simple webservice in Weblogic 8.1.4 and created a method that takes the following parameters:
    * @wlws:part errorCodes style="out"
    * @wlws:part Result style="out"
    public void checkPin(int[] cardId, int validation, String cardType, int blockedBy, int[] lang, int[]errorCodes, IntHolder Result)
    I've compiled the code using an ant script and it calls autotype, source2wsdd and clientgen, then deploys the webservice successfully. However, when I invoke the webmethod either through a client (.net client) or through the weblogic console webservice test interface it throws a soap fault:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>Exception during processing: java.lang.IllegalArgumentException: argument type mismatch (see Fault Detail for stacktrace)</faultstring><detail><bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">java.lang.IllegalArgumentException: argument type mismatch
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at weblogic.webservice.component.javaclass.JavaClassInvocationHandler.invoke(JavaClassInvocationHandler.java:133)
         at weblogic.webservice.core.handler.InvokeHandler.handleRequest(InvokeHandler.java:104)
         at weblogic.webservice.core.HandlerChainImpl.handleRequest(HandlerChainImpl.java:143)
         at weblogic.webservice.core.DefaultOperation.process(DefaultOperation.java:535)
         at weblogic.webservice.server.Dispatcher.process(Dispatcher.java:204)
         at weblogic.webservice.server.Dispatcher.doDispatch(Dispatcher.java:176)
         at weblogic.webservice.server.Dispatcher.dispatch(Dispatcher.java:96)
         at weblogic.webservice.server.WebServiceManager.dispatch(WebServiceManager.java:100)
         at weblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke(WebServiceServlet.java:297)
         at weblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.java:485)
         at weblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServiceServlet.java:267)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    </bea_fault:stacktrace></detail></env:Fault></env:Body></env:Envelope>
    The WSDL looks like this:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions xmlns:tns="http://tempuri.org/" xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding" xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://tempuri.org/">
    - <types xmlns:tns="http://tempuri.org/" xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding" xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/">
    - <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="java:language_builtins" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="java:language_builtins">
    <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <xsd:complexType name="ArrayOfInt">
    - <xsd:complexContent>
    - <xsd:restriction xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" base="soapenc:Array">
    <xsd:attribute xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]" />
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:schema>
    - <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="java:language_builtins.lang" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="java:language_builtins.lang">
    <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <xsd:complexType name="ArrayOfString">
    - <xsd:complexContent>
    - <xsd:restriction xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" base="soapenc:Array">
    <xsd:attribute xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]" />
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:schema>
    </types>
    - <message name="setBlockingStatus">
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="cardId" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="validation" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="cardType" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="blockedBy" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="block" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="newBlockedBy" />
    </message>
    - <message name="setBlockingStatusResponse">
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="errorCodes" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="Result" />
    </message>
    - <message name="getStatus">
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="cardId" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="validation" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="cardType" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="blockedBy" />
    </message>
    - <message name="getStatusResponse">
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="balance" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="lang" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="block" />
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="firstUse" />
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="lastUse" />
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="expireFirstUse" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="cardBlockedBy" />
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="expireLastUse" />
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="expireActivation" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="errorCodes" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="Result" />
    </message>
    - <message name="setLang">
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="cardId" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="validation" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="cardType" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="blockedBy" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="lang" />
    </message>
    - <message name="setLangResponse">
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="errorCodes" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="Result" />
    </message>
    - <message name="changeBalance">
    <part xmlns:partns="java:language_builtins.lang" type="partns:ArrayOfString" name="cardId" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="validation" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="cardType" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="blockedBy" />
    </message>
    - <message name="changeBalanceResponse">
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="units" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="balanceBefore" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="balanceAfter" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="errorCodes" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="errorCodePos" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="Result" />
    </message>
    - <message name="checkPin">
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="cardId" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="validation" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:string" name="cardType" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="blockedBy" />
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="lang" />
    </message>
    - <message name="checkPinResponse">
    <part xmlns:partns="java:language_builtins" type="partns:ArrayOfInt" name="errorCodes" />
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:int" name="Result" />
    </message>
    - <portType name="XanticChatCardServicePort">
    - <operation parameterOrder="cardId validation cardType blockedBy block newBlockedBy errorCodes Result" name="setBlockingStatus">
    <input message="tns:setBlockingStatus" />
    <output message="tns:setBlockingStatusResponse" />
    </operation>
    - <operation parameterOrder="cardId validation cardType blockedBy balance lang block firstUse lastUse expireFirstUse cardBlockedBy expireLastUse expireActivation errorCodes Result" name="getStatus">
    <input message="tns:getStatus" />
    <output message="tns:getStatusResponse" />
    </operation>
    - <operation parameterOrder="cardId validation cardType blockedBy lang errorCodes Result" name="setLang">
    <input message="tns:setLang" />
    <output message="tns:setLangResponse" />
    </operation>
    - <operation parameterOrder="cardId validation cardType blockedBy units balanceBefore balanceAfter errorCodes errorCodePos Result" name="changeBalance">
    <input message="tns:changeBalance" />
    <output message="tns:changeBalanceResponse" />
    </operation>
    - <operation parameterOrder="cardId validation cardType blockedBy lang errorCodes Result" name="checkPin">
    <input message="tns:checkPin" />
    <output message="tns:checkPinResponse" />
    </operation>
    </portType>
    - <binding type="tns:XanticChatCardServicePort" name="XanticChatCardServicePort">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="setBlockingStatus">
    <soap:operation style="rpc" soapAction="" />
    - <input>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </input>
    - <output>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </output>
    </operation>
    - <operation name="getStatus">
    <soap:operation style="rpc" soapAction="" />
    - <input>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </input>
    - <output>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </output>
    </operation>
    - <operation name="setLang">
    <soap:operation style="rpc" soapAction="" />
    - <input>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </input>
    - <output>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </output>
    </operation>
    - <operation name="changeBalance">
    <soap:operation style="rpc" soapAction="" />
    - <input>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </input>
    - <output>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </output>
    </operation>
    - <operation name="checkPin">
    <soap:operation style="rpc" soapAction="" />
    - <input>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </input>
    - <output>
    <soap:body namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
    </output>
    </operation>
    </binding>
    - <service name="XanticChatCardService">
    - <port name="XanticChatCardServicePort" binding="tns:XanticChatCardServicePort">
    <soap:address location="http://localhost:7001/XanticChatCardWebservice/XanticChatCardService" />
    </port>
    </service>
    </definitions>
    Any idea what the problem would be? This should work

    Ok...I proved myself wrong. After further review I found a post on here that somebody had a similar problem and solved it. It all comes down to the autotype generation. For some reason, my autotypes get generated in a different namespace "language_builtins.lang". I read that XML-RPC wants all custom out parameters to be placed under the webservice package/holders namespace but for some reason autotype autogenerates the holders in language_builtins. I've played with the options for autotype but nothing seem to fix it so I basically took the .wsdl file generated by source2wsdd, changed all references to language_builtins to the proper namespace and reran autotypes with the wsdl option instead of javaComponent. That seem to have forced the classes to be generated in the correct directories.

  • Forms 9i/ DB 10g - Form Hangs when function is called

    Using 9i Web Forms on 10g Database Linux O/S
    I have the following function call in a form within a loop:
    :nbt02_lentrn.nbt_txn_descr := fn_get_trans_descr(ls_app_area_code,ls_txn_type);
    The function being called contains this code:
    FUNCTION fn_get_trans_descr(ps_app_area_code IN VARCHAR2,
    ps_txn_code IN VARCHAR2) RETURN VARCHAR2 IS
    CURSOR cur_txn_descr IS
    SELECT descr
    FROM financial_trans_types
    WHERE code = ps_txn_code
    AND aparea_code = ps_app_area_code;
    ls_txn_descr financial_trans_types.descr%TYPE;
    BEGIN
    OPEN cur_txn_descr;
    FETCH cur_txn_descr INTO ls_txn_descr;
    CLOSE cur_txn_descr;
    Return(ls_txn_descr);
    END;
    When the call is executed, the form hangs after the OPEN command. I have checked the parameters for their values and successfully executed the cursor in SQL.
    When I hardcode the function parameter values, the code executes successfully. Also, and perhaps most unusually, if I do either of the following before the function call, the code runs successfully:
    ls_txn_type     :=     ls_txn_type;
    :nbt02_lentrn.nbt_txn_descr := fn_get_trans_descr(ls_app_area_code,ls_txn_type);
         ls_txn_type     :=     NVL(ls_txn_type,NULL);
    :nbt02_lentrn.nbt_txn_descr := fn_get_trans_descr(ls_app_area_code,ls_txn_type);
    I have also extracted the call and placed it into a different form where it works fine!
    The variable ln_txn_type is populated via another call within the same loop. It's value alternates between null and a value for the record set.
    The same code works fine Client/Server and although I have a solution, I'm not sure what the problem is! Does anyone have any clues?

    Hello - your problem actually looks similar in symptoms to one I hit just a couple of days ago (see my post 'Forms hangs when using result of an OUT parameter to do an Insert ' on July 19th.)
    The problem I was having was if I had a variable which already had a value, then passed into an IN OUT parameter of a db stored proc, the proc set the value to null, and then I tried to use the variable in a table insert. The form would just hang completely. Like you, one workaround for the problem was to have a line like:
    my_var := NVL(my_var,NULL);
    to somehow 'fix' the variable before trying to use it further. Even though the variable seems null, and returns true for IF ... IS NULL, something had gone wrong with it that rendered it toxic to my form. This workaround should have no net effect, but it does somehow solve the problem. Like your problem, mine doesn't occur on client server, only on the newer version.
    I hit this problem using Forms 10g904, against a 9i database. Having talked it over with Oracle support, I've tried doing the same thing using 10g Release 2, and the problem disappears, so Oracle have obviously fixed it somewhere between the two releases - I'm currently investigating intermediate Patch Sets.
    Don't know if this is helpful, but all I can suggest is that you ensure you've applied the latest patchsets to your Forms (you can try it on the Builder first before patching your apps server installation.) If that doesn't do it, I'm guessing it's a case of use the workarounds, or go up to a higher version altogether of Forms.
    Sorry not to have any more optimistic advice!
    James

  • Form call report,but form hang when report sun slowly,how to set server?

    In version 10.1.2
    Form call report, form hang when report sun slowly,
    finally the report will done,I can see the output in the server disk,but form hang,
    I think it's out of the report session, ,how to set server?
    thanks for any help!
    lind

    Hello,
    If you are using the "Paper Layout", check the Reports's "Before Report Value" property:
    Before Report Value :
    <meta http-equiv="Content-Type" content="text/html; charset=&Encoding">
    If you are using the "Web Layout", take a look to the document :
    http://download-uk.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_nls.htm#i1006142
    18.3 Specifying a Character Set in a JSP or XML File
    Regards

  • WLS 8.1 hanging when using XA

    I am having an issue with BEA 8.1 hanging when using XA. I have configured it
    on several other Windows 2000 machines and not seen an issue. This particular
    machine seems to hang and then give a time out error. ANy suggestions would
    be appreciated. Below is the error that I am getting back and a thread dump.
    java.lang.Exception: Exception while commiting Tx : Name=[EJB com.level3.ds9.business.ejb.SearchEJB.getLocations(java.lang.String,com.level3.ds9.common.L3Environment)],Xid=BEA1-001E3F8C31D9BB58DEB7(18601996),Status=Unknown,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=122,seconds left=2878,XAServerResourceInfo[lidPool]=(ServerResourceInfo[lidPool]=(state=new,assigned=none),xar=null),SCInfo[mydomain+brettjason]=(state=active),SCInfo[ds9FT+ds9server3]=(state=active),properties=({weblogic.transaction.name=[EJB
    com.level3.ds9.business.ejb.SearchEJB.getLocations(java.lang.String,com.level3.ds9.common.L3Environment)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=brettjason+10.1.44.74:7001+mydomain+t3+,
    XAResources={},NonXAResources={})],CoordinatorURL=ds9server3+10.1.19.141:7001+ds9FT+t3+);
    nested exception is: javax.transaction.SystemException: Timeout during commit
    processing
    Exception while commiting Tx : Name=[EJB com.level3.ds9.business.ejb.SearchEJB.getLocations(java.lang.String,com.level3.ds9.common.L3Environment)],Xid=BEA1-001E3F8C31D9BB58DEB7(18601996),Status=Unknown,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=122,seconds left=2878,XAServerResourceInfo[lidPool]=(ServerResourceInfo[lidPool]=(state=new,assigned=none),xar=null),SCInfo[mydomain+brettjason]=(state=active),SCInfo[ds9FT+ds9server3]=(state=active),properties=({weblogic.transaction.name=[EJB
    com.level3.ds9.business.ejb.SearchEJB.getLocations(java.lang.String,com.level3.ds9.common.L3Environment)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=brettjason+10.1.44.74:7001+mydomain+t3+,
    XAResources={},NonXAResources={})],CoordinatorURL=ds9server3+10.1.19.141:7001+ds9FT+t3+);
    nested exception is: javax.transaction.SystemException: Timeout during commit
    processing
    "ExecuteThread: '12' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x2
    770EB70 nid=0xa34 in Object.wait() [2868f000..2868fd88]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <054801B8> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '11' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x2
    76E6858 nid=0x5f8 in Object.wait() [2864f000..2864fd88]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480230> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '10' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x2
    76E5C70 nid=0x670 in Object.wait() [2860f000..2860fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <054802A8> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <054802A8> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '9' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x27
    6E50B0 nid=0x9c8 in Object.wait() [285cf000..285cfd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <05480320> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480320> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '8' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x27
    71B350 nid=0x9bc in Object.wait() [2858f000..2858fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <05480398> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480398> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '7' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x27
    71BC10 nid=0x7b8 in Object.wait() [2854f000..2854fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <05480410> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480410> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '6' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x27
    71D7D8 nid=0x848 in Object.wait() [2850f000..2850fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <05480488> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480488> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '5' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x27
    71C8F0 nid=0x9dc in Object.wait() [284cf000..284cfd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <05480500> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480500> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '4' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x27
    71C798 nid=0x824 in Object.wait() [2848f000..2848fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <05480578> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480578> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '3' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x27
    60B420 nid=0x770 in Object.wait() [2844f000..2844fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <054805F0> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <054805F0> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '2' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x26
    F9FA10 nid=0xa64 in Object.wait() [2840f000..2840fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <05480668> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480668> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '1' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x27
    580CC0 nid=0x8d8 in Object.wait() [283cf000..283cfd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <054806E0> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <054806E0> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "ExecuteThread: '0' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x26
    F8F6B0 nid=0x7a0 in Object.wait() [2838f000..2838fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <05480758> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:145)
    - locked <05480758> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:164)
    "Signal Dispatcher" daemon prio=10 tid=0x008B4850 nid=0x978 waiting on condition
    [0..0]
    "Finalizer" daemon prio=9 tid=0x008FF7F8 nid=0x73c in Object.wait() [26cff000..2
    6cffd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <052A72C8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
    - locked <052A72C8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x008FE370 nid=0xa08 in Object.wait() [26
    cbf000..26cbfd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <052A7330> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:426)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
    - locked <052A7330> (a java.lang.ref.Reference$Lock)
    "main" prio=5 tid=0x002358F8 nid=0x8a8 in Object.wait() [6f000..6fc40]
    at java.lang.Object.wait(Native Method)
    - waiting on <052A7508> (a weblogic.t3.srvr.T3Srvr)
    at java.lang.Object.wait(Object.java:426)
    at weblogic.t3.srvr.T3Srvr.waitForDeath(T3Srvr.java:1170)
    - locked <052A7508> (a weblogic.t3.srvr.T3Srvr)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:384)
    at weblogic.Server.main(Server.java:32)
    "VM Thread" prio=5 tid=0x008FD138 nid=0x88c runnable
    "VM Periodic Task Thread" prio=10 tid=0x008B3390 nid=0x8bc waiting on condition
    "Suspend Checker Thread" prio=10 tid=0x008B3E68 nid=0x524 runnable

    Running Windows XP (even fully patched up with SP3 and latest fixes), you probably will have an increasing risk of Windows and IE being attacked. Windows XP has been getting security patches every month for over a decade. So it seems likely that people will continue to discover vulnerabilities in Windows XP that, over time, will be exploited (i.e., used in attacks).
    Windows 8.1? For a good experience, you probably would be better off getting a new computer than installing 8.1 on a system that is several years old. I realize not everyone's budget permits.
    What else can you do? It remains useful and important to keep your third party applications, such as Firefox, and your browser add-ons, such as Flash, up-to-date. It's also a good idea to run quality security software. And practice safe browsing habits like avoiding questionable websites and peer-to-peer networking, and being suspicious of email attachments.

  • Camera is hanging when using with flash

    Hi Lenovo Team,
    In lenovo vibe x2, camera is hanging when using with flash.Getting "Lenovo snapit isnt responding" error and screen hanged for sometime.after that when tried to open camera "Cannt cannot to camera " error is coming till when restart the phone.
    Even tried Factory reset and software update.
    Please provide the solution for the above issue.
    Thanks,

    Hi vijayprabhu,
    I just tested the X2 however am not having the issue. I set flash to always on then took a picture using SnapIt however its fine.
    Please check if you have the latest firmware S125.
    Check out the Community Knowledge Base for hints and tips.
    Did someone help you today? Press the star on the left to thank them with a Kudo!
    If you find a post helpful and it answers your question, please mark it as an "Accepted Solution"!
    X240 | 8GB RAM | 512GB Samsung SSD

  • LabView (8.2) hangs when using I/O operations with traditiona​l NI-DAQ 7.4.4 after aborting LabView program

    Hello!
    We have the following problem:
    LabView (8.2) hangs when using I/O operations with traditional NI-DAQ 7.4.4 after aborting LabView program
    We freshly installed LabView 8.2 (2006) and NI-DAQ 7.4.4 on a PC running Windows XP (Service Pack 3). We built a larger vi that remotely controls a traditional NI-DAQ card (AT-AO-10) on a second PC via NI-VISA 5.0.3. We were successfully running this program until a power failure caused the first computer to crash. After this crash we were unable to start the program again: LabView freezes while loading the vi. LabView itself can be started but freezes when adding I/O operations from the NI-DAQ palette to a block diagram.
    We have tried to re-install NI-DAQ 7.4.4, but it did not help. We then re-installed all NI software, but still no improvement. In the end we decided to reinstall ALL software, first Windows XP, then LabView and finally NI-DAQ 7.4.4. This worked. However, after a few days of running the program we had to abort LabView via Windows Task manager and afterward we again experienced the same problem as before: LabView freezes when loading the program.
    Obviously, we cannot afford to reinstall Windows every time. Are there any known Windows XP / NI-DAQ issues that might cause the freezing of LabView? We would be very grateful for any idea.
    Best regards,
    Matthias

    Hello Sprice,
    Browse the shipping examples according to “Directory Structure” and then select
    DAQ to find the Traditional DAQ examples. 
    There a lot of examples that are written for counters (Counter >>
    daq-stc.llb >> Count Edges (DAQ-STC).vi). 
    What kind of signals are your photons creating?  Are they TTL compatible at a certain
    frequency?  You don’t care about overwriting
    your buffer?
    Respectfully,
    Rob F
    Test Engineer
    Condition Measurements
    National Instruments

  • Forms Hang when trying to open

    We are using Oracle 10.1, on 32 bit Windows XP SP2, IE 6, jre 1.6 on the client side. The end users at time uses multiple forms and also uses Oracle Discoverer 10 at the same time. Print out reports uses Adobe Reader 9.1(which is another story), with java 1.6.7
    We have team of developers that created the forms and application in oracle. I deal with the end users.
    Issues we have been getting are:
    1. Users attempt to open a form and the "hour glass" appears and then hangs. We close the application by closing the IE window.
    2. As time goes on we have been seeing more and more users with this issue. Those that use the application more heavily seem to be having more issues
    3. I called the development team and they have stated that they do not see anything in the database of their logs to indicate that something is wrong.
    What was done to remedy issue:
    1. Cleared IE temp files, cookies, history
    2. Cleared Java temp files - this seems to work for a while
    3. Uninstalled users profile and re-install - it helps for a bit and then the issues comes back
    4. Re-created a new PC from scratch
    On the client computer we do not see any error messages. The system just hangs. It is happening on a daily basis for some users and getting more frequent to others as they use the applications more.
    Does anyone else have this issues? The developer team said that it was a setting on the client side. I have been searching for a while, but have not come up with anything. Can someone assist? Thank you in advance for any assistance.

    New information:
    I was monitoring an end-user, when the freezing occoured during pressing a button. The applet freezes, hourglass is displayed, but I've noticed that I can drag/move the window around and it still gets updated. I didn't gray-out.
    I tried attaching the JConsole utility on the Java.exe process. After some digging I found the following:
    JCONSOLE
    Name: AWT-Windows
    State: BLOCKED on java.util.LinkedList@1367dca owned by: Forms-DialogThread56
    Total blocked: 54 Total waited: 0
    Stack trace:
    java.awt.KeyboardFocusManager.shouldNativelyFocusHeavyweight(Unknown Source)
    sun.awt.windows.WToolkit.eventLoop(Native Method)
    sun.awt.windows.WToolkit.run(Unknown Source)
    java.lang.Thread.run(Unknown Source)
    Name: Forms-DialogThread56
    State: RUNNABLE
    Total blocked: 0 Total waited: 0
    Stack trace:
    sun.awt.KeyboardFocusManagerPeerImpl.getNativeFocusOwner(Native Method)
    sun.awt.KeyboardFocusManagerPeerImpl.getCurrentFocusOwner(Unknown Source)
    java.awt.KeyboardFocusManager.getNativeFocusOwner(Unknown Source)
    java.awt.KeyboardFocusManager.processSynchronousLightweightTransfer(Unknown Source)
    - locked java.util.LinkedList@1367dca
    sun.awt.windows.WComponentPeer.processSynchronousLightweightTransfer(Native Method)
    sun.awt.windows.WComponentPeer.requestFocus(Unknown Source)
    java.awt.Component.requestFocusHelper(Unknown Source)
    java.awt.Component.requestFocusHelper(Unknown Source)
    java.awt.Component.requestFocus(Unknown Source)
    oracle.ewt.lwAWT.AbstractButton.requestFocus(Unknown Source)
    oracle.ewt.lwAWT.lwWindow.LWWindow._restoreFocus(Unknown Source)
    oracle.ewt.lwAWT.lwWindow.LWWindow.setActive(Unknown Source)
    oracle.ewt.lwAWT.lwWindow.LWWindow.setVisible(Unknown Source)
    oracle.ewt.lwAWT.lwWindow.LWWindow.setVisible(Unknown Source)
    oracle.forms.handler.DialogThread.doUserAlert(Unknown Source)
    oracle.forms.handler.DialogThread.run(Unknown Source)
    java.lang.Thread.run(Unknown Source)
    I seems like the AWT-Windows is blocked by the Forms-DialogThread56. Is this normal, when a alert is displayed?
    But!!!! Notice that the alert doesn't get displayed....
    I also tried using the "Detect deadlock" function in JConsole, which doesn't find anything.
    Edited by: Lerche on Jul 17, 2009 12:12 PM

  • Forms hangs after using FileUpload PJC  in our application

    1) I've successfully tested the stand-alone FileUpload demo form provided by Oracle for moving files from C/S to the middle tier machine. That tells me all the environment variables, etc. are good to go.
    2) When i try to use the same demo form from my application using the call_form function, it works till the point of transferring the file to the server. Then when I try to close the demo form by hitting the close button to go back to my application, the form hangs up with no error message either in the Java console or the Application.
    3) Even when i made changes to my application to implement the PJC as per the Oracle implementation paper, the same result as #2.
    We are using Forms 6i (v6.0.8.19.2), iAS Rel1 (v1.0.2.2.2a) running on W2000.
    BTW, the size of the file is 1K. The last message I see in the Java console is oracle/ewt/laf/basic/ProgressBarPainter.class
    Any ideas or help appreciated. Thanks.

    Hi,
    You can try a package named: JTwain, which is available at http://asprise.com/product/jtwain.
    JTwain supports all kinds of digital cameras and scanners. You can use Java to access, contorl digital cameras and scanners, and of course, to acquire images with flexible settings.
    The developers' guide is available @ http://asprise.com/product/jtwain/devGuide.php
    In the simplest case, one line of Java code can solve your problem.
    Good luck!

  • Web Form Hangs When Scrolling through Multi-Record Block

    Hello!
    I have a web-deployed form that uses the Sun Java JVM and utilizes WebUtil.
    We are using JDK v1.4.2.
    When I open this form using the Java plug-in and try to scroll through a multi-record block ... it will hang at various points and eventually I have to close the form because it won't respond.
    This does not happen if I simply access the form through the Microsoft JVM.
    Any suggestions?

    That's a know solved bug. You must install AS10g patchset 9.0.4.2.
    For me it solved the problem.
    Bug 3557904: Forms hangs (deadlocks) when scrolling on XP under some circumstances
    Joao Oliveira

  • Applicaiton form hangs when trying to make C# form visible from menu event

    I have a MDI windows app, running as an addon on Verion 2007A
    The applicaion is written in C# ( VS 2005)
    I am a newbee to C# ( VS too ) as well.
    All I want is to display the MDI container form when a menu is clicked. But the windows form hangs forever, and does not show.
    if I try to show the form within Main method then no issues! The problem happens only off the SBO menu event .
    I cannot have the form loaded all the time. so I need the services of the SBO menu click, so a user can open it whenever he wants.
    Note: I can open any other form off the menu click, but that , provided they are not MDI containers and they are opened with ShowDialog(); If I use Show(); then again hangs.
    I tried opening the MDI form in Main method, ( wich of course works) and hide it when not needed. I could hide the form, but when I issued a command myForm.visible = true;  through the SBO menu event, again hangs!
    my applicaion Main function is as follows. The class AA_SBO_MAIN  holds the SBO application events.
    static void Main()
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Classes.AA_SBO_MAIN oSBOMain = null;
                oSBOMain = new Classes.AA_SBO_MAIN(); 
                 Application.Run();        
    the menu event simply does
                  frmMain fm = new frmMain();
                  fm.Visible = true;

    Hi
    I try doing these few steps and it seems to work!  The code is in Visual Basic though!
    Declare the form variable
    Private mMDI As New frmMDI
    In your menu click event enter a code like this
    If mMDI Is Nothing Then mMDI = New frmMDI
    mMDI.Visible = True
    On your startup function do something like this
    Public Sub New()
           mMDI.Show() : mMDI.Visible = False
    End Sub
    And more important ... in the form class comment all the code inside the Dispose method
    and finally do the following
    Private Sub frmMDI_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
            Me.Hide()
    End Sub
    it seems to work for me . Hope it helps you too!

  • Form hangs when try to open excel

    Hi everybody,
    When I try to upload some data from excel it work's ok when i'm doing it on xp, but when i'm on windows server 2003 won't upload. Form hangs on code noted below. On both OS are Excel 2003.
    args := OLE2.create_arglist;
    OLE2.ADD_ARG(args, p_filename);
    vdoc :=OLE2.INVOKE_OBJ(vworkbooks,'Open',args); -- on this code form hangs
    OLE2.destroy_arglist(args);
    I tried various things but without success.
    If I need provide some additional information please let me know.
    Thanks

    What version of WebUtil are you using? There is a known problem with 1.0.2 (beta) where the EXCEL.EXE process is not released by the form.

  • CS5 Photomerge hanging when using many files

    Hello,
    I have managed to work around the issue, but it's annoying nonetheless.
    The basic problem is that I've started creating very wide and tall Bokeh Panoramas or 'The Brenzier Method' http://www.ryanbrenizer.com/category/brenizer-method/
    From Lightroom I select the images I want and 'merge to panorama in PS'.  When I use say 2 - 30 images it's fine.  However when I use say 160 (ridiculous I know) it will hang when merging the files, processor usage stays on 13%, but the progress dialogue bar doesn't animate.  I tried it through photomerge and 'align all layers' from the edit menu.  I reduced this ridiculous amount to 60 and if I chose the 'vignette removal' option on the photomerge dialogue it will hang on this process after starting to create the panorama.  If I don't do the vignette, it will create the panorama.
    I know that it will depend upon the complexity of the merge, it's just annoying that it would fail whereas Microsoft ICE will complete the panorama without fail, it just may be of a lesser accuracy due to parallax.
    Other than using less images and attempting to overlap correctly, is there much else that can be done?
    I'm using an up to date version of CS5 64bit windows.  running on a 16gb Core i7 2600k.  The merged final image occupies 13gig of ram.  I have the scratch disc on a spare 2tb drive with about 1.5 tb free.
    Paul

    Mr_Fujisawa, I just wanted to come back on here and thank you for opening my mind to the "Brenizer Method", which I had not heard of before.  I've been experimenting with it today and enjoying the results!  Up to now I put effort into getting everything in focus all across my panos, which are generally landscapes.  It didn't dawn on me to use stitching on subjects up close.
    -Noel

  • Swing hangs when using BufferedReader

    Swing hangs when I use a buffered reader. I must be doing something wrong but don't understand what it is. If I comment out the JFrame at the begining of the following code, the input part works but the Threads window won't display. If I add the JFrame then the window displays but hangs until I type something into the input. I have tried using invokeLater on the second thread with no success. What is going on?
    import boeing.agps.formatting.UtSys;
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextPane;
    import javax.swing.SwingUtilities;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.Document;
    import javax.swing.text.SimpleAttributeSet;
    import javax.swing.text.StyleConstants;
    * To change the template for this generated type comment go to
    * Window>Preferences>Java>Code Generation>Code and Comments>Types
    * @author slr6053
    * @version $Id: $
    public class Test {
       static BufferedReader bufferedReadderIn = new BufferedReader(
                                                 new InputStreamReader( System.in ) );
       public static void main( String[] args ) {
          new JFrame();
          Thread t = new Thread( new Runnable() {
             public void run() {
                System.out.println( "Before while" );
                while ( true ) {
                   String input;
                   try {
                      System.out.println( "Before input" );
                      input = bufferedReadderIn.readLine();
                      System.out.println( "After input " + input );
                   } catch ( IOException e ) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                   } // read extension
          t.start();
          ThreadsWindow threadsWindow = new ThreadsWindow( "Test Thread" );
          threadsWindow.setVisible( true );
          Thread x = new Thread( threadsWindow, "Threads Window") ;
          x.start();
    * Create a stand-along window that displays the current hierarchy of
    * Thread-Groups and Threads, updating the information every second.
    * A typical output looks like:
    * Note: Thread "AGPS Main" will die and become "Thread-0" at the end of main().
    * <pre>
    * THREAD INFORMATION: 20-SEP-2002 17:49:28.0181
    * ThreadGroup "system": Max Priority = 10
    *  +-> "Signal dispatcher" Priority=5 Daemon=true
    *  +-> "Reference Handler" Priority=10 Daemon=true
    *  +-> "Finalizer" Priority=8 Daemon=true
    *  +ThreadGroup "main": Max Priority = 10
    *  +-+-> "AWT-EventQueue-0" Priority=6 Daemon=false
    *  +-+-> "SunToolkit.PostEventQueue-0" Priority=6 Daemon=false
    *  +-+-> "AWT-Motif" Priority=6 Daemon=false
    *  +-+-> "Screen Updater" Priority=5 Daemon=false
    *  +-+-> "TimerQueue" Priority=5 Daemon=true
    *  +-+-> "Thread-0" Priority=5 Daemon=false
    *  +-+-> "Help Thread" Priority=4 Daemon=false
    *  +-+-> "AGPS Execution" Priority=5 Daemon=false
    *  +-+-> "SEE Threads" Priority=5 Daemon=false
    *  +-+-> "Basic L&F File Loading Thread" Priority=4 Daemon=false
    *  +-+-> "Basic L&F File Loading Thread" Priority=4 Daemon=false
    *  +-+-> "Basic L&F File Loading Thread" Priority=4 Daemon=false
    * </pre>
    * @version $Id: ThreadsWindow.java,v 1.6 2007/08/22 14:39:02 slr6053 Exp $
    class ThreadsWindow extends JFrame implements Runnable, ActionListener {
       private JTextPane textArea ;
       private JButton startStop, closeBtn ;
       private boolean updateInformation = true ;
       private boolean exitThread = false ;
       private Document doc;
       private SimpleAttributeSet att;
       private SimpleAttributeSet attRed;
       private SimpleAttributeSet attBold;
       private SimpleAttributeSet attBold1;
        * Create and show a window that will display the Threads used in the
        * current JVM. The display will be updated every second from a newly
        * created Thread "SEE Threads".
        * @param title The window title for the window.
       public ThreadsWindow( String title ) {
          super( title ) ;
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          textArea = new JTextPane() ;
          att    = new SimpleAttributeSet();
          attBold1 = new SimpleAttributeSet( att );
          StyleConstants.setBold( attBold1, true );
          StyleConstants.setFontSize( attBold1, 14 );
          attBold = new SimpleAttributeSet( att );
          StyleConstants.setBold( attBold, true );
          attRed = new SimpleAttributeSet();
          StyleConstants.setForeground( attRed, Color.red);
          StyleConstants.setBold( attRed, true );
          doc = textArea.getStyledDocument();
          getContentPane().setLayout( new BorderLayout() ) ;
          getContentPane().add( new JScrollPane().add(
                 new JPanel().add( textArea ) ), BorderLayout.CENTER ) ;
          startStop = new JButton( "Start/Stop" ) ;
          closeBtn = new JButton( "CLOSE" ) ;
          JPanel buttons = new JPanel() ;
          buttons.setLayout( new GridLayout( 0, 2 ) ) ;
          buttons.add( startStop ) ;
          buttons.add( closeBtn ) ;
          startStop.addActionListener( this ) ;
          closeBtn.addActionListener( this ) ;
          getContentPane().add( buttons, BorderLayout.NORTH ) ;
          setSize( 300, 400 ) ;
       } // end of constructor()
        * Handle the buttons.
       public void actionPerformed( ActionEvent e ) {
          Object srcIn = e.getSource() ;
          if( srcIn instanceof JButton ) {
             JButton src = (JButton)srcIn ;
             if( src == startStop ) {
                updateInformation = !updateInformation ;
             } else if( src == closeBtn ) {
                updateInformation = false ;
                exitThread = true ;
                setVisible( true ) ;
                dispose() ;
             } // end else if
          } // end if
       } // end of actionPerformed()
        * While true, sleep 1 second and then repaint.
       public void run() {
          if ( SwingUtilities.isEventDispatchThread() ) new Exception().printStackTrace();
          setVisible( true );
          while( !exitThread ) {            // do forever
             try {
                Thread.sleep( 1000 ) ;  // update every second
             }catch( Exception sEx ) {
             if( updateInformation )
                repaint() ;
          } // end while
       } // end of run()
        * Display the hierarchy of Thread-Groups and Threads.
       public void paint( Graphics g ) {
          super.paint( g ) ;
          if( updateInformation ) {
             try {
                doc.remove(  0, doc.getLength() );
                doc.insertString( 0, "THREAD INFORMATION: " +
                               UtSys.datTimSec() + "\n", attBold1 ) ;
             } catch ( BadLocationException e1 ) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
             ThreadGroup rootT = Thread.currentThread().getThreadGroup();
             while( rootT.getParent() != null ) {
                rootT = rootT.getParent();
             }// end while
             try {
                buildThreadOutput( rootT, "" ) ;
             } catch ( BadLocationException e ) {
                // TODO Auto-generated catch block
                e.printStackTrace();
          } // end if
       } // end of paint()
        * Append to the textArea variable the passed ThreadGroup and any
        * Threads it contains. If it contains ant ThreadGroups, invoke this
        * method recursively on each of these threadGroups, etc...
        * @param tg The ThreadGroup to display
        * @param indent The indent-level String to preface each line with.
        *        This method appends "-+" to this String and passes it to the
        *        next recursive invocation.
        * @throws BadLocationException
       private void buildThreadOutput( ThreadGroup tg, String indent ) throws BadLocationException {
          doc.insertString( doc.getLength(),  "   ThreadGroup " +
                           "\"" + tg.getName() + "\":" +
                           " Max Priority = " + tg.getMaxPriority() +
                            "\n", attBold );
          indent = "      ";
          Thread threadArray[] = new Thread[ tg.activeCount() ];
          int threadCount = tg.enumerate( threadArray, false );
          for( int i = 0; i < threadCount; i++ ) {   // THREADS
             Thread thread = threadArray;
    doc.insertString( doc.getLength(), indent + thread.getId()+" "+
    " \"" +thread.getName() +
    "\" Priority=" + thread.getPriority() +
    " Daemon=" + thread.isDaemon() +
    " Active= "+ thread.isAlive() +
    " Interuppted= "+ thread.isInterrupted() +
    "\n", att ) ;
    } // end for
    ThreadGroup threadGroupArray[] = new ThreadGroup[
    tg.activeGroupCount() ];
    int threadGroupCount = tg.enumerate( threadGroupArray, false );
    for( int i = 0; i < threadGroupCount; i++ ) { // THREADGROUPS
    buildThreadOutput( threadGroupArray[i], indent ) ;
    } // end for
    } // end of buildThreadOutput
    } // end of ThreadsWindow class

    OK, this code is closer to my application. If I have the JFrame code in, it works but hangs - that is you can type in "doit" in the command line and the window comes up, and you need to type something else in the command window in order for the ThreadWindow to start updating. If you try to move the ThreadWindow it hangs.
    If you comment out the begining JFrame, the ThreadsWindow never starts. What is that I'm not understanding. The BufferedReader is not in the Main thread, it is in its own thread.
    import boeing.agps.formatting.UtSys;
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextPane;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.Document;
    import javax.swing.text.SimpleAttributeSet;
    import javax.swing.text.StyleConstants;
    * To change the template for this generated type comment go to
    * Window>Preferences>Java>Code Generation>Code and Comments>Types
    * @author slr6053
    * @version $Id: $
    public class Test {
       static BufferedReader bufferedReadderIn = new BufferedReader(
                                                 new InputStreamReader( System.in ) );
       protected static boolean condition = false;
       public static void main( String[] args ) {
          new JFrame();
          Thread t = new Thread( new Runnable() {
             public void run() {
                System.out.println( "Before while" );
                while ( true ) {
                   String input;
                   try {
                      System.out.println( "Before input" );
                      input = bufferedReadderIn.readLine();
                      System.out.println( "After input " + input );
                      if ( input.equals( "doit" )) {
                         System.out.println("DOIT");
                         condition  = true;
                   } catch ( IOException e ) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                   } // read extension
          System.out.println("First thread started");
          t.start();
          ThreadsWindow threadsWindow = new ThreadsWindow( "Test Thread" );
          Thread x = new Thread( threadsWindow, "Threads Window") ;
          System.out.println("Second thread started");
          x.start();
        * @return Returns condition.
       public static boolean isCondition() {
          return condition;
    * Create a stand-along window that displays the current hierarchy of
    * Thread-Groups and Threads, updating the information every second.
    * A typical output looks like:
    * Note: Thread "AGPS Main" will die and become "Thread-0" at the end of main().
    * <pre>
    * THREAD INFORMATION: 20-SEP-2002 17:49:28.0181
    * ThreadGroup "system": Max Priority = 10
    *  +-> "Signal dispatcher" Priority=5 Daemon=true
    *  +-> "Reference Handler" Priority=10 Daemon=true
    *  +-> "Finalizer" Priority=8 Daemon=true
    *  +ThreadGroup "main": Max Priority = 10
    *  +-+-> "AWT-EventQueue-0" Priority=6 Daemon=false
    *  +-+-> "SunToolkit.PostEventQueue-0" Priority=6 Daemon=false
    *  +-+-> "AWT-Motif" Priority=6 Daemon=false
    *  +-+-> "Screen Updater" Priority=5 Daemon=false
    *  +-+-> "TimerQueue" Priority=5 Daemon=true
    *  +-+-> "Thread-0" Priority=5 Daemon=false
    *  +-+-> "Help Thread" Priority=4 Daemon=false
    *  +-+-> "AGPS Execution" Priority=5 Daemon=false
    *  +-+-> "SEE Threads" Priority=5 Daemon=false
    *  +-+-> "Basic L&F File Loading Thread" Priority=4 Daemon=false
    *  +-+-> "Basic L&F File Loading Thread" Priority=4 Daemon=false
    *  +-+-> "Basic L&F File Loading Thread" Priority=4 Daemon=false
    * </pre>
    * @author Tom Dickens
    * @version $Id: ThreadsWindow.java,v 1.6 2007/08/22 14:39:02 slr6053 Exp $
    class ThreadsWindow extends JFrame implements Runnable, ActionListener {
       private JTextPane textArea ;
       private JButton startStop, closeBtn ;
       private boolean updateInformation = true ;
       private boolean exitThread = false ;
       private Document doc;
       private SimpleAttributeSet att;
       private SimpleAttributeSet attRed;
       private SimpleAttributeSet attBold;
       private SimpleAttributeSet attBold1;
        * Create and show a window that will display the Threads used in the
        * current JVM. The display will be updated every second from a newly
        * created Thread "SEE Threads".
        * @param title The window title for the window.
       public ThreadsWindow( String title ) {
          super( title ) ;
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          textArea = new JTextPane() ;
          att    = new SimpleAttributeSet();
          attBold1 = new SimpleAttributeSet( att );
          StyleConstants.setBold( attBold1, true );
          StyleConstants.setFontSize( attBold1, 14 );
          attBold = new SimpleAttributeSet( att );
          StyleConstants.setBold( attBold, true );
          attRed = new SimpleAttributeSet();
          StyleConstants.setForeground( attRed, Color.red);
          StyleConstants.setBold( attRed, true );
          doc = textArea.getStyledDocument();
          getContentPane().setLayout( new BorderLayout() ) ;
          getContentPane().add( new JScrollPane().add(
                 new JPanel().add( textArea ) ), BorderLayout.CENTER ) ;
          startStop = new JButton( "Start/Stop" ) ;
          closeBtn = new JButton( "CLOSE" ) ;
          JPanel buttons = new JPanel() ;
          buttons.setLayout( new GridLayout( 0, 2 ) ) ;
          buttons.add( startStop ) ;
          buttons.add( closeBtn ) ;
          startStop.addActionListener( this ) ;
          closeBtn.addActionListener( this ) ;
          getContentPane().add( buttons, BorderLayout.NORTH ) ;
          setSize( 300, 400 ) ;
       } // end of constructor()
        * Handle the buttons.
       public void actionPerformed( ActionEvent e ) {
          Object srcIn = e.getSource() ;
          if( srcIn instanceof JButton ) {
             JButton src = (JButton)srcIn ;
             if( src == startStop ) {
                updateInformation = !updateInformation ;
             } else if( src == closeBtn ) {
                updateInformation = false ;
                exitThread = true ;
                setVisible( true ) ;
                dispose() ;
             } // end else if
          } // end if
       } // end of actionPerformed()
        * While true, sleep 1 second and then repaint.
       public void run() {
          while( !exitThread ) {            // do forever
             if ( Test.isCondition()  ) {
                setVisible( true );
                try {
                   Thread.sleep( 1000 ); // update every second
                } catch ( Exception sEx ) {
                if ( updateInformation )
                   repaint();
             } // end if
          } // end while
       } // end of run()
        * Display the hierarchy of Thread-Groups and Threads.
       public void paint( Graphics g ) {
          super.paint( g ) ;
          if( updateInformation ) {
             try {
                doc.remove(  0, doc.getLength() );
                doc.insertString( 0, "THREAD INFORMATION: " +
                               UtSys.datTimSec() + "\n", attBold1 ) ;
             } catch ( BadLocationException e1 ) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
             ThreadGroup rootT = Thread.currentThread().getThreadGroup();
             while( rootT.getParent() != null ) {
                rootT = rootT.getParent();
             }// end while
             try {
                buildThreadOutput( rootT, "" ) ;
             } catch ( BadLocationException e ) {
                // TODO Auto-generated catch block
                e.printStackTrace();
          } // end if
       } // end of paint()
        * Append to the textArea variable the passed ThreadGroup and any
        * Threads it contains. If it contains ant ThreadGroups, invoke this
        * method recursively on each of these threadGroups, etc...
        * @param tg The ThreadGroup to display
        * @param indent The indent-level String to preface each line with.
        *        This method appends "-+" to this String and passes it to the
        *        next recursive invocation.
        * @throws BadLocationException
       private void buildThreadOutput( ThreadGroup tg, String indent ) throws BadLocationException {
          doc.insertString( doc.getLength(),  "   ThreadGroup " +
                           "\"" + tg.getName() + "\":" +
                           " Max Priority = " + tg.getMaxPriority() +
                            "\n", attBold );
          indent = "      ";
          Thread threadArray[] = new Thread[ tg.activeCount() ];
          int threadCount = tg.enumerate( threadArray, false );
          for( int i = 0; i < threadCount; i++ ) {   // THREADS
             Thread thread = threadArray;
    doc.insertString( doc.getLength(), indent + thread.getId()+" "+
    " \"" +thread.getName() +
    "\" Priority=" + thread.getPriority() +
    " Daemon=" + thread.isDaemon() +
    " Active= "+ thread.isAlive() +
    " Interuppted= "+ thread.isInterrupted() +
    "\n", att ) ;
    } // end for
    ThreadGroup threadGroupArray[] = new ThreadGroup[
    tg.activeGroupCount() ];
    int threadGroupCount = tg.enumerate( threadGroupArray, false );
    for( int i = 0; i < threadGroupCount; i++ ) { // THREADGROUPS
    buildThreadOutput( threadGroupArray[i], indent ) ;
    } // end for
    } // end of buildThreadOutput
    } // end of ThreadsWindow class

  • Hang when using UIManager.getSystemLookAndFeelClassName() and JFileChooser

    i encountered this wierd problem when i used UIManager.getSystemLookAndFeelClassName() and JFileChooser on a machine with win2002 (no service pack installed) and on another machine with winxp (no service pack installed). the code works perfectly fine with other pc but apparently our client did something to make it hang whenever either of these were called. i was just wondering how this can happen since its no longer a code problem but rather betwen java and windows. our program runs on java 1.4.x.
    for more info about this problem here's a simple test program that doesnt work on the said machines:
    === code start ===
    import java.io.File;
    import javax.swing.JFileChooser;
    import javax.swing.UIManager;
    public class Test {
    public static void main(String[] args) throws Exception {
    // this portion works fine. this is to prove that there is no problem with IO on java
    File file = new File(".");
    String files[] = file.list();
    System.out.println(file.getAbsolutePath());
    for(int i=0;i<files.length;i++)
    System.out.println(files);
    // program hangs on this part. see thread dump of JFileChooser below
    System.out.println("init JFileChooser");
    JFileChooser fileChooser = new JFileChooser ();
    // when code above is commented out, program also hangs on this part. see thread dump of UIManager below
    System.out.println("init UILookAndFeel");
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    System.out.println("done");
    === code end ===
    thread dump of JFileChooser:
    === thead dump start ===
    Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode):
    "AWT-Windows" daemon prio=7 tid=0x02e2ebb8 nid=0x93c runnable [70bf000..70bfd8c]
    at sun.awt.windows.WToolkit.eventLoop(Native Method)
    at sun.awt.windows.WToolkit.run(WToolkit.java:262)
    at java.lang.Thread.run(Thread.java:534)
    "Signal Dispatcher" daemon prio=10 tid=0x009c8da8 nid=0xa74 waiting on condition [0..0]
    "Finalizer" daemon prio=9 tid=0x00990a10 nid=0x860 in Object.wait() [2b4f000..2b4fd8c]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x105103a8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
    - locked <0x105103a8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x0098f5e0 nid=0xa6c in Object.wait() [2b0f000..2b0fd8c]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x10510410> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:429)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
    - locked <0x10510410> (a java.lang.ref.Reference$Lock)
    "main" prio=5 tid=0x00034a88 nid=0xa64 runnable [7e000..7fc3c]
    at sun.awt.font.NativeFontWrapper.registerFonts(Native Method)
    - locked <0x14199820> (a java.lang.Class)
    at sun.java2d.SunGraphicsEnvironment.addPathFonts(SunGraphicsEnvironment.java:797)
    at sun.java2d.SunGraphicsEnvironment.registerFonts(SunGraphicsEnvironment.java:643)
    at sun.java2d.SunGraphicsEnvironment.access$200(SunGraphicsEnvironment.java:53)
    at sun.java2d.SunGraphicsEnvironment$2.run(SunGraphicsEnvironment.java:262)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:256)
    - locked <0x10510430> (a sun.awt.Win32GraphicsEnvironment)
    at sun.java2d.SunGraphicsEnvironment.mapFontName(SunGraphicsEnvironment.java:504)
    at java.awt.Font.initializeFont(Font.java:312)
    at java.awt.Font.<init>(Font.java:344)
    at sun.awt.windows.WDesktopProperties.setFontProperty(WDesktopProperties.java:157)
    - locked <0x105367f8> (a sun.awt.windows.WDesktopProperties)
    at sun.awt.windows.WDesktopProperties.getWindowsParameters(Native Method)
    at sun.awt.windows.WDesktopProperties.<init>(WDesktopProperties.java:56)
    at sun.awt.windows.WToolkit.initializeDesktopProperties(WToolkit.java:876)
    at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1569)
    - locked <0x105367c0> (a sun.awt.windows.WToolkit)
    at sun.awt.shell.ShellFolder.<clinit>(ShellFolder.java:208)
    at javax.swing.filechooser.FileSystemView.getRoots(FileSystemView.java:335)
    at javax.swing.filechooser.WindowsFileSystemView.getHomeDirectory(FileSystemView.java:649)
    at javax.swing.plaf.metal.MetalFileChooserUI.installComponents(MetalFileChooserUI.java:214)
    at javax.swing.plaf.basic.BasicFileChooserUI.installUI(BasicFileChooserUI.java:130)
    at javax.swing.plaf.metal.MetalFileChooserUI.installUI(MetalFileChooserUI.java:152)
    at javax.swing.JComponent.setUI(JComponent.java:449)
    at javax.swing.JFileChooser.updateUI(JFileChooser.java:1701)
    at javax.swing.JFileChooser.setup(JFileChooser.java:345)
    at javax.swing.JFileChooser.<init>(JFileChooser.java:320)
    at javax.swing.JFileChooser.<init>(JFileChooser.java:273)
    at Test.main(Test.java:26)
    "VM Thread" prio=5 tid=0x009c76e8 nid=0xa68 runnable
    "VM Periodic Task Thread" prio=10 tid=0x009cb5c8 nid=0x9d0 waiting on condition
    "Suspend Checker Thread" prio=10 tid=0x009c8460 nid=0xa70 runnable
    === thead dump ends ===
    thread dump of UIManager:
    === thead dump start ===
    Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode):
    "AWT-Windows" daemon prio=7 tid=0x02e29d88 nid=0x960 runnable [725f000..725fd8c]
    at sun.awt.windows.WToolkit.eventLoop(Native Method)
    at sun.awt.windows.WToolkit.run(WToolkit.java:262)
    at java.lang.Thread.run(Thread.java:534)
    "Signal Dispatcher" daemon prio=10 tid=0x009c8da8 nid=0x2a8 waiting on condition [0..0]
    "Finalizer" daemon prio=9 tid=0x00990a10 nid=0x784 in Object.wait() [2b4f000..2b4fd8c]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x1050f430> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
    - locked <0x1050f430> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x0098f5e0 nid=0x350 in Object.wait() [2b0f000..2b0fd8c]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x1050f498> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:429)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
    - locked <0x1050f498> (a java.lang.ref.Reference$Lock)
    "main" prio=5 tid=0x00034a88 nid=0x934 runnable [7e000..7fc3c]
    at sun.awt.font.NativeFontWrapper.registerFonts(Native Method)
    - locked <0x141ed340> (a java.lang.Class)
    at sun.java2d.SunGraphicsEnvironment.addPathFonts(SunGraphicsEnvironment.java:797)
    at sun.java2d.SunGraphicsEnvironment.registerFonts(SunGraphicsEnvironment.java:643)
    at sun.java2d.SunGraphicsEnvironment.access$200(SunGraphicsEnvironment.java:53)
    at sun.java2d.SunGraphicsEnvironment$2.run(SunGraphicsEnvironment.java:262)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:256)
    - locked <0x1050f4a0> (a sun.awt.Win32GraphicsEnvironment)
    at sun.java2d.SunGraphicsEnvironment.mapFontName(SunGraphicsEnvironment.java:504)
    at java.awt.Font.initializeFont(Font.java:312)
    at java.awt.Font.<init>(Font.java:344)
    at sun.awt.windows.WDesktopProperties.setFontProperty(WDesktopProperties.java:157)
    - locked <0x10534da8> (a sun.awt.windows.WDesktopProperties)
    at sun.awt.windows.WDesktopProperties.getWindowsParameters(Native Method)
    at sun.awt.windows.WDesktopProperties.<init>(WDesktopProperties.java:56)
    at sun.awt.windows.WToolkit.initializeDesktopProperties(WToolkit.java:876)
    at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1569)
    - locked <0x1050f268> (a sun.awt.windows.WToolkit)
    at com.sun.java.swing.plaf.windows.XPStyle.getXP(XPStyle.java:75)
    - locked <0x1427fd50> (a java.lang.Class)
    at com.sun.java.swing.plaf.windows.WindowsTreeUI$ExpandedIcon.<init>(WindowsTreeUI.java:123)
    at com.sun.java.swing.plaf.windows.WindowsTreeUI$ExpandedIcon.createExpandedIcon(WindowsTreeUI.java:127)
    at com.sun.java.swing.plaf.windows.WindowsLookAndFeel.initComponentDefaults(WindowsLookAndFeel.java:309)
    at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:81)
    at javax.swing.UIManager.setLookAndFeel(UIManager.java:394)
    at javax.swing.UIManager.setLookAndFeel(UIManager.java:424)
    at Test.main(Test.java:23)
    "VM Thread" prio=5 tid=0x009c76e8 nid=0x92c runnable
    "VM Periodic Task Thread" prio=10 tid=0x009cb5c8 nid=0x944 waiting on condition
    "Suspend Checker Thread" prio=10 tid=0x009c8460 nid=0x940 runnable
    === thead dump ends ===
    hope someone can clarify me with this wierd anomaly.
    thanks.
    - ian
    [email protected]

    Try to move the following line of ur code to the first statement in main()
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    public static void main(String[] args) throws Exception {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }

Maybe you are looking for