Support #355

Feature #328: Enduro/X Version 6.0 master task

Oracle Solaris Posix Shared API may hang

Added by Madars over 5 years ago. Updated over 5 years ago.

Status:ClosedStart date:11/22/2018
Priority:Normal (Code 4)Due date:
Assignee:-% Done:

100%

Category:-
Target version:-

Description

-------- ----- -------- -------- ----- ----- -- ---- ---- ---- ---- - ---- -----
TESTSV1 2
Test exiting with: 255
Setting domain 1
Killing [atmi.sv59] ... Failed
* Shared resources opened...
* Enduro/X back-end (ndrxd) is not running
WARNING ! `ndrxd' daemon is in `not started', use -f to force shutdown!
test059_pq/run.sh: line 72:  9887 Terminated              xadmin down -y
Killing [atmiclt59] ... Failed
~/endurox/atmitest
************ FINISHED TEST: [test059_pq/run.sh] with 65280 ************
/export/home/user1/endurox/atmitest/atmiunit1.c:477: Failure: atmi_test_all -> test059_pq 
    [ret] should be [0] but was [65280]

Completed "atmi_test_all": 52 passes, 6 failures, 0 exceptions.
Completed "main": 52 passes, 6 failures, 0 exceptions.
---- Leak info ----
-------------------
user1@solaris11:~/endurox/atmitest/test048_cache$ cat ndrxd-dom3.log
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229437:_svqshm_init:svqshm.c:0231:Missing config key NDRX_SVQREADERSMAX - defaulting to 50
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229437:_svqshm_init:svqshm.c:0244:Missing config key NDRX_MSGQUEUESMAX - defaulting to 20000
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229437:drx_shm_open:td_shm.c:0124:Shared memory exists [/dom3,shm,p2s] - attaching
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229437:drx_shm_open:td_shm.c:0124:Shared memory exists [/dom3,shm,s2p] - attaching
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229437:drx_sem_open:td_sem.c:0262:Semaphore exists [56001] - attaching
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229441:x_svqshm_ctl:svqshm.c:1253:Queue not found [/dom3,sys,bg,ndrxd]/-1
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229442:d_open_queue:cessor.c:0199:Queue [/dom3,sys,bg,ndrxd] opened!
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229442:main_init   :/ndrxd.c:0311:Using PID file [/tmp/ndrxd-dom3.pid]
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232229442:main_init   :/ndrxd.c:0326:Using QPath [/dev/mqueue]
N:NDRX:3:ad5a7960:27370:00000001:000:20181121:232229442:drx_sem_open:td_sem.c:0287:Semaphore for key 56000 open, id: 771751989
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232333453:drx_shm_open:td_shm.c:0124:Shared memory exists [/dom3,shm,srvinfo] - attaching
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232437467:x_shm_attach:td_shm.c:0189:Failed to attach shm [/dom3,shm,srvinfo]: File exists
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232437467:main_init   :/ndrxd.c:0387:Failed to open shared memory segments!
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232437467:main        :/ndrxd.c:0469:ndrxd - INIT FAILED!
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232437467:x_sem_remove:td_sem.c:0308:Removing semid: 771751989
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232437467:rx_shm_close:td_shm.c:0246:cannot close shm [/dom3,shm,srvinfo] as fd is -1
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232437467:rx_shm_close:td_shm.c:0246:cannot close shm [/dom3,shm,svcinfo] as fd is -1
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232437467:rx_shm_close:td_shm.c:0246:cannot close shm [/dom3,shm,brinfo] as fd is -1
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232541476:x_shm_remove:td_shm.c:0266:Failed to remove: [/dom3,shm,srvinfo]: File exists
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232541476:x_shm_remove:td_shm.c:0266:Failed to remove: [/dom3,shm,svcinfo]: No such file or directory
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232541476:x_shm_remove:td_shm.c:0266:Failed to remove: [/dom3,shm,brinfo]: No such file or directory
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232541479:x_sem_remove:td_sem.c:0308:Removing semid: 771751988
N:NDRX:2:ad5a7960:27370:00000001:000:20181121:232541479:main        :/ndrxd.c:0486:exiting -1
user1@solaris11:~/endurox/atmitest/test048_cache$ 
    /* Attach to shared memory block */
    shm->fd = shm_open(shm->path, O_RDWR, S_IRWXU | S_IRWXG);

    if (shm->fd < 0) 
    {
        NDRX_LOG(log_error, "Failed to attach shm [%s]: %s",
                            shm->path, strerror(errno));
        EXFAIL_OUT(ret);
    }

So we try to attach to existing segment, but shm_open reports that it already exists... Seems like bug in shm_open() in Oracle implementation.

History

#1 Updated by Madars over 5 years ago

Also it tries to delete the SHM and reports that file exists...
So seems that better we move to System V shared memory model and we could use IPC KEY for segmenting the memory objects.

#3 Updated by Madars over 5 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100
  • Parent task set to #328

#4 Updated by Madars over 5 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF