- **status**: assigned --> review


---

** [tickets:#1804] imm: "OM Thread Interference" testcase crashes**

**Status:** review
**Milestone:** 4.7.2
**Created:** Tue May 03, 2016 11:05 AM UTC by Hung Nguyen
**Last Updated:** Wed May 04, 2016 06:52 PM UTC
**Owner:** Hung Nguyen
**Attachments:**

- 
[bt_core.1461263164.immomtest.1536.PL-3](https://sourceforge.net/p/opensaf/tickets/1804/attachment/bt_core.1461263164.immomtest.1536.PL-3)
 (7.4 kB; application/octet-stream)


Not always reproducible. Full backtrace is attached to this ticket.

root@SC-1:~# immomtest 1 20

~~~
Thread 4 (Thread 0x7f9299243780 (LWP 1536)):
#0  0x00007f92982f9f3d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007f929832b4a4 in usleep (useconds=<optimized out>) at 
../sysdeps/unix/sysv/linux/usleep.c:32
        ts = {tv_sec = 0, tv_nsec = 200000}
#2  0x0000000000432f6d in saImmOmThreadInterference_01 () at 
test_saImmOmThreadInterference.c:173
        immHandle = 498216338191
        immOiHandle = 502511305487
        ownerHandle = 1461263164437942973
        searchHandle = 0
        ccbHandle = 1461263164439715898
        threadid1 = 140267581654784
        threadid2 = 140267573262080
        rc = SA_AIS_ERR_LIBRARY
        attrDef = {attrName = 0x44e7b1 "rdn", attrValueType = 
SA_IMM_ATTR_SASTRINGT, attrFlags = 258, attrDefaultValue = 0x0}
        attrDefs = {0x7ffff768dc30, 0x0}
        classCategory = (unknown: 4150844272)
        attrDefinitions = 0x0
        accessorHandle = 1461263164479509139
        attributeNames = {0x44e7b5 "SaImmAttrClassName", 0x0}
        attributes = 0x7ffff768de00
        objNames = {0x666b00 <objectName>, 0x0}
        attrValue = {attrName = 0x44e7b1 "rdn", attrValueType = 
SA_IMM_ATTR_SANAMET, attrValuesNumber = 1, attrValues = 0x7ffff768dbd0}
        attrValues = {0x7ffff768dc10, 0x0}
        modAttrValue = {0x44e7c8, 0x0}
        attrMod = {modType = SA_IMM_ATTR_VALUES_REPLACE, modAttr = {attrName = 
0x44e7cd "attr4", attrValueType = SA_IMM_ATTR_SASTRINGT, attrValuesNumber = 1, 
attrValues = 0x7ffff768dbf0}}
        attrMods = {0x7ffff768dc50, 0x0}
        __PRETTY_FUNCTION__ = "saImmOmThreadInterference_01"
#3  0x000000000043987e in run_test_case (suite=1, tcase=20) at utest.c:175
No locals.
#4  0x0000000000439c78 in test_run (suite=1, tcase=20) at utest.c:231
        i = 32624793
        j = 0
#5  0x0000000000442a71 in main (argc=4, argv=0x7ffff768de08) at immtest.c:113
        suite = 1
        tcase = 20
        rc = 0
        i = 4
        index = 2
        longDn = 1
        failed = 0
        endptr = 0x7ffff768ff0b ""
~~~

~~~
Thread 1 (Thread 0x7f929760c700 (LWP 1544)):
#0  0x00007f9298853add in search (pTree=0x7f9298d9e230 <imma_cb+176>, 
key=0x7f929760be58 "\017\003\002") at patricia.c:93
        pNode = 0x0
        pPrevNode = 0x7f9298d9e230 <imma_cb+176>
#1  0x00007f9298854504 in ncs_patricia_tree_get (pTree=0x7f9298d9e230 
<imma_cb+176>, pKey=0x7f929760be58 "\017\003\002") at patricia.c:433
        pNode = 0x7f9298d9e198 <imma_cb+24>
#2  0x00007f9298b43602 in imma_client_node_get (client_tree=0x7f9298d9e230 
<imma_cb+176>, cl_hdl=0x7f929760be58, cl_node=0x7f929760be70) at imma_db.c:55
No locals.
#3  0x00007f9298b35263 in saImmOiDispatch (immOiHandle=502511305487, 
dispatchFlags=SA_DISPATCH_ONE) at imma_oi_api.c:531
        rc = SA_AIS_OK
        cb = 0x7f9298d9e180 <imma_cb>
        cl_node = 0x0
        locked = true
        pend_fin = 0
        pend_dis = 0
        __FUNCTION__ = "saImmOiDispatch"
#4  0x0000000000432395 in implementer_thread (arg=0x7ffff768db68) at 
test_saImmOmThreadInterference.c:63
        fd = {{fd = 9, events = 1, revents = 32}}
        selObject = 9
        ret = 1
        err = SA_AIS_OK
        immOiHandle = 502511305487
#5  0x00007f9298606182 in start_thread (arg=0x7f929760c700) at 
pthread_create.c:312
        __res = <optimized out>
        pd = 0x7f929760c700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140267581654784, 
8097029872058037852, 0, 0, 140267581655488, 140267581654784, 
-8107813012334774692, -8107784432235776420}, mask_was_saved = 0}}, priv = {pad 
= {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007f929833347d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
~~~

---
Analysis:

At the end of the testcase, saImmOiFinalize() is called on the main thread.
In saImmOiFinalize(), imma_callback_ipc_destroy() is called and indicates an 
event on the OI sel-obj.

On the OI thread, saImmOiDispatch() is called due to the event on OI sel-obj.

So saImmOiFinalize() and saImmOiDispatch() are invoked simultaneously on two 
different threads.

saImmOiFinalize() calls ncs_patricia_tree_del().
saImmOiDispatch() calls ncs_patricia_tree_get().

That causes the segmentation fault.


---

Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to