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

Nicolas Riebesel closed PROTON-2361.
------------------------------------
    Resolution: Duplicate

> Segmentation fault in pn_class_free called from pn_connection_finalize
> ----------------------------------------------------------------------
>
>                 Key: PROTON-2361
>                 URL: https://issues.apache.org/jira/browse/PROTON-2361
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: proton-c-0.32.0, proton-c-0.33.0
>            Reporter: Nicolas Riebesel
>            Priority: Major
>
> Hello everyone,
> we are using {{qpid-proton-c}} cpp-bindings together with the
> Qpid C++ qpidd broker with AMQP 1.0. Since the upgrade to
> {{proton-c}} 0.32 we are experiencing segmentation faults inside
> {{pn_class_free}} called from {{pn_connection_finalize}}. It seems that
> the reify'ed {{clazz}} is corrupt.
> At first we thought that this is related to 
> [PROTON-2293|https://issues.apache.org/jira/projects/PROTON/issues/PROTON-2293]
>  which was
> supposed to be fixed in 0.33 but apparently we are still experiencing
> the crash.
> This is the stracktrace:
> {code:java}
> #0  0x00000000 in ?? ()
> #1  0xb634ed00 in pn_class_free (clazz=0x1e0490, object=0x1e0910) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/object/object.c:120
> #2  0xb634ed54 in pn_free (object=<optimized out>) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/object/object.c:266
> #3  0xb634edb8 in pni_free_children (children=0x1e0910, freed=0x1e0978) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/engine.c:476
> #4  0xb634f0fc in pn_connection_finalize (object=<optimized out>, 
> object=<optimized out>) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/engine.c:495
> #5  0xb634e900 in pn_class_decref (clazz=0xb636ee14 <clazz>, object=0x1e0870) 
> at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/object/object.c:98
> #6  0xb634f814 in pn_event_finalize (event=0x1efd60) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/event.c:226
> #7  pn_event_finalize_cast (object=0x1efd60) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/event.c:271
> #8  0xb634e900 in pn_class_decref (clazz=0xb636ebd8 <pn_event.class>, 
> object=0x1efd60) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/object/object.c:98
> #9  0xb634ebd4 in pn_decref (object=<optimized out>) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/object/object.c:256
> #10 0xb634ec08 in pn_collector_next (collector=0x1efd20) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/event.c:197
> #11 0xb6351fd0 in batch_next (d=0x1efc5c) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/connection_driver.c:44
> #12 pn_connection_driver_next_event (d=0x1efc5c) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/connection_driver.c:137
> #13 0xb6377614 in pconnection_batch_next (batch=0x1efc58) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/proactor/epoll.c:879
> #14 0xb64da328 in proton::container::impl::thread() 
> (this=this@entry=0x1ceb68) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/cpp/src/proactor_container_impl.cpp:757
> #15 0xb64da930 in proton::container::impl::run(int) (this=0x1ceb68, 
> threads=threads@entry=1) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/cpp/src/proactor_container_impl.cpp:805
> #16 0xb64cbcec in proton::container::run() (this=<optimized out>) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/cpp/src/container.cpp:92
> {code}
> This is the {{clazz}} that was reify'ed inside {{frame 1}} 
> ({{pn_class_free}}):
> {code:java}
> >>> frame 1
> #1  0xb634ed00 in pn_class_free (clazz=0x1e0490, object=0x1e0910) at 
> /usr/src/debug/qpid-proton/0.33.0-r0/qpid-proton-0.33.0/c/src/core/object/object.c:120
> 120      int rc = clazz->refcount(object);
> >>> p *clazz
> $2 = {
>   name = 0x48 <error: Cannot access memory at address 0x48>, 
>   cid = CID_pn_raw_connection, 
>   newinst = 0x1e0428, 
>   initialize = 0x0, 
>   incref = 0xb636e938 <PN_WEAKREF>, 
>   decref = 0x10, 
>   refcount = 0x0, 
>   finalize = 0x1e04b8, 
>   free = 0x0, 
>   reify = 0x49, 
>   hashcode = 0x1e0448, 
>   compare = 0x1e0540, 
>   inspect = 0x0
> }
> {code}
> I have a coredump of the crash, so it is quiet easy for me to provide 
> additional information.
> If you have any idea where I should poke around, please tell me. It takes 
> quite a while to
> reproduce this bug - we need to run the service for > 12 hours - but if you 
> have any other idea where I should look, or what I can trace to get this bug 
> fixed, please tell me.
> Thank you very much in advance.
> Kind regards,
> Nicolas Riebesel



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to