ActiveMQ-CPP client hangs when connect ActiveMQ-CPP client & OpenMQ broker

I am trying to connect an ActiveMQ-CPP client with an Oracle OpenMQ broker via STOMP. Both manufacturers claim this will work, and I have been able to get an ActiveMQ-CPP client to connect to an ActiveMQ broker via STOMP, an OpenMQ client with an OpenMQ broker via STOMP, and an OpenMQ client with an ActiveMQ broker via STOMP without problems, but the only one missing is what I need- ActiveMQ-CPP client to connect with OpenMQ broker.
I am using Fedora Linux and am using the provided "example" script for ActiveMQ-CPP, changing the brokerURL to be "tcp://localhost:61613?wireFormat=stomp" instead, where the OpenMQ STOMP bridge is located at localhost:61613.
On the OpenMQ end, I receive the request to connect by the client and I start a connection:
INFO: Create JMS connection for user admin with client id ID:csa-nexus-57767-1281630228652-1:0
Aug 12, 2010 8:23:48 AM
INFO: Started JMS connection 8950669406784000768[ID:csa-nexus-57767-1281630228652-1:0] for user admin
This is where the ActiveMQ-CPP client hangs at "connection->start", or if this is removed, "connection->createSession".
Any help would be appreciated. Thanks!

I need to use ActiveMQ-CPP because I need a C++ messaging client which supports failover, which OpenMQ's C client does not. I thought it was unlikely that it wouldn't be able to connect as well. I can't find a good way to debug the ActiveMQ-CPP client enough to know whether the problem is on the ActiveMQ-CPP client's end or the OpenMQ broker's end.
Here is the source code for installing ActiveMQ-CPP, that is how you install it: http://activemq.apache.org/cms/activemq-cpp-322-release.html.
The example comes bundled with ActiveMQ-CPP installation, but I'll show you parts of the main.cpp file that does all of the work:
class HelloWorldConsumer : public ExceptionListener,
public MessageListener,
public Runnable {
private:
this->brokerURI = brokerURI;
virtual ~HelloWorldConsumer(){
cleanup();
void close() {
this->cleanup();
void waitUntilReady() {
latch.await();
virtual void run() {
try {
auto_ptr<ConnectionFactory> connectionFactory( ConnectionFactory::createCMSConnectionFactory( brokerURI ) );
// Create a Connection
connection = connectionFactory->createConnection("admin", "admin");
connection->start();
connection->setExceptionListener(this);
// Create a Session
if( this->sessionTransacted == true ) {
session = connection->createSession( Session::SESSION_TRANSACTED );
} else {
session = connection->createSession( Session::AUTO_ACKNOWLEDGE );
// Create the destination (Topic or Queue)
if( useTopic ) {
destination = session->createTopic( "TEST.FOO" );
} else {
destination = session->createQueue( "TEST.FOO" );
// Create a MessageConsumer from the Session to the Topic or Queue
consumer = session->createConsumer( destination );
consumer->setMessageListener( this );
std::cout.flush();
std::cerr.flush();
// Indicate we are ready for messages.
latch.countDown();
// Wait while asynchronous messages come in.
doneLatch.await( waitMillis );
} catch( CMSException& e ) {
// Indicate we are ready for messages.
latch.countDown();
e.printStackTrace();
// Called from the consumer since this class is a registered MessageListener.
virtual void onMessage( const Message* message ){
static int count = 0;
try
count++;
const TextMessage* textMessage =
dynamic_cast< const TextMessage* >( message );
string text = "";
if( textMessage != NULL ) {
text = textMessage->getText();
} else {
text = "NOT A TEXTMESSAGE!";
printf( "Message #%d Received: %s\n", count, text.c_str() );
} catch (CMSException& e) {
e.printStackTrace();
// Commit all messages.
if( this->sessionTransacted ) {
session->commit();
// No matter what, tag the count down latch until done.
doneLatch.countDown();
// If something bad happens you see it here as this class is also been
// registered as an ExceptionListener with the connection.
virtual void onException( const CMSException& ex AMQCPP_UNUSED) {
printf("CMS Exception occurred. Shutting down client.\n");
ex.printStackTrace();
exit(1);
int main(int argc AMQCPP_UNUSED, char* argv[] AMQCPP_UNUSED) {
activemq::library::ActiveMQCPP::initializeLibrary();
std::cout << "=====================================================\n";
std::cout << "Starting the example:" << std::endl;
std::cout << "-----------------------------------------------------\n";
std::string brokerURI =
"tcp://localhost:61613"
"?wireFormat=stomp"
// "&soConnectTimeout=5"
// "&connection.sendTimeout=5"
// "&connection.useAsyncSend=true"
// "&transport.useInactivityMonitor=false"
// "&connection.alwaysSyncSend=true"
// "&connection.useAsyncSend=true"
// "&transport.commandTracingEnabled=true"
// "&transport.tcpTracingEnabled=true"
// "&wireFormat.tightEncodingEnabled=true"
//============================================================
// set to true to use topics instead of queues
// Note in the code above that this causes createTopic or
// createQueue to be used in both consumer an producer.
//============================================================
bool useTopics = true;
bool sessionTransacted = false;
int numMessages = 2000;
long long startTime = System::currentTimeMillis();
HelloWorldProducer producer( brokerURI, numMessages, useTopics );
HelloWorldConsumer consumer( brokerURI, numMessages, useTopics, sessionTransacted );
// Start the consumer thread.
Thread consumerThread( &consumer );
consumerThread.start();
// Wait for the consumer to indicate that its ready to go.
consumer.waitUntilReady();
// Start the producer thread.
Thread producerThread( &producer );
producerThread.start();
// Wait for the threads to complete.
producerThread.join();
consumerThread.join();
long long endTime = System::currentTimeMillis();
double totalTime = (double)(endTime - startTime) / 1000.0;
consumer.close();
producer.close();
std::cout << "Time to completion = " << totalTime << " seconds." << std::endl;
std::cout << "-----------------------------------------------------\n";
std::cout << "Finished with the example." << std::endl;
std::cout << "=====================================================\n";
activemq::library::ActiveMQCPP::shutdownLibrary();
// END SNIPPET: demo The places where the code will hang upon connection are "connection->start() and connection->createSession()". Again, this happens with any ActiveMQ client, no matter the language, and via Stomp, both should be supported. But using an OpenMQ client with ActiveMQ broker works perfectly. And using this code with its own ActiveMQ broker still via Stomp works perfectly as well.
Thanks!

Similar Messages

  • 31.3.0 hangs when connecting to my IMAPS server (problem with intermediate certificates or SSL in general?).

    After update to 31.3.0 Thunderbird hangs when connecting to IMAPS server aie.de (intermediate certificates in chain). No error message is given, Thunderbird just hangs with out updating the subject lines of the inbox.

    It is a configuration problem of the courier imap ssl daemon, resolution is shown [http://xf.wiki.mithi.com/index.php/Error_observed_in_/var/log/messages_log,_imapd:_couriertls:_accept:_error:1408F10B:SSL_routines:SSL3_GET_RECORD:wrong_version_number#Resolution here]

  • ITunes 11.1 hangs when connecting to iCloud. How can I download 11.0.5?

    Arrrrgh! iTunes 11.1 hangs on my system Windows 7 x64 when trying to connect to iCloud. It runs fine if I start it in safe mode (I have no third party plug-ins installed).
    How do I download iTunes 11.0.5???? I've been searching on the Internt for the last 1/2 hour and it looks like Apple prevents users from downloading 11.0 once 11.1 (piece of crap) is out. WHY?????????

    Hi,
    I've been able to resolve the problem of iTunes crashing by emptying the SycServices folder - by following the steps described at the foot of this comment. I've also been able to sync my iPhone contacts with my Address Book ...but I cannot sync my Address Book with Outlook 2011 ...  and thus my iPhone linking to Outlook 2011.
    I'm aware that 'Sync Services' were depreciated in 10.8 and was hoping that this would be restored in full in v: 10.9.3. I understand that MicroSoft needs Sync Services to be reintroduced into the OS to enable the sync to work again for linking up with Outlook 2011 - which appear to be blank in my Sync Services preferences window as follows ....
    I would be mighty grateful for any ideas/solutions on how to resolve this problem. Synching Outlook 2011 with my iPhone was so easy in the past!
    Simon
    Back up all data.
    Triple-click anywhere in the line below on this page to select it:
    ~/Library/Application Support/SyncServices
    Right-click or control-click the highlighted line and select
    Services ▹ Reveal in Finder (or just Reveal)
    from the contextual menu.* A folder should open with an item selected. Move the selected item to the Trash. Log out or restart the computer and empty the Trash. Test.
    *If you don't see the contextual menu item, copy the selected text to the Clipboard by pressing the key combination  command-C. In the Finder, select
    Go ▹ Go to Folder...
    from the menu bar and paste into the box that opens by pressing command-V. You won't see what you pasted because a line break is included. Press return.
    Re: iTunes ver 11.2.1 hangs when connecting to iPhone 

  • Session Bean Client Hangs when one Server in Cluster Fails

    We are testing several failure scenarios and one has come up that concerns us.
    Some background: Were running a WLS6.1 cluster on two separate machines. We
    start a test client consisting of 50 active threads and let them start calling
    into a session bean. After a couple minutes we pull the network plug out of one
    of the machines to simulate an uncontrolled crash of the machine. Once the plug
    is pulled the clients hang and of more concern any new clients that we startup
    also hang. Has anyone successfully solved this problem?

    When we kill one of Weblogic instances in the cluster none of the clients fail.
    All of our clients fail-over to the remaining servers. It's pulling the network
    plug to our of the server that causes everything to hang. Not just or test client,
    but the other servers in the cluster hang. The control panel doesn't respond
    at all either. We currently have a support case open with BEA #348184 about this.
    We've gotten a prompt response in which we were asked to modify our configuration
    by deploying our beans to each individual server rather than the cluster. We
    did this, but the results so far have not changed.
    Thanks for the feedback,
    Howard.
    "Ade Barkah" <[email protected]> wrote:
    We haven't encountered something like that, so it could be a setup problem.
    Can you verify that the t3 url hostname the client threads use resolves
    to the
    ip addresses of each machine in the cluster? Are all machines in the
    cluster
    listening at the same port number? Also, does it matter if you kill one
    of the
    weblogic processes instead of pulling the plug? (i.e., if you leave the
    network
    layer up?)
    Check also that your threads aren't simply blocking each other when the
    server
    goes down? E.g. start multiple test client processes with one thread
    each just
    to test.
    What we notice is (with round-robin cluster policy), as we bring down
    one of
    the servers, the clients will continue to work on the second server,
    but will slow
    down between method invocations as they still attempt to connect to the
    downed
    server.
    After a short period of time (~30 seconds) the clients will fully switch
    to the
    second machine and processing continues at full speed again, until the
    downed
    machine is brought back up, at which point work is distributed evenly
    again.
    Also, when the first server is brought down, some of the clients may
    terminate
    with a PeerGoneException (or something similar to that.) So unless your
    threads
    are catching exceptions, they might terminate as well.
    regards,
    -Ade
    "howard spector" <[email protected]> wrote in message news:[email protected]...
    We are testing several failure scenarios and one has come up that concernsus.
    Some background: Were running a WLS6.1 cluster on two separate machines.We
    start a test client consisting of 50 active threads and let them startcalling
    into a session bean. After a couple minutes we pull the network plugout of one
    of the machines to simulate an uncontrolled crash of the machine. Once the plug
    is pulled the clients hang and of more concern any new clients thatwe startup
    also hang. Has anyone successfully solved this problem?

  • Client hang when using enable radio management support

    WLC version 5.0.148.0
    When the client (mainly XP SP2) using IntelProSet connects to the wifi, the client hangs and requires power down. The radio management support has been enabled for sometime and the problem just happened from few weeks ago. No configuration change in WLC and the Wintel team says there was no patch installed.
    If the radio management support is disabled, there is no hanging issue.
    The clients should be mainly of CCXv2 or below.
    Please help. Thanks in advance

    "enabling radio management" means to check the "enable radio management support" option in the Intel ProSet client. All the settings here are talking about client side.
    Not every client nor every Intel Client has problem.
    I checked that the client hangs not because of "enable radio management support" but enable CCX (again on client side).
    Anyway, one has to enable CCX in order to enable radio management support. Otherwise, the enable radio management support checkbox will be greyed out.
    And for the client with problem, it comes with Intel wireless module but not the Dell one mentioned in http://www.cisco.com/web/partners/pr46/pr147/partners_pgm_partners_0900aecd800c1a1e.html
    I don't know which CCX version it is. It is using latest Intel ProSet and driver version.
    I do have some other Dell notebooks (totally different model, driver and Intel Proset version) using Intel wireless module and not suffer from the CCX issue. I think it is just naming issue in the CCX compatibility table, the wireless module is equivalent in some sense.

  • Possible to select self-signed certificate for client validation when connecting to VPN with EAP-TLS

    In windows 8.2, I have a VPN connection configured with PPTP as the outer protocol and EAP : "Smart card or other certificate ..." as the inner protocol. Under properties, in the "When connecting" section I've selected "Use a certificate
    on this computer" and un-checked "Use simple certificate selection".
    My preference would be to use separate self-signed certificates for all clients rather than having a common root certificate that signed all of the individual client certificates. I've tried creating the self-signed certificate both with and without the
    client authentication EKU specified, and I've added the certificate to the trusted root certificate authority store on the client. But when I attempt to connect to the VPN I can not get the self signed certificate to appear on the "Choose a certificate"
    drop down.
    Are self signed certificates supported for this use in EAP-TLS? If it makes a difference, I'm working with makecert (not working with a certificate server).
    TIA,
    -Rick

    Hi Rick,
    Thank you for your patience.
    According to your description, would you please let me know what command you were using to make a self-signed certificate by tool makecert? I would like to try to reproduce this issue. Also based on my experience, please let me
    know if the certificate has private key associated and be present in the local machine store. Hence, please move the certificate from the trusted root certificate authority store to personal store.
    Best regards,
    Steven Song
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

  • Sqlplus hanging when connecting by specifying user/pwd

    Hi All,
    Oracle 11G R2 on WIndows 2008 R2
    I have cloned a server, serverA, and created a new server, lets say serverB. Two things i changed for this serverB:
    1) edited tnsnames entry so that the alias TST now points to this new serverB hostname (previously it was pointing to serverA)
    2) deleted and recreated the listener
    Now when i try to connect to my instance using sqlplus and the username/pwd, it hangs here:
    D:\ORACLE\DATABASE\ORA11G\database>sqlplus sys/blahblhablhar@tst as sysdba
    SQL*Plus: Release 11.2.0.3.0 Production on Tue May 7 15:18:36 2013
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.If i try to connect using
    D:\ORACLE\DATABASE\ORA11G\database>sqlplus / as sysdba - IT WORKS.
    I tried to recreate my pwd file using orapwd and no luck.
    Any ideas as to why i cannot connect using the first method? Also, when i try to connect to this instance using SQL developer from my laptop, it also hangs when i do the 'Test' button..??
    Thanks in advance.
    Edited by: MSandico on 7-May-2013 12:43 PM
    Edited by: MSandico on 7-May-2013 12:47 PM

    Here it is:
    D:\ORACLE\DATABASE\ORA11G\database>lsnrctl status
    LSNRCTL for 64-bit Windows: Version 11.2.0.3.0 - Production on 08-MAY-2013 13:32
    :59
    Copyright (c) 1991, 2011, Oracle.  All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVERA.corp.XXX.com)(PORT=1521)))
    STATUS of the LISTENER
    Alias                     LISTENER
    Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.3.0 - Produ
    ction
    Start Date                07-MAY-2013 10:57:31
    Uptime                    1 days 2 hr. 35 min. 28 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   D:\Oracle\Database\ora11g\network\admin\listener.ora
    Listener Log File         D:\ORACLE\DATABASE\diag\tnslsnr\IDCORATST01\listener\a
    lert\log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SERVERA.corp.XXX.com)(PO
    RT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
      Instance "CLRExtProc", status UNKNOWN, has 4 handler(s) for this service...
    Service "MMSPRD7XDB" has 1 instance(s).
      Instance "mmsprd7", status READY, has 1 handler(s) for this service...
    Service "mmsprd7" has 1 instance(s).
      Instance "mmsprd7", status READY, has 1 handler(s) for this service...
    The command completed successfully
    D:\ORACLE\DATABASE\ORA11G\database>lsnrctl service
    LSNRCTL for 64-bit Windows: Version 11.2.0.3.0 - Production on 08-MAY-2013 13:33
    :22
    Copyright (c) 1991, 2011, Oracle.  All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVERA.corp.XXX.com)(PORT=1521)))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
      Instance "CLRExtProc", status UNKNOWN, has 4 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:0 refused:0
             LOCAL SERVER
          "DEDICATED" established:0 refused:0
             LOCAL SERVER
          "ORACLE SERVER" established:0 refused:0 current:0 max:25 state:ready
             CLRExtProc
             (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\NTN_498_D98D5B78_8ADC.ORA))
          "ORACLE SERVER" established:0 refused:0 current:0 max:25 state:ready
             CLRExtProc
             (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\NTN_498_D98D5B78_4773.ORA))
    Service "MMSPRD7XDB" has 1 instance(s).
      Instance "mmsprd7", status READY, has 1 handler(s) for this service...
        Handler(s):
          "D000" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: SERVERA, pid: 2136>
             (ADDRESS=(PROTOCOL=tcp)(HOST=SERVERA.corp.XXX.com)(PORT=521
    94))
    Service "mmsprd7" has 1 instance(s).
      Instance "mmsprd7", status READY, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:7 refused:0 state:ready
             LOCAL SERVER
    The command completed successfully
    D:\ORACLE\DATABASE\ORA11G\database>Anything strike y'all yet?

  • OCIStmtExecute hangs when connection is lost

    Hi,
    If the connection to the Oracle server for some reason is lost, the call to OCIStmtExecute could hang for several minutes. When OCIStmtExecute finally returns a new call to OCIStmtExecute does not hang but of course it returns with error.
    How can I prevent OCIStmtExecute from hanging several minutes first time when connection is lost?
    I'm using nonblocking mode, but it obviously doesnt prevent OCIStmtExecute from hanging the first time after connection loss.
    Can anybody help me?
    Thanks in advance!
    Br,
    Ole Hansen

    Although Bug 18336207 is still in status  "80 - Development to QA/Fix Delivered Internal" - it seems that it was fixed in the final Release 3 (v4.121.2.20141216)
    (at least I can't reproduce it anymore).
    Thanks

  • Non-Deterministic Exception When Connecting With Wrong Client Certificate

    I am working on an internal application and need to determine the correct client-side SSL certificate to use when connecting to a server (the user can supply multiple client-side certificates). I had expected that if I connected to a server using the wrong client certificate the java client would throw a SSLHandshakeException and I could then try the next certificate. This seems to work some of the time, however the java client will sometimes throw a “SocketException: Software caused connection abort: recv failed”, in which case it is not possible to know that the wrong certificate caused the problem.
    Below is the code I have been using to test as well as the intermittent SocketException stack trace. Does anyone have an idea as to how to fix this problem? Thanks in advance.
    Note: the TrustAllX509TrustManager is a trust manager that trusts all servers.
    protected void connectSsl() throws Exception {
          final String host = "x.x.x.x";
          final int portNumber = 443;
          final int socketTimeout = 10*1000;
          // Note: Wrong certificate (expect SSLHandshakeException).
          final String certFilename = "C:\\xxx\\clientSSL.P12";
          final String certPassword = "certPassword";
          final BufferedInputStream bis = new BufferedInputStream(new FileInputStream(new File(certFilename)));
          final char[] certificatePasswordArray = certPassword.toCharArray();
          final KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
          final KeyStore keyStore = KeyStore.getInstance("PKCS12");
          keyStore.load(bis, certificatePasswordArray);
          keyManagerFactory.init(keyStore, certificatePasswordArray);
          final KeyManager[] keyManagers = keyManagerFactory.getKeyManagers();
          final SSLContext context = SSLContext.getInstance("SSL");
          context.init(keyManagers, new TrustManager[]{new TrustAllX509TrustManager()}, new SecureRandom());
          final SocketFactory secureFactory = context.getSocketFactory();
          final Socket socket = secureFactory.createSocket();
          final InetAddress ip = InetAddress.getByName(host);
          socket.connect(new InetSocketAddress(ip, portNumber), socketTimeout);
          socket.setSoTimeout(socketTimeout);
          // Write the request.
          final OutputStream out = new BufferedOutputStream(socket.getOutputStream());
          out.write("GET / HTTP/1.1\r\n".getBytes());
          out.write("\r\n".getBytes());
          out.flush();
          InputStream inputStream = socket.getInputStream();
          ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
          byte[] byteArray = new byte[1024];
          int bytesRead = 0;
          while ((bytesRead = inputStream.read(byteArray)) != -1) {
             outputStream.write(byteArray, 0, bytesRead);
          socket.close();
          System.out.println("Response:\r\n" + outputStream.toString("UTF-8"));
       }Unexpected SocketException:
    main: java.net.SocketException: Software caused connection abort: recv failed
         at java.net.SocketInputStream.socketRead0(Native Method)
         at java.net.SocketInputStream.read(SocketInputStream.java:129)
         at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
         at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java:1435)
         at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(HandshakeOutStream.java:103)
         at com.sun.net.ssl.internal.ssl.Handshaker.sendChangeCipherSpec(Handshaker.java:612)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.sendChangeCipherAndFinish(ClientHandshaker.java:808)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:734)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:197)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1096)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:623)
         at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
         at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)

    Thanks for the quick response. Here are answers to the questions:
    1) No, this issue is not associated with one particular certificate. I have tried several certificates and see the same issue.
    2) I agree it would be simpler to only send the required certificate, but unfortunately the project requires that the user be able to specify multiple certificates and, if a client-side certificate is required, the application try each one in turn until the correct certificate is found.
    3) Yes, I realize the TrustAllX509TrustManager is insecure, but I am using this for testing purposes while trying to diagnose the client certificate problem.
    In terms of testing, I am just wrapping the above code in a try/catch block and executing it in a loop. It is quite odd that the same exact code will sometimes generate a SSLHandshakeException and other times a SocketException.
    One additional piece of information: if I force the client code to use "SSLv3" using the Socket.setEnabledProtocols(...) method, the problem goes away (I consistently get a SSLHandshakeException). However, I don't think this solves my problem as forcing the application to use SSLv3 would mean it could not handle TLS connections.
    The code to specify the SSLv3 protocol is:
    SSLSocket sslSocket = (SSLSocket) socket;
    sslSocket.setEnabledProtocols(new String[] {"SSLv3"});
    One other strange issue: if instead of specifying the SSLv3 protocol using setEnabledProtocols(...) I instead specify the protocol when creating the SSLContext, the SocketException problem comes back. So if I replace:
    final SSLContext context = SSLContext.getInstance("SSL");
    with:
    final SSLContext context = SSLContext.getInstance("SSLv3");
    and remove the "sslSocket.setEnabledProtocols(new String[] {"SSLv3"})" line, I see the intermittent SocketException problem.
    All very weird. Any thoughts?

  • Freeze/Hang when connecting using SSLSocket

    Hi
    I have a client/server connection using a SSLSocket. The SSL stuff is using a certificate inside a keystore with a public key which is stored in a signed .jar file, as part of the set of jars obtained by the client using Java Web Start (jars are signed, of course).
    In the server side I have estabished the javax.net.ssl.keyStore and javax.net.ssl.keyStorePassword properties with the right values, and are pointing to the keystore where I have the private key wired to the public key inside the certificate stored in the client's keystore. This way I can use the default SSLServerSocketFactory to get a SSLServerSocket (and then SSLSockets from the ssocket.accept() method).
    In the client side I do this:
    char[] passwordKeystore = "keyForTheKeystore".toCharArray();
    KeyStore ks = KeyStore.getInstance("JKS");
    ks.load(CommManager.class.getResourceAsStream("/path/to/the/keystore/inside/the/jar/file"), passwordKeystore);
    TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance("PKIX");
    trustManagerFactory.init(ks);
    KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    keyManagerFactory.init(ks, passwordKeystore);
    SSLContext sslContext = SSLContext.getInstance("TLSv1");
    sslContext.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), new SecureRandom());
    SSLContext.setDefault(sslContext);
    sslSocketFactory = sslContext.getSocketFactory();I'm exchanging data exchanging serialized Objects through this SSLSocket. I've tried to "startHandshake()" in the client right after "connect()" (also in the server with the SSLSocket I get from "ssocket.accept()"), before getting the reference to the streams, but I've also tried to skip this step. Then I get first the ObjectOutputStream and then the ObjectInputStream in both sides.
    Here is the problem:
    This code works fine in a computer, but in another (both Linux, only different versions of Ubuntu, and always using the oracle JVM; this happens with both java6 and java7) there is a strange delay when I try to get the ObjectOutputStream, and I tried to exchange the order (first OOS in one side and OIS in the other, just to test) but the problem is still there. After 25/30 seconds the connection is finally established and everything works.
    By enabling debug in the java.net stack (I don't remember the exact name of the property) I've seen both VM's loading the known certificates, but everything is paused when it's going to obtain the reference to the streams, and finally works after this 25/30 seconds delay (I can see the helloClient and helloServer steps, and the algorithm negotiation).
    What might be going on here? Is it really using the certificate I created (self-signed), or this delay is related with some timeout because of not being using the proper key pair, which finally forces the connection to use a default key pair provided by the server, as long as client autenthication is not required?
    Regards
    Edited by: 847698 on 08-oct-2012 13:33

    Ok, here it goes the output with debug enabled.
    Output in client side:
    keyStore is :
    keyStore type is : jks
    keyStore provider is :
    --------------- At some point here my SSL stuff is initialized, using the code of my first post
    init keystore
    init keymanager of type SunX509
    trustStore is: /path/to/keystore
    trustStore type is : jks
    trustStore provider is :
    init truststore
    adding as trusted cert:
      MY CERT ------------------------------
    trigger seeding of SecureRandom
    done seeding SecureRandom
    Allow unsafe renegotiation: false
    Allow legacy hello messages: true
    Is initial handshake: true
    Is secure renegotiation: false
    --------------- Ok establishing the TCP connection
    SSLSocket socket = (SSLSocket)sslSocketFactory.createSocket();
    socket.connect(new InetSocketAddress("192.168.x.x", port));
    --------------- Ok before calling getOutputStream()
    ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
    --------------- 25/30 SECONDS DELAY HERE (blocked in this method call / constructor)
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie:  GMT: 1349860735 bytes = { 181, 153, 31, 19, 148, 94, 0, 4, 123, 73, 50, 89, 135, 12, 124, 102, 190, 129, 104, 241, 115, 235, 116, 107, 28, 130, 24, 194 }
    Session ID:  {}
    Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
    Compression Methods:  { 0 }
    Thread-0, WRITE: TLSv1 Handshake, length = 81
    Thread-0, WRITE: SSLv2 client hello message, length = 110
    Thread-0, READ: TLSv1 Handshake, length = 1008
    *** ServerHello, TLSv1
    RandomCookie:  GMT: 1349860735 bytes = { 117, 97, 0, 132, 86, 132, 98, 105, 137, 207, 30, 190, 224, 236, 92, 225, 159, 242, 115, 138, 144, 160, 243, 209, 43, 175, 221, 23 }
    Session ID:  {80, 117, 61, 127, 222, 181, 192, 12, 239, 17, 207, 187, 229, 245, 12, 138, 24, 56, 91, 245, 142, 29, 26, 188, 233, 49, 50, 71, 61, 68, 149, 16}
    Cipher Suite: SSL_RSA_WITH_RC4_128_MD5
    Compression Method: 0
    Extension renegotiation_info, renegotiated_connection: <empty>
    %% Created:  [Session-1, SSL_RSA_WITH_RC4_128_MD5]
    ** SSL_RSA_WITH_RC4_128_MD5
    *** Certificate chainOutput in server side:
    keyStore is : /path/to/keystore
    keyStore type is : jks
    keyStore provider is :
    init keystore
    init keymanager of type SunX509
    found key for : keyjnlp
    chain [0] = [
      MY CERT ------------------------------
      Algorithm: [MD5withRSA]
      Signature:
    trustStore is: /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/cacerts
    trustStore type is : jks
    trustStore provider is :
    init truststore
    adding as trusted cert:
      Subject: CN=SwissSign Platinum CA - G2, O=SwissSign AG, C=CH
      Issuer:  CN=SwissSign Platinum CA - G2, O=SwissSign AG, C=CH
      Algorithm: RSA; Serial number: 0x4eb200670c035d4f
      Valid from Wed Oct 25 10:36:00 CEST 2006 until Sat Oct 25 10:36:00 CEST 2036
    adding as trusted cert:
    LOTS OF CERTS ---------------------
    trigger seeding of SecureRandom
    done seeding SecureRandom
    ------- ServerSocket created OK
    ------- Before ssocket.accept()
    Allow unsafe renegotiation: false
    Allow legacy hello messages: true
    Is initial handshake: true
    Is secure renegotiation: false
    matching alias: keyjnlp
    Thread-0, called closeSocket()
    Allow unsafe renegotiation: false
    Allow legacy hello messages: true
    Is initial handshake: true
    Is secure renegotiation: false
    --------------- Now I have a SSLSocket from accept()
    --------------- Ok before calling getOutputStream()
    ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
    --------------- 25/30 SECONDS DELAY HERE (blocked in this method call / constructor)
    Thread-1, READ:  SSL v2, contentType = Handshake, translated length = 81
    *** ClientHello, TLSv1
    RandomCookie:  GMT: 1349860735 bytes = { 181, 153, 31, 19, 148, 94, 0, 4, 123, 73, 50, 89, 135, 12, 124, 102, 190, 129, 104, 241, 115, 235, 116, 107, 28, 130, 24, 194 }
    Session ID:  {}
    Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
    Compression Methods:  { 0 }
    %% Created:  [Session-1, SSL_RSA_WITH_RC4_128_MD5]
    *** ServerHello, TLSv1
    RandomCookie:  GMT: 1349860735 bytes = { 117, 97, 0, 132, 86, 132, 98, 105, 137, 207, 30, 190, 224, 236, 92, 225, 159, 242, 115, 138, 144, 160, 243, 209, 43, 175, 221, 23 }
    Session ID:  {80, 117, 61, 127, 222, 181, 192, 12, 239, 17, 207, 187, 229, 245, 12, 138, 24, 56, 91, 245, 142, 29, 26, 188, 233, 49, 50, 71, 61, 68, 149, 16}
    Cipher Suite: SSL_RSA_WITH_RC4_128_MD5
    Compression Method: 0
    Extension renegotiation_info, renegotiated_connection: <empty>
    Cipher suite:  SSL_RSA_WITH_RC4_128_MD5I hope that's enough
    Regards
    Edited by: 847698 on 11-oct-2012 18:47

  • Latest iTunes Hanging when connecting iPad 2 and iPhone 4

    Hi,
    I have an iMac running OSX. I have updated both mavericks and Itunes to the lastest updates. When using itunes it will start fine. Then when connecting either ipad or iphone, itunes then hangs with the spinning circle. I have left this for well over 2 hours now. The only way out is to quit itunes. I have tried the iTunes help but with no sucess as yet.
    I have created a new user and the problem does diappear.,so its not an ipad/iphone or mac issue. I have tried removing my library and then connecting a device but iTunes does the same thing. I am guessing something within my Mac user profile is stopping it.
    Please help, its driving me mad.
    P.S I also have a mac book which is working fine.

    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Console in the icon grid.
    The title of the Console window should be All Messages. If it isn't, select
    SYSTEM LOG QUERIES ▹ All Messages
    from the log list on the left. If you don't see that list, select
    View ▹ Show Log List
    from the menu bar at the top of the screen.
    Click the Clear Display icon in the toolbar. Then try the action that you're having trouble with again. Select any messages that appear in the Console window. Copy them to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
    ☞ The log contains a vast amount of information, almost all of which is irrelevant to solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
    Please don't indiscriminately dump thousands of lines from the log into this discussion.
    Please don't post screenshots of log messages—post the text.
    ☞ Some private information, such as your name, may appear in the log. Anonymize before posting.

  • Weblogic Console hangs when connecting to one of two servers in a cluster

              Hello,
              Please email me as well as posting reply if possible as resolution is required
              immediately.
              We have two Weblogic 5.1 servers (named server1 & server2) running in a cluster
              using multicast over a VLAN and a DNS entry of "mycluster" to point to the list
              of two IP addresses.
              Both servers say they have joined the cluster upon startup, however, only one
              of them (server2) reports when the other one (server1) has joined, but not vice
              versa.
              Also, the Weblogic Console only displays server1 in the cluster, and hangs when
              it tries to attach to server2, which generates exceptions on server2. The error
              is as follows:
              <Kernel> ExecuteRequest failed. NullPointerException at weblogic.cluster.MemberStash.getManagedSubObjects(MemberStash.java:259).
              I expect this would also prevent replication from working properly.
              One other thing that might be related to the above is that when the URL "mycluster:7001"
              is used directly in the web browser, it sometimes (not always, not sure if it
              matters on which machine) gives the error: "Inconsistent cookie: primary !=
              me".
              Two IIS web servers are being proxied to the cluster URL, and round-robin load
              balancing of the app servers appears to work fine from this perspective.
              Both servers appear to be working properly otherwise.
              Many thanks for any clues,
              Ben
              

              primary != me occurs when you restart WLS but do not exit the browser, then hit
              WLS (the browser has a stale cookie).
              Mike
              "Ben Yenko-Martinka" <[email protected]> wrote:
              >
              >Hello,
              >
              >Please email me as well as posting reply if possible as resolution is
              >required
              >immediately.
              >
              >We have two Weblogic 5.1 servers (named server1 & server2) running in
              >a cluster
              >using multicast over a VLAN and a DNS entry of "mycluster" to point to
              >the list
              >of two IP addresses.
              >Both servers say they have joined the cluster upon startup, however,
              >only one
              >of them (server2) reports when the other one (server1) has joined, but
              >not vice
              >versa.
              >Also, the Weblogic Console only displays server1 in the cluster, and
              >hangs when
              >it tries to attach to server2, which generates exceptions on server2.
              > The error
              >is as follows:
              ><Kernel> ExecuteRequest failed. NullPointerException at weblogic.cluster.MemberStash.getManagedSubObjects(MemberStash.java:259).
              >I expect this would also prevent replication from working properly.
              >
              >One other thing that might be related to the above is that when the URL
              >"mycluster:7001"
              >is used directly in the web browser, it sometimes (not always, not sure
              >if it
              >matters on which machine) gives the error: "Inconsistent cookie: primary
              >!=
              >me".
              >
              >Two IIS web servers are being proxied to the cluster URL, and round-robin
              >load
              >balancing of the app servers appears to work fine from this perspective.
              >Both servers appear to be working properly otherwise.
              >
              >Many thanks for any clues,
              >Ben
              

  • SSL and RMI: Client hangs when trying to connect

    Hi all,
    Sorry for the cross-posting (I first posted to the RMI forum) but I thought someone here might be able to shed some light. The original message follows.
    I have a very simple client/server model implemented using RMI. Previously I used the default socket factories for creating sockets/connections and everything worked fine, but now I want to use SSL to encrypt all the traffic and I'm running into some trouble. The client is able to get the correct remote registry on the correct port, but when it tries to do registry.lookup("ServerName") to get a reference to the server object, it hangs indefinitely.
    Briefly, here are the changes from default RMI:
    As the docs suggested, I created a pair of custom socket factory classes (one for the client and one for the server) that create SSL sockets, and I put the following line in my server's constructor:
    super(0, new CustomClientSocketFactory(), new CustomServerSocketFactory());
    [my server extends UnicastRemoteObject].
    The custom factories are quite simple; the client consists of:
    public class CustomClientSocketFactory implements RMIClientSocketFactory, Serializable {
    public Socket createSocket(final String iHost, final int iPort) throws IOException {
    return SSLSocketFactory.getDefault().createSocket(iHost, iPort);
    and the server:
    public class CustomServerSocketFactory implements RMIServerSocketFactory {
    public ServerSocket createServerSocket(final int iPort) throws IOException {
    return SSLServerSocketFactory.getDefault().createServerSocket(iPort);
    Everything else is the same as before. I start the server on the remote machine, which starts its own registry on a certain port; then I start the client on the local machine. The client gets the registry and then ... nothing happens.
    I know this is somewhat vague, but the changes are small from the working code so I must be doing something wrong in creating SSL sockets. Is there something I can do to trace the process or figure out what's causing the hang? Am I missing some required authentication or other code in the server socket factory (my understanding from the docs is that authentication is optional)? Any other ideas about what's going on?
    Thanks,
    - Matt

    Matt, did you ever determine anything about your Strange Behavior #2. I'm running int the exact same issue. We've been using JSSE without problem for more than 2 years now. I'm currently trying to connect to a new SSL server and the connections setup is taking about 4 minutes (not the SecureRandom seeding) (see my comment in the trace: "this is where it sits for about 3 minutes")
    Trace:
    init context
    trigger seeding of SecureRandom
    done seeding SecureRandom
    %% No cached client session
    *** ClientHello, v3.1
    RandomCookie: GMT: 1005755098 bytes = { 7, 203, 184, 206, 249, 120, 35, 155, 160, 131, 72, 68, 12, 35, 64, 75, 63, 202, 161, 95, 42, 130, 74, 248, 145, 108, 49, 189 }
    Session ID: {}
    Cipher Suites: { 0, 5, 0, 4, 0, 9, 0, 10, 0, 18, 0, 19, 0, 3, 0, 17 }
    Compression Methods: { 0 }
    [write] MD5 and SHA1 hashes: len = 59
    0000: 01 00 00 37 03 01 3C F3 9B DA 07 CB B8 CE F9 78 ...7..<........x
    0010: 23 9B A0 83 48 44 0C 23 40 4B 3F CA A1 5F 2A 82 #...HD.#@K?.._*.
    0020: 4A F8 91 6C 31 BD 00 00 10 00 05 00 04 00 09 00 J..l1...........
    0030: 0A 00 12 00 13 00 03 00 11 01 00 ...........
    SbATAOutAdapter, WRITE: SSL v3.1 Handshake, length = 59
    [write] MD5 and SHA1 hashes: len = 77
    0000: 01 03 01 00 24 00 00 00 20 00 00 05 00 00 04 01 ....$... .......
    0010: 00 80 00 00 09 06 00 40 00 00 0A 07 00 C0 00 00 .......@........
    0020: 12 00 00 13 00 00 03 02 00 80 00 00 11 3C F3 9B .............<..
    0030: DA 07 CB B8 CE F9 78 23 9B A0 83 48 44 0C 23 40 ......x#...HD.#@
    0040: 4B 3F CA A1 5F 2A 82 4A F8 91 6C 31 BD K?.._*.J..l1.
    SbATAOutAdapter, WRITE: SSL v2, contentType = 22, translated length = 16310
    !!! This is where it sits for about 3 minutes !!!!
    %% No cached client session
    *** ClientHello, v3.1
    RandomCookie: GMT: 1005755287 bytes = { 8, 151, 45, 75, 86, 164, 141, 52, 216, 145, 81, 24, 157, 215, 246, 206, 87, 83, 153, 41, 88, 38, 3, 119, 190, 13, 0, 28 }
    Session ID: {}
    Cipher Suites: { 0, 5, 0, 4, 0, 9, 0, 10, 0, 18, 0, 19, 0, 3, 0, 17 }
    Compression Methods: { 0 }
    [write] MD5 and SHA1 hashes: len = 59
    0000: 01 00 00 37 03 01 3C F3 9C 97 08 97 2D 4B 56 A4 ...7..<.....-KV.
    0010: 8D 34 D8 91 51 18 9D D7 F6 CE 57 53 99 29 58 26 .4..Q.....WS.)X&
    0020: 03 77 BE 0D 00 1C 00 00 10 00 05 00 04 00 09 00 .w..............
    0030: 0A 00 12 00 13 00 03 00 11 01 00 ...........
    SbATAOutAdapter, WRITE: SSL v3.1 Handshake, length = 59
    [write] MD5 and SHA1 hashes: len = 77
    0000: 01 03 01 00 24 00 00 00 20 00 00 05 00 00 04 01 ....$... .......
    0010: 00 80 00 00 09 06 00 40 00 00 0A 07 00 C0 00 00 .......@........
    0020: 12 00 00 13 00 00 03 02 00 80 00 00 11 3C F3 9C .............<..
    0030: 97 08 97 2D 4B 56 A4 8D 34 D8 91 51 18 9D D7 F6 ...-KV..4..Q....
    0040: CE 57 53 99 29 58 26 03 77 BE 0D 00 1C .WS.)X&.w....
    SbATAOutAdapter, WRITE: SSL v2, contentType = 22, translated length = 16310
    SbATAOutAdapter, READ: SSL v3.1 Handshake, length = 74
    *** ServerHello, v3.1
    RandomCookie: GMT: 1005755466 bytes = { 145, 7, 69, 98, 152, 52, 222, 159, 96, 162, 220, 85, 77, 107, 82, 203, 25, 94, 208, 124, 2, 245, 96, 208, 224, 254, 139, 206 }
    Session ID: {68, 7, 167, 168, 236, 202, 48, 147, 191, 204, 208, 122, 24, 43, 132, 50, 65, 220, 172, 189, 17, 18, 197, 11, 150, 59, 201, 103, 86, 176, 115, 68}
    Cipher Suite: { 0, 5 }
    Compression Method: 0
    %% Created: [Session-1, SSL_RSA_WITH_RC4_128_SHA]
    ** SSL_RSA_WITH_RC4_128_SHA
    Anybody have any ideas?
    Thanks,
    Marcel

  • OEM NT CLIENT HANGS WHEN TRYING TO CONNECT TO OMS ON LINUX

    I am having a problem connecting to our oracle 9.0.1 management server running on Redhat 7.1. It appears to hang after I enter the defualt username, password (sysman/oem_temp) and host. I can ping the server from the client and I can also ping the client from the server.
    I do not have a problem connecting to the repository via sqlplus from the client. I know the oms is working, I can connect to the oms on the linux machine by starting (oemapp dbastudio.) Has anyone encoutered this? Any suggestions?

    I can ping the client and the server using the hostname or the ip without any problems. I verified the server is in the DNS through a nslookup also.
    I also added the client's hostname and ip into the linux server's /etc/hosts file. The client utilizes DHCP.

  • SQL Developer Hangs when connecting for Remote Debug

    Hello,
    I've been trying to use the Remote Debug feature of SQL Developer. We are writing a Web Application that connects to Oracle and I would like to debug a package function on the database server (which is not the same machine as my SQL Developer client).
    To test my configuration, I tried connecting on SQLPlus creating a connection (by calling exec dbms_debug_jdwp.connect_tcp('xxx.xxx.xxx.xxx', 'xxxxx'); ) and calling a function which had a breakpoint and the debugging started immediately on SQL Developer. Then I tried putting the dbms_debug_jdwp.connect_tcp('xxx.xxx.xxx.xxx', 'xxxxx'); call inside the stored procedure I was debugging (prior to the line with the breakpoint) and it connected and got to the breakpoint successfully as well. So I'm pretty sure my firewall / user privileges are set up correctly.
    So I modified the function that my web application eventually calls to create the connection (in order to remain in the same session) but whenever it gets to the connect_tcp line SQL Developer hangs and I'm unable to debug. I've realized that it only hangs if I have a breakpoint there. If I don't have a breakpoint then it creates a connection just fine. Of course without a breakpoint it's a bit difficult to debug isn't it? :)
    My Sql Developer version is 3.0 and I'm connecting to Oracle 11.1.0 Below you can find a dump when running SqlDeveloper with console. My OS is windows XP and my Oracle instance is running on Linux.
    I appreciate any help you can provide.
    2012-01-27 16:08:30
    Full thread dump Java HotSpot(TM) Client VM (11.0-b16 mixed mode):
    "JDI Target VM Interface" daemon prio=6 tid=0x3398f800 nid=0x1574 runnable [0x3702f000..0x3702fa14]
    java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.net.SocketInputStream.read(SocketInputStream.java:182)
    at com.sun.tools.jdi.SocketConnection.readPacket(SocketTransportService.java:393)
    - locked <0x097d3528> (a java.lang.Object)
    at com.sun.tools.jdi.TargetVM.run(TargetVM.java:99)
    at java.lang.Thread.run(Thread.java:619)
    "JDI Internal Event Handler" daemon prio=6 tid=0x34a82c00 nid=0x15ac in Object.wait() [0x355ef000..0x355efa94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at com.sun.tools.jdi.EventQueueImpl.removeUnfiltered(EventQueueImpl.java:171)
    - locked <0x097218d0> (a com.sun.tools.jdi.EventQueueImpl)
    at com.sun.tools.jdi.EventQueueImpl.removeInternal(EventQueueImpl.java:106)
    at com.sun.tools.jdi.InternalEventHandler.run(InternalEventHandler.java:36)
    at java.lang.Thread.run(Thread.java:619)
    "JPDA Listener" prio=6 tid=0x35806400 nid=0x7b8 runnable [0x3533f000..0x3533fd94]
    java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x095ec870> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at com.sun.tools.jdi.SocketTransportService.accept(SocketTransportService.java:330)
    at com.sun.tools.jdi.GenericListeningConnector.accept(GenericListeningConnector.java:136)
    at oracle.jdevimpl.debugger.jdi.DebugJDIConnectorListen.run(DebugJDIConnectorListen.java:127)
    at java.lang.Thread.run(Thread.java:619)
    "Native Directory Watcher" prio=2 tid=0x35e47c00 nid=0x170c runnable [0x34fef000..0x34fefa14]
    java.lang.Thread.State: RUNNABLE
    at oracle.ide.natives.NativeHandler.enterWatcherThread(Native Method)
    at oracle.ide.natives.NativeHandler$2.run(NativeHandler.java:252)
    at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x35c4a800 nid=0x17e0 waiting on condition [0x3832f000..0x3832fa14]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:139)
    at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
    at java.lang.Thread.run(Thread.java:619)
    "status-0" prio=2 tid=0x35d54400 nid=0x1208 waiting on condition [0x3812f000..0x3812fc14]
    java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x064a8cf0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
    at oracle.ide.status.StatusExecutor$StatusQueue.take(StatusExecutor.java:329)
    at oracle.ide.status.StatusExecutor$StatusQueue.take(StatusExecutor.java:291)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x35dde800 nid=0xa00 waiting on condition [0x3782f000..0x3782fb14]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:139)
    at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
    at java.lang.Thread.run(Thread.java:619)
    "WeakDataReference polling" prio=2 tid=0x35f59c00 nid=0x1144 in Object.wait() [0x3802f000..0x3802fb14]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x08554ba8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
    - locked <0x08554ba8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
    at oracle.ide.util.WeakDataReference$Cleaner.run(WeakDataReference.java:88)
    at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x35d00400 nid=0xe1c waiting on condition [0x37e2f000..0x37e2fc94]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:139)
    at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
    at java.lang.Thread.run(Thread.java:619)
    "TextBufferScavenger" prio=6 tid=0x35df1c00 nid=0xabc in Object.wait() [0x37c2f000..0x37c2fd94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0842dfe0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
    - locked <0x0842dfe0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
    at oracle.ide.model.TextNode$FacadeBufferReference$PollingThread.run(TextNode.java:1949)
    "pool-4-thread-1" prio=6 tid=0x33a11c00 nid=0x444 waiting on condition [0x33f0f000..0x33f0fa94]
    java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x07ba2040> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)
    "IconOverlayTracker Timer" prio=6 tid=0x3491a000 nid=0x1750 in Object.wait() [0x3792f000..0x3792fb94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at java.util.TimerThread.mainLoop(Timer.java:483)
    - locked <0x07b36968> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)
    "Timer queue for AWT thread" daemon prio=6 tid=0x34913c00 nid=0xdfc in Object.wait() [0x3772f000..0x3772fd94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x075b5cc8> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:485)
    at ice.util.awt.TimedAWTExecutor.nextElem(TimedAWTExecutor.java:108)
    - locked <0x075b5cc8> (a java.lang.Object)
    at ice.util.awt.TimedAWTExecutor.runScheduler(TimedAWTExecutor.java:130)
    at ice.util.awt.TimedAWTExecutor$1.run(TimedAWTExecutor.java:19)
    "WaitCursor-Timer" prio=6 tid=0x35ca5800 nid=0x1230 in Object.wait() [0x3752f000..0x3752fa14]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at java.util.TimerThread.mainLoop(Timer.java:483)
    - locked <0x0719c1c0> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)
    "Timer queue for AWT thread" daemon prio=6 tid=0x35a1f800 nid=0x1444 in Object.wait() [0x3692f000..0x3692fb14]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0719c240> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:485)
    at ice.util.awt.TimedAWTExecutor.nextElem(TimedAWTExecutor.java:108)
    - locked <0x0719c240> (a java.lang.Object)
    at ice.util.awt.TimedAWTExecutor.runScheduler(TimedAWTExecutor.java:130)
    at ice.util.awt.TimedAWTExecutor$1.run(TimedAWTExecutor.java:19)
    "pool-2-thread-1" prio=6 tid=0x35a75800 nid=0x135c waiting on condition [0x3742f000..0x3742fc14]
    java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x06d72e80> (a java.util.concurrent.SynchronousQueue$TransferStack)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:422)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
    at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:857)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)
    "BaseTreeExplorer.NodeOpeningExecutor" prio=6 tid=0x359c6800 nid=0x1618 waiting on condition [0x3732f000..0x3732fc94]
    java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <0x06d492a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)
    "Scheduler" daemon prio=6 tid=0x35a44400 nid=0x131c in Object.wait() [0x3722f000..0x3722fd14]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x06d493e0> (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)
    at java.lang.Object.wait(Object.java:485)
    at oracle.dbtools.raptor.backgroundTask.TaskLinkedList.takeNextTask(TaskLinkedList.java:47)
    - locked <0x06d493e0> (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)
    at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$SchedulerThread.run(RaptorTaskManager.java:429)
    "Thread-8" daemon prio=6 tid=0x35a01400 nid=0x1390 in Object.wait() [0x3712f000..0x3712fd94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x06d49460> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
    - locked <0x06d49460> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
    at org.tmatesoft.svn.core.javahl.SVNClientImplTracker.run(SVNClientImplTracker.java:65)
    at java.lang.Thread.run(Thread.java:619)
    "ChangeSetService" prio=2 tid=0x3595dc00 nid=0x11d8 in Object.wait() [0x3682f000..0x3682fa94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x06a26d80> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
    at java.lang.Object.wait(Object.java:485)
    at oracle.jdevimpl.vcs.changeset.ChangeSetService.awaitEvents(ChangeSetService.java:178)
    - locked <0x06a26d80> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
    at oracle.jdevimpl.vcs.changeset.ChangeSetService.eventLoop(ChangeSetService.java:199)
    at oracle.jdevimpl.vcs.changeset.ChangeSetService.access$200(ChangeSetService.java:56)
    at oracle.jdevimpl.vcs.changeset.ChangeSetService$2.run(ChangeSetService.java:138)
    at java.lang.Thread.run(Thread.java:619)
    "Thread-6" daemon prio=6 tid=0x3590e400 nid=0x1520 runnable [0x36b2f000..0x36b2fb14]
    java.lang.Thread.State: RUNNABLE
    at sun.print.Win32PrintServiceLookup.notifyPrinterChange(Native Method)
    at sun.print.Win32PrintServiceLookup.access$100(Win32PrintServiceLookup.java:32)
    at sun.print.Win32PrintServiceLookup$PrinterChangeListener.run(Win32PrintServiceLookup.java:302)
    "TimerQueue" daemon prio=6 tid=0x330a9c00 nid=0x11b0 in Object.wait() [0x3672f000..0x3672fc94]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at javax.swing.TimerQueue.run(TimerQueue.java:236)
    - locked <0x06887680> (a javax.swing.TimerQueue)
    at java.lang.Thread.run(Thread.java:619)
    "TimedCache-Timer" daemon prio=6 tid=0x33a85000 nid=0x76c in Object.wait() [0x3460f000..0x3460fa94]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x05f36890> (a java.util.TaskQueue)
    at java.util.TimerThread.mainLoop(Timer.java:509)
    - locked <0x05f36890> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)
    "JarIndex Timer" daemon prio=6 tid=0x33a83c00 nid=0x15a8 in Object.wait() [0x3410f000..0x3410fb14]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.util.TimerThread.mainLoop(Timer.java:509)
    - locked <0x05e824b0> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)
    "AWT-EventQueue-0" prio=6 tid=0x33a6a400 nid=0x15e8 in Object.wait() [0x3400f000..0x3400fb94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at com.sun.tools.jdi.TargetVM.waitForReply(TargetVM.java:281)
    - locked <0x02fa0320> (a com.sun.tools.jdi.Packet)
    at com.sun.tools.jdi.VirtualMachineImpl.waitForTargetReply(VirtualMachineImpl.java:1015)
    at com.sun.tools.jdi.PacketStream.waitForReply(PacketStream.java:51)
    at com.sun.tools.jdi.JDWP$Method$LineTable.waitForReply(JDWP.java:3651)
    at com.sun.tools.jdi.JDWP$Method$LineTable.process(JDWP.java:3627)
    at com.sun.tools.jdi.ConcreteMethodImpl.getBaseLocations(ConcreteMethodImpl.java:343)
    at com.sun.tools.jdi.ConcreteMethodImpl.getLocations(ConcreteMethodImpl.java:262)
    at com.sun.tools.jdi.ConcreteMethodImpl.locationsOfLine(ConcreteMethodImpl.java:120)
    at com.sun.tools.jdi.ReferenceTypeImpl.locationsOfLine(ReferenceTypeImpl.java:893)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.getLocationsOfLine(DebugJDI.java:5254)
    at oracle.jdevimpl.debugger.jdi.DebugJDIBreakpointFileLine.verify(DebugJDIBreakpointFileLine.java:71)
    at oracle.jdevimpl.debugger.jdi.DebugJDIBreakpointPackageFileLine.verify(DebugJDIBreakpointPackageFileLine.java:83)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.breakpointAfterChange(DebugJDI.java:2546)
    - locked <0x09721d70> (a oracle.jdevimpl.debugger.jdi.DebugJDI)
    at oracle.jdevimpl.debugger.jdi.DebugJDIBreakpoint.afterChange(DebugJDIBreakpoint.java:386)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.putBreakpoint(DebugJDI.java:2426)
    - locked <0x09721d70> (a oracle.jdevimpl.debugger.jdi.DebugJDI)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.putBreakpointPackageFileLine(DebugJDI.java:893)
    - locked <0x09721d70> (a oracle.jdevimpl.debugger.jdi.DebugJDI)
    at oracle.jdevimpl.runner.debug.Breakpoint.putBreakpoint(Breakpoint.java:1701)
    at oracle.jdevimpl.runner.debug.DebuggingProcess.afterConnection(DebuggingProcess.java:1352)
    at oracle.jdevimpl.runner.debug.DebuggingProcess.accept(DebuggingProcess.java:1704)
    at oracle.jdevimpl.runner.debug.DebuggingListener$2.run(DebuggingListener.java:231)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    "AWT-Windows" daemon prio=6 tid=0x33a64000 nid=0x12e8 runnable [0x33e0f000..0x33e0fc94]
    java.lang.Thread.State: RUNNABLE
    at sun.awt.windows.WToolkit.eventLoop(Native Method)
    at sun.awt.windows.WToolkit.run(WToolkit.java:291)
    at java.lang.Thread.run(Thread.java:619)
    "AWT-Shutdown" prio=6 tid=0x33a31c00 nid=0xd4c in Object.wait() [0x33d0f000..0x33d0fd14]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x05e826a0> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:485)
    at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
    - locked <0x05e826a0> (a java.lang.Object)
    at java.lang.Thread.run(Thread.java:619)
    "Java2D Disposer" daemon prio=10 tid=0x33a41400 nid=0x1294 in Object.wait() [0x33c0f000..0x33c0fd94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x05e82730> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
    - locked <0x05e82730> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
    at sun.java2d.Disposer.run(Disposer.java:125)
    at java.lang.Thread.run(Thread.java:619)
    "Low Memory Detector" daemon prio=6 tid=0x33076000 nid=0x688 runnable [0x00000000..0x00000000]
    java.lang.Thread.State: RUNNABLE
    "CompilerThread0" daemon prio=10 tid=0x3306fc00 nid=0x910 waiting on condition [0x00000000..0x336df7bc]
    java.lang.Thread.State: RUNNABLE
    "Attach Listener" daemon prio=10 tid=0x3306e400 nid=0x162c runnable [0x00000000..0x00000000]
    java.lang.Thread.State: RUNNABLE
    "Signal Dispatcher" daemon prio=10 tid=0x3306d000 nid=0x17a4 waiting on condition [0x00000000..0x00000000]
    java.lang.Thread.State: RUNNABLE
    "Finalizer" daemon prio=8 tid=0x3305d400 nid=0xe3c in Object.wait() [0x333df000..0x333dfc94]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x05e00298> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
    - locked <0x05e00298> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x33058800 nid=0x1228 in Object.wait() [0x332df000..0x332dfd14]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x05e00320> (a java.lang.ref.Reference$Lock)
    "main" prio=6 tid=0x00bc7c00 nid=0x10e0 waiting on condition [0x00000000..0x0012fae8]
    java.lang.Thread.State: RUNNABLE
    "VM Thread" prio=10 tid=0x33055000 nid=0x194 runnable
    "VM Periodic Task Thread" prio=10 tid=0x33077800 nid=0xfd0 waiting on condition
    JNI global references: 2649
    Heap
    def new generation total 9216K, used 3904K [0x02cd0000, 0x036c0000, 0x05e00000)
    eden space 8256K, 35% used [0x02cd0000, 0x02fb0330, 0x034e0000)
    from space 960K, 100% used [0x035d0000, 0x036c0000, 0x036c0000)
    to space 960K, 0% used [0x034e0000, 0x034e0000, 0x035d0000)
    tenured generation total 121024K, used 61455K [0x05e00000, 0x0d430000, 0x2acd0000)
    the space 121024K, 50% used [0x05e00000, 0x09a03eb0, 0x09a04000, 0x0d430000)
    compacting perm gen total 71168K, used 70950K [0x2acd0000, 0x2f250000, 0x32cd0000)
    the space 71168K, 99% used [0x2acd0000, 0x2f219bf8, 0x2f219c00, 0x2f250000)
    No shared spaces configured.
    Edited by: 910659 on Jan 27, 2012 7:45 AM

    What I mean is that I put the connect_tcp command inside the package function I want to debug in order to ensure it's going to remain in the same session. e.g.:
    Function GetValue Return Varchar2 Is
    Begin
    dbms_debug_jdwp.connect_tcp('xxx.xxx.xxx.xxx', '25255');
    return 'My Value';
    End;
    I'm afraid I cannot post our code which causes this problem due to our information security policies and simple console and web applications failed to replicate the problem. The function creates a connection to Oracle SQL Developer (which can be seen in the environment with the small ladybug icon) if no breakpoints are set which obviously doesn't allow breaking into the function. However if a breakpoint is also specified in the Return line the connection seems to freeze Oracle SQL Developer. No ladybug icon is shown and no Remote Debug Session seems to open.

Maybe you are looking for

  • Error (-208) occurs when I try to sync photos to my iPod

    Whenever I try to update photos on my iPod (30GB 5.5G) I keep receiving error -208. I have tried restoring, and resting my iPod, but noting has solved this problem. However, I can transfer music, videos, and podcasts just fine. I am only having troub

  • JTable - row selection not working + change the text format

    Hi All, I have written a code to display Jtable with 2 columns, 1 column to display image+text and other is multiline. I have used 2 different cell renderer for achiveing the same. Please advice on the following: @ When I click on row, only one colum

  • Can I buy an iphone in the USA and use it in the UK with an o2 sim card?

    I have just been re-issued an o2 pay monthly sim card as my phone was stolen. I'm going to NYC in September and was thinking of getting a iPhone in an apple store there. Will I be able to bring it home and use it in England with my o2 sim card? Or wi

  • How to detect camcoder pls help

    HI, can any one pls tell me how t o detect Camcoder usinf jMF and to capture iavi ,

  • How to highlight Urdu Characters

    i write a code that search for a sub string and highlight it with html markup <b><b/>         if(originalString.contains(searchString)){             searchString=originalString.replaceAll(ctxt, "<b>"+searchString+"</b>");             out.println(sear