You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jeffrey B (JIRA)" <ji...@apache.org> on 2013/01/16 16:56:13 UTC

[jira] [Updated] (AMQCPP-449) activemq::library::ActiveMQCPP::shutdownLibrary(); causing runtime exception

     [ https://issues.apache.org/jira/browse/AMQCPP-449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeffrey B updated AMQCPP-449:
-----------------------------

    Attachment: amqdriver.cpp

The test is pretty straight forward, compile it and run to connect to localhost:61616,
any other host or port run with -h <hostname:port>  This will only create and send one message, but it is enough for my test to fail when used with 3.5.0.
                
> activemq::library::ActiveMQCPP::shutdownLibrary(); causing runtime exception
> ----------------------------------------------------------------------------
>
>                 Key: AMQCPP-449
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-449
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: Decaf
>    Affects Versions: 3.5.0
>         Environment: HPUX 11.31
>            Reporter: Jeffrey B
>            Assignee: Timothy Bish
>            Priority: Critical
>              Labels: HPUX, crash, destructor, exception, runtime, thread
>         Attachments: amqdriver.cpp
>
>
> Whenever my simple driver application or my receiver application call the shutdownLibrary() method at the end, as the program is going through desctuctors for threads it prints and causes a core dump
> aCC runtime: Unexpected exception of type "decaf::lang::exceptions::RuntimeException". 
> aCC runtime: what(): Failed to Lock OS Mutex 
> Abort(coredump) 
> I added another catch and print in decaf/lang/Thread.cpp about line 133 and on decaf/internal/util/concurrent/unix/PlatformThread.cpp about line 76 i printed out ther error number return from pthread_mutex_lock()
> Now i get:
> Failed to Lock OS Mutex, Error num: 22
>         FILE: decaf/internal/util/concurrent/unix/PlatformThread.cpp, LINE: 78
> aCC runtime: Unexpected exception of type "decaf::lang::exceptions::RuntimeException".
> aCC runtime: what(): Failed to Lock OS Mutex, Error num: 22
> Abort(coredump)
> Error 22 is EINVAL and can have two meanings on my system:
>      mutex is a PTHREAD_PRIO_PROTECT mutex and the caller's priority is higher than mutex's priority ceiling.
>      mutex is not an initialized mutex.
> I'll try and upload my code to see if this happens on other systems as well.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira