[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference pamsrc::objectbroker

Title:ObjectBroker - BEA Systems' CORBA
Notice:See note 3 for kits; note 5 for training; note 1134 for releases
Moderator:TLE::PARODId
Created:Tue Jul 11 1989
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1413
Total number of notes:6391

1400.0. "OBB V2.7-10 on VMS. Method server crash in OBB$SHR when context object is supplied" by RULLE::KLASSON (Sven-Olof Klasson @GOO) Wed May 14 1997 07:55

Hi,

A customer see a problem with supplying a context object from a client to 
a server on OpenVMS/Alpha running OBB V2.7-10. The method server crashes on
VMS in OBB$SHR+000BCA08

A trace on VMS (OBB_TRACE_FLAGS=RF) does not show any problem. The last lines
are as follows (retyped from a fax):
....
    *** Dispatching Invocation Event
    *** Loading operation context
    *** Filtering Context Properties
    *** Context Property List <l>
       000.  :Name: PDALOTS.ID               :Type: OBB_STRING
             :Flags: x00000000  (<UNKNOWN>)
    :Value: <11> <SID-0012345>

At this point the method server crashes.
APPL/BROKER SHOW SERVER show the server with status "died".

The problem is only seen when the server runs on VMS.

    Client           Server
    ----------       -----------
    Win95            Win/NT         No problems
    Win95            VMS            Method server crashes
    VMS              VMS            Method server crashes

The following calls are used in the client 
    CORBA_ORB_get_default_context
    CORBA_Context_create_child
    CORBA_Context_create_table
    CORBA_Context_set_one_valua
    PDATEST_TEST_Send   (this is a stub routine created by OBB)

I have read the release notes for V2.7-11 but there is noting in there that
looks like this problems.

Is there any known problem in this area in OBB V2.7-10 on VMS?
Could this be a problem in the customers code, or is it a problem in OBB?

Sven-Olof Klasson
T.RTitleUserPersonal
Name
DateLines
1400.1REQUE::BOWERPeter Bower, ObjectBrokerWed May 14 1997 12:3411
    Set a break at the dispatcher to see if it ever gets there. The BCA08
    value appears to be larger than any address in obb$shr.
    
    Could you get the IDL and IML for the operation/method in question.
    
    Can you have the customer run the image in the debugger and get the 
    output from the debugger when the crash occurs
    
    show image
    show calls
    
1400.2RULLE::KLASSONSven-Olof Klasson @GOOWed May 14 1997 14:3374
Hi,

>    Set a break at the dispatcher to see if it ever gets there. The BCA08
>    value appears to be larger than any address in obb$shr.

Sorry, I may be incorrect about offset BCA08. I got this from a ACCVIO message
on fax. BCA08 was the "rel PC" value, that might be something diffrent than offset

Here is more complete information when the method server crashes (type from a fax)

%SYSTEM-F-ACCVIO, access violation, reason mask=00
                  vitual address=00000002, PC=0069AA08, PS=0000001B
%TRACE-F-TRACEBACK, symbolic trace back follows
Image Name  Module Name  Routine Name  Line Number  rel PC    abs PC
OBB$SHR                                          0 000BCA08  0069AA08
OBB$SHR                                          0 000BC864  0069A864
OBB$SHR                                          0 000B9F80  00697F80
.....
    
>    Could you get the IDL and IML for the operation/method in question.

I'll ask the customer to send this to me.
    
>    Can you have the customer run the image in the debugger and get the 
>    output from the debugger when the crash occurs
>    
>    show image
>    show calls
    
The customer has allready run this in the debugger. I got the "show stack"
output. It's on a fax, and several pages long. I'll type the values for
"Entry Address:" here in hope this could help you
(I'll ask the customer to do 'show image' and 'show calls' tomorrow. He had
allready gone home today)

Sven-Olof

invocation block 0
  Entry Address:  SHARE$OBB$SHR+772272

invocation block 1
  Entry Address:  SHARE$OBB$SHR+771400

invocation block 2
  Entry Address:  SHARE$OBB$SHR+761520

invocation block 3
  Entry Address:  SHARE$OBB$SHR+767168

invocation block 4
  Entry Address:  SHARE$OBB$SHR+766504

invocation block 5
  Entry Address:  SHARE$OBB$SHR+760544

invocation block 6
  Entry Address:  SHARE$OBB$SHR+761152

invocation block 7
  Entry Address:  SHARE$OBB$SHR+759520

invocation block 8
  Entry Address:  SHARE$OBB$SHR+396656

invocation block 9
  Entry Address:  TESTSRVMAIN\main

invocation block 10
  Entry Address:  TESTSRVMAIN\_main

invocation block 11
  Entry Address:  2360942752


1400.3LEMAN::DONALDSONFroggisattva! Froggisattva!Thu May 15 1997 07:073
Shouldn't you upgrade to 2.7-11?

John D.
1400.4RULLE::KLASSONSven-Olof Klasson @GOOThu May 15 1997 15:3412
Sorry, I been busy the whole day with another urgent problem and
have not had the time to call this customer today. So I don't have any 
more information today. I hope I can get it tomorrow.

> Shouldn't you upgrade to 2.7-11?

I have read thru the release notes for V2.7-11. None of problem
fixes described seems to match this problem.
Do you still V2.7-11 could fix this problem?

Sven-Olof
 
1400.5More info...RULLE::KLASSONSven-Olof Klasson @GOOFri May 16 1997 09:05119
Hi,

Here is the info.
 - TEST.IDL
 - TEST.IML
 - Output from "show image" and "show calls" in the debugger

Sven-Olof Klasson

Ps I have sent V2.7-11 to the customer. He will install it and see if it helps

----- TEST.IDL ---------------------------------------------------------------
module PDATEST
    {
    interface TEST
        {
        void Send(in string to,
                   in string subject,
                   in string message)
        context("PDALOTS.*");
        };
    };
#pragma interface_id( "PDATEST::TEST", "7c957a42c70b.0c.0d.05.00.00.00.00.00")
#pragma operation_id( "PDATEST::TEST::Send", "7c957a42c70c.0c.0d.05.00.00.00.00.00", 1)
----- TEST.IML ---------------------------------------------------------------
// *******************************************************************
// Created Tue May 13 15:55:47 1997 by OBB V2.7-10 (COMPILE/GENERATE)
// *******************************************************************
//
// OBB Default IML file
// ---------------------
//
// Use this file as a base for your additional IML definitions.
//

implementation TESTImpl
    {
    activation_type ( program );
    activation_string ( "run utv:[tla.temp.lots.test]testsrvmain" );
    implementation_identifier ( "7c957a42c70b.0c.0d.05.00.00.00.00.00" );
    registration_attribute string ImplementationName = "TESTImpl";
    method_dispatcher_routine TESTImpl__dispatch ();
    registration_routine TESTImpl__register ();
    deactivate_impl_routine TESTImpl__notify ();

    Send ( )
        implements ( PDATEST::TEST::Send )
        invoke_builtin ( "TESTImpl_Send" )
        ;

    };
----- "show image" and "show calls" ------------------------------------------
show image
! image name                      set    base address    end address
!
! CMA$TIS_SHR                     no     0032A000        0032E1FF
!    CODE0                               8049E000        8049EDFF
!    DATA1                               0032A000        0032A9FF
!    DATA2                               0032C000        0032C1FF
!    DATA3                               0032E000        0032E1FF
! DBGTBKMSG                       no     006BC000        006C8FFF
! DEBUG                           no     0058E000        0069E9FF
! DECC$MSG                        no     006A8000        006A93FF
! DECC$SHR                        no     0013C000        002BDBFF
!    CODE0                               80566000        806831FF
! DPML$SHR                        no     002BE000        00328FFF
!    CODE0                               804A0000        805645FF
!    DATA1                               002BE000        002F45FF
!    DATA2                               002F6000        00307DFF
!    DATA3                               00308000        003083FF
!    DATA4                               0030A000        003261FF
!    DATA5                               00328000        00328FFF
! LIBOTS                          no     00052000        000581FF
!    CODE0                               8048E000        8049CBFF
!    DATA1                               00052000        000545FF
!    DATA2                               00056000        00057BFF
!    DATA3                               00058000        000581FF
! LIBRTL                          no     0005A000        0013B5FF
!    CODE0                               80400000        8048DDFF
! OBB$AGENT_CLIENT                no     00A06000        00A669FF
! OBB$COSSHR                      no     00330000        003703FF
! OBB$MSG                         no     006AA000        006BA1FF
! OBB$PRVSHR                      no     007EA000        0084C068
! OBB$SECURITY                    no     00716000        007771FF
! OBB$SHR                         no     00418000        0055B3FF
! OBB$TRANSPORT_DNET              no     00788000        007E89FF
! OBB$TRANSPORT_TCP               no     0084E000        008AE9FF
! SECURESHR                       no     003D6000        004167FF
!    CODE0                               8069E000        806AD3FF
! SECURESHRP                      no     00372000        003D47B8
!    CODE0                               80684000        8069CFFF
! SHRIMGMSG                       no     006A0000        006A69FF
! SYS$SSISHR                      no     0055C000        0058C3FF
!*TESTSRVMAIN                     yes    00010000        000503FF
! UCX$ACCESS_SHR                  no     00932000        009F2BFF
! UCX$IPC_SHR                     no     008B0000        009303FF
!
! total images: 23                bytes allocated: 759944




show calls
! module name     routine name                     line       rel PC    abs PC
! SHARE$OBB$SHR                                              00000000  004D4A08
! SHARE$OBB$SHR                                              00000000  004D4864
! SHARE$OBB$SHR                                              00000000  004D1F80
! SHARE$OBB$SHR                                              00000000  004D37D0
! SHARE$OBB$SHR                                              00000000  004D33F0
! SHARE$OBB$SHR                                              00000000  004D1BB0
! SHARE$OBB$SHR                                              00000000  004D1DF8
! SHARE$OBB$SHR                                              00000000  004D1704
! SHARE$OBB$SHR                                              00000000  00478E34
!*TESTSRVMAIN                                     24246      000002D0  000303B0
!*TESTSRVMAIN     __main                                     000000AC  000300AC
!                                                            00000000  8CB921F8
set nolog
!%DEBUG-E-SYNTAX, command syntax error at or near 'NOLOG'
EXIT
1400.6REQUE::BOWERPeter Bower, ObjectBrokerMon May 19 1997 14:236
    The call stack indicates that the value for filtering context
    properties is invalid. This value is created in the generated
    dispatcher and is a static value. Could you get the generated 
    dispacter file and the commands used to compile and link the server ?
    
    
1400.7V2.7-11 does not fix thisRULLE::KLASSONSven-Olof Klasson @GOOTue May 20 1997 12:499
    Hi Peter,
    
    I will soon have the files you requested. The customer will send
    them by mail to me.
    
    The customer tried with Objectbroker v2.7-11. It did not fix the
    problem.
    
    /Sven-Olof
1400.8More infoRULLE::KLASSONSven-Olof Klasson @GOOTue May 20 1997 14:3524
Hi,

Re: .6

Here is the info. I attach compile and link commands.

TESTDISPATCH.C was too big (180 Kbyte) to include here, you can copy the file
from RULLE""::RULLE$TEMP:[KLASSON.4060_OBB_HAGGLUNDS]TESTDISPATCH.C

/Sven-Olof

COMPILE.COM
===========
$ copts := /nomember/prefix=all/include=(pda_refcopy,decw$include)/warn=disable=(boundadj,cddattr,unsupptype)
$ if P2 .nes. "" then copts = "''copts'''P2'"
$ cc/noopt/debug'copts 'P1

LINKTESTSRV.COM
=============== 
$ link/debug TESTSRVMAIN,TESTDISPATCH,TESTMETHODS,-
             ORB_BASEFUNCS,PDA_BASEFUNCS,sys$input/opt
sys$share:obb$shr/share
sys$share:obb$cosshr/share
sys$share:decc$shr/share