I've got a problem sending Structured Events to the Notification Service in
Solaris 8.
Note: This works very well on Windows 2000.
I'd appreciate a fast help on this problem.
Versions:
SunOS morse 5.8 Generic_108528-10 sun4u sparc SUNW,Sun-Fire-280R
TAO version 1.2
ACE version 5.2
To the Problem:
My own executable (Core.exe) act as a both a (StructuredProxyPush)Supplier
and a (StructuredProxyPush)Consumer.
The Core.exe will then use Naming Service to find the the Notification
Service and connect a Supplier and a Consumer
in order to send and receive structured events.
Core.exe connects to the Notification Service without any problems (it runs
as it should).
Trying to send a Structured Event from my test executable into my Core.exe,
the Core.exe will then try send this
Event to the Notification Service which in turn should push it back to my
Consumer (in Core.exe).
Unfortunately I receive Segmentation Fault in Notification Service while
doing this and the
Service dies ofcourse.
I'm sending the truss files of my own executable called Core..and the truss
file of the Notification Service.
Core truss:
Started my own executable this way:
Core -ORBInit Ref NameService=iioploc://172..:12470/NameServ
25526: psargs: Core -ORBInitRef NameService=iioploc://172.1
7.138.14
25526: poll(0xFFBEE360, 4, -1) (sleeping...)
25526: signotifywait() (sleeping...)
25526: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
25526: lwp_cond_wait(0xFF3855A0, 0xFF3855B0, 0xFE383C48) (sleeping...)
25526: signotifywait() = 20
25526: lwp_sigredirect(0, SIGWINCH, 0x00000000) = 0
25526: poll(0xFFBEE360, 4, -1) (sleeping...)
25526: signotifywait() (sleeping...)
25526: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
25526: lwp_cond_wait(0xFF3855A0, 0xFF3855B0, 0xFE383C48) (sleeping...)
25526: poll(0xFFBEE360, 4, -1) = 1
25526: brk(0x002D6440) = 0
25526: brk(0x002DA440) = 0
25526: accept(8, 0x00000000, 0x00000000, 1) = 11
25526: fcntl(11, F_GETFL, 0x00000000) = 130
25526: fstat64(11, 0xFFBEDF70) = 0
25526: getsockopt(11, 65535, 8192, 0xFFBEE070, 0xFFBEE068, 0) = 0
25526: fstat64(11, 0xFFBEDF70) = 0
25526: getsockopt(11, 65535, 8192, 0xFFBEE070, 0xFFBEE06C, 0) = 0
25526: setsockopt(11, 65535, 8192, 0xFFBEE070, 4, 0) = 0
25526: fcntl(11, F_SETFL, 0x00000002) = 0
25526: setsockopt(11, 65535, 4097, 0xFFBEDDE4, 4, 1) = 0
25526: setsockopt(11, 65535, 4098, 0xFFBEDDE8, 4, 1) = 0
25526: fcntl(11, F_SETFD, 0x00000001) = 0
25526: setsockopt(11, 6, 1, 0x00288468, 4, 1) = 0
25526: fcntl(11, F_GETFL, 0x00000000) = 2
25526: fstat64(11, 0xFFBEDB48) = 0
25526: getsockopt(11, 65535, 8192, 0xFFBEDC48, 0xFFBEDC40, 0) = 0
25526: fstat64(11, 0xFFBEDB48) = 0
25526: getsockopt(11, 65535, 8192, 0xFFBEDC48, 0xFFBEDC44, 0) = 0
25526: setsockopt(11, 65535, 8192, 0xFFBEDC48, 4, 0) = 0
25526: fcntl(11, F_SETFL, 0x00000082) = 0
25526: getpeername(11, 0xFFBEE1A8, 0xFFBEDD90, 1) = 0
25526: getsockname(11, 0xFFBEE18C, 0xFFBEDD90, 1) = 0
25526: getpeername(11, 0xFFBEE21C, 0xFFBEE118, 1) = 0
25526: door_info(7, 0xFFBEAC18) = 0
25526: door_call(7, 0xFFBEAC00) = 0
25526: poll(0xFFBEE230, 1, 0) = 0
25526: poll(0xFFBEE358, 5, -1) = 1
25526: read(11, " G I O P010201\0 o\0\0\0".., 1024) = 123
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 62) = 62
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 102) = 102
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 90) = 90
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 57) = 57
25526: writev(9, 0xFFBEBF18, 1) = 233
25526: poll(0xFFBEBF18, 5, -1) = 1
25526: read(9, " G I O P0102\001\0\0\0 a".., 1024) = 109
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 91) = 91
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 86) = 86
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 50) = 50
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 65) = 65
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 71) = 71
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 84) = 84
25526: brk(0x002DA440) = 0
25526: brk(0x002DC440) = 0
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 101) = 101
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 104) = 104
25526: writev(9, 0xFFBEBF40, 1) = 396
25526: poll(0xFFBEBF40, 5, -1) = 1
25526: read(9, " G I O P0102\001\0\0\0\f".., 1024) = 24
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 80) = 80
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 62) = 62
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 89) = 89
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 88) = 88
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 102) = 102
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 87) = 87
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 54) = 54
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 95) = 95
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 79) = 79
25526: open("/tmp/qqqqr.log", O_WRONLY|O_APPEND|O_CREAT, 0666) = 12
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 64) = 64
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 58) = 58
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 56) = 56
25526: writev(10, 0xFFBEBE30, 1) = 116
25526: poll(0xFFBEBE30, 5, -1) = 1
25526: read(10, " G I O P0102\001\0\0\0CC".., 1024) = 216
25526: door_info(7, 0xFFBE8D60) = 0
25526: door_call(7, 0xFFBE8D48) = 0
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 56) = 56
25526: writev(10, 0xFFBEBE58, 1) = 146
25526: poll(0xFFBEBE58, 5, -1) = 1
25526: read(10, " G I O P0102\001\0\0\0\f".., 1024) = 24
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 56) = 56
25526: writev(10, 0xFFBEBE60, 1) = 280
25526: poll(0xFFBEBE60, 5, -1) = 1
25526: read(10, 0xFFBEBA88, 1024) = 0
25526: close(10) = 0
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 157) = 157
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 83) = 83
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 55) = 55
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 80) = 80
25526: close(12) = 0
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 65) = 65
25526: so_socket(2, 2, 0, "", 1) = 10
25526: connect(10, 0x002DADF4, 16, 1) Err#146 ECONNREFUSED
25526: close(10) = 0
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 158) = 158
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 54) = 54
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 60) = 60
25526: write(2, " ( 1 ) ( 1 2 : 1 9 :".., 79) = 79
25526: writev(11, 0xFFBECB78, 1) = 72
25526: poll(0xFFBEE358, 4, -1) = 1
25526: read(11, 0xFFBEDF80, 1024) = 0
25526: close(11) = 0
25526: poll(0xFFBEE368, 3, -1) (sleeping...)
25526: signotifywait() (sleeping...)
25526: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
25526: lwp_cond_wait(0xFF3855A0, 0xFF3855B0, 0xFE383C48) (sleeping...)
25526: lwp_cond_wait(0xFF3855A0, 0xFF3855B0, 0xFE383C48) Err#62 ETIME
25526: time() = 1018520516
25526: poll(0xFFBEE368, 3, -1) (sleeping...)
25526: signotifywait() (sleeping...)
25526: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
25526: lwp_cond_wait(0xFF3855A0, 0xFF3855B0, 0xFE383C48) (sleeping...)
Notification Service truss:
Started the service this way: Notify_Service -Boot -NoNameSvc -IORoutput
/tmp/notify.ior
[/view/tnxlaot] morse Notify_Service >truss -fap 25134
25134: psargs: Notify_Service -Boot -NoNameSvc -IORoutput /tmp/notify.ior
25134: poll(0xFFBEE280, 3, -1) (sleeping...)
25134: signotifywait() (sleeping...)
25134: lwp_cond_wait(0xFDAC55A0, 0xFDAC55B0, 0xFD975BF0) (sleeping...)
25134: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
25134: poll(0xFFBEE280, 3, -1) = 1
25134: read(9, " G I O P0102\0\0\0\0\0 h".., 1024) = 116
25134: brk(0x00142F78) = 0
25134: brk(0x00146F78) = 0
25134: mmap(0x00000000, 16384, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFD950000
25134: mprotect(0xFD950000, 8192, PROT_NONE) = 0
25134: lwp_create(0xFFBEC8E0, LWP_DETACHED|LWP_SUSPENDED, 0xFD953DB4) = 5
25134: lwp_create() (returning as new lwp ...) = 0
25134: lwp_continue(5) = 0
25134: lwp_schedctl(SC_STATE|SC_BLOCK, -1, 0xFD953CB4) = 0
25134: time() = 1018520383
25134: lwp_create(0xFFBEC8D0, LWP_DETACHED|LWP_SUSPENDED, 0xFB60BDB4) = 6
25134: lwp_create() (returning as new lwp ...) = 0
25134: lwp_continue(6) = 0
25134: lwp_self() = 6
25134: lwp_schedctl(SC_STATE, -1, 0xFB60BD14) = 0
25134: brk(0x00146F78) = 0
25134: brk(0x00148F78) = 0
25134: lwp_mutex_wakeup(0xFDAC55B0) = 0
25134: lwp_mutex_lock(0xFDAC55B0) = 0
25134: lwp_sema_post(0xFB60BE30) = 0
25134: lwp_sema_wait(0xFB60BE30) = 0
25134: lwp_mutex_wakeup(0xFDAC55B0) = 0
25134: lwp_mutex_lock(0xFDAC55B0) = 0
25134: writev(9, 0xFFBECD60, 1) = 216
25134: poll(0xFFBEE280, 3, -1) = 1
25134: read(9, " G I O P0102\0\0\0\0\086".., 1024) = 146
25134: writev(9, 0xFFBECD60, 1) = 24
25134: poll(0xFFBEE280, 3, -1) = 1
25134: read(9, " G I O P0102\0\0\0\001\f".., 1024) = 280
25134: door_info(7, 0xFFBE98C0) = 0
25134: door_call(7, 0xFFBE98A8) = 0
25134: Incurred fault #6, FLTBOUNDS %pc = 0xFE638524
25134: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
25134: Received signal #11, SIGSEGV [caught]
25134: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
25134: sigprocmask(SIG_SETMASK, 0xFDABEFE8, 0x00000000) = 0
25134: sigaction(SIGSEGV, 0xFFBEC6D0, 0x00000000) = 0
25134: sigprocmask(SIG_SETMASK, 0xFDACADB8, 0x00000000) = 0
25134: setcontext(0xFFBEC590)
25134: Incurred fault #6, FLTBOUNDS %pc = 0xFE638524
25134: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
25134: Received signal #11, SIGSEGV [default]
25134: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
25134: *** process killed ***
Best Regards,
Lars Ottosson
OPERATING SYSTEM: NT 4
COMPILER NAME AND VERSION (AND PATCHLEVEL): Visual Studio 6.0
Hi all,
I got some trouble using the SHMIOP protocol. If I add the following
line to my svc.conf file:
static Resource_Factory "-ORBProtocolFactory SHMIOP_Factory"
I have the following message when I run my server:
TAO (254|235) Unable to load protocol <SHMIOP_Factory>, : No such file
or directory
In the TAO source code, I could see that the SHMIOP_Factory has been
added to the list of protocol factories managed by
TAO_Default_Resource_Factory but the corresponding service has not been
loaded: the instance returned by:
ACE_Dynamic_Service<TAO_Protocol_Factory>::instance("SHMIOP_Factory")
is null.
Only the IIOP_Factory is available.
Do I miss something?
Thank you,
Benoit
--
Benoit Viaud - ARTAL technologies
10, avenue de l'Europe
Parc technologique du canal
31520 Ramonville Saint Agne
tel : 05.61.28.56.90
fax : 05.61.28.56.00
Try this in your svc.conf file
dynamic SHMIOP_Factory Service_Object
*TAO_Strategies:_make_TAO_SHMIOP_Protocol_Factory() ""
dynamic Advanced_Resource_Factory Service_Object *
TAO_Strategies:_make_TAO_Advanced_Resource_Factory () "-ORBProtocolFactory
SHMIOP_Factory"
Regards,
Bruce Trask