cancel
Showing results for 
Search instead for 
Did you mean: 

Reg:OBJECTS_OBJREF_NOT_ASSIGNED dump

Former Member
0 Kudos

Hi Experts,

I am seeing a lot of OBJECTS_OBJREF_NOT_ASSIGNED dumps in one of our productions servers with the a few of the cancelled background jobs.

We have just upgraded from 4.7 to ECC6

The error text is

***********************************************************************************************************************

An exception occurred that is explained in detail below.

The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not

caught in

procedure "GET_SPECIAL_DATA_INTERNAL" "(METHOD)", nor was it propagated by a

RAISING clause.

Since the caller of the procedure could not have anticipated that the

exception would occur, the current program is terminated.

The reason for the exception is:

You attempted to use a 'NULL' object reference (points to 'nothing')

access a component (variable: "ME->GO_PARENT_CBASE_PROFILE").

An object reference must point to an object (an instance of a class)

before it can be used to access components.

Either the reference was never set or it was set to 'NULL' using the

CLEAR statement.

*********************************************************************************************************************

We have tried to find the SAP notes,but could not find the proper ones

Kindly help us fix the dump issue

Rgds-

Venu

Accepted Solutions (1)

Accepted Solutions (1)

Ryan-Crosby
Active Contributor
0 Kudos

Hi Venu,

In your setup of the shared memory area in SHMA, do you have the versioning option unchecked? If you do that might explain your issue. If a user tries to access the one instance of the object in the shared memory area while it is currently being refreshed to memory they will get this short dump. The one way to protect against this error would be to make sure that the user reading from the memory area does a check for success in attach_for_read( ) before going further. See this example:

DATA: lv_tries TYPE i,

lv_subrc TYPE sy-subrc.

CONSTANTS: lc_max TYPE i VALUE '10000''.

  • Initialize variables for a max of 10000 tries

CLEAR lv_tries.

lv_subrc = 1.

  • Attach for read from shared memory area

WHILE lv_tries < lc_max AND lv_subrc <> 0.

TRY.

cl_area = zcl_shm_employee_master=>attach_for_read( ).

lv_subrc = sy-subrc.

CATCH: cx_shm_inconsistent,

cx_shm_no_active_version,

cx_shm_read_lock_active,

cx_shm_exclusive_lock_active,

cx_shm_parameter_error,

cx_shm_change_lock_active.

lv_tries = lv_tries + 1.

ENDTRY.

ENDWHILE.

  • Raise exception if tries reaches count of 10000

IF lv_tries = lc_max.

RAISE READ_ERROR.

ENDIF.

The number 10000 is an arbitrary number chosen for the example but you can get the idea from it. This will ensure that either a success attach is performed or an exception is thrown. Of course you could always just call multiple times until you get a successful attach. I did it this way to avoid a potential infinite loop in the case that it is not able to attach successfully.

Regards,

Ryan Crosby

Former Member
0 Kudos

Hi Ryan,

Thanks for your reply,it is really been informative and looks like going to fix the issue as well.

I would be very thankful to you,if you can eloborate on your comment "setup of the shared memory area in SHMA, do you have the versioning option unchecked?"

Where can I see the setup,I mean..... is it in profile parameter level or it is in ABAP development level

Pls.guide me thru,thanks

Rgds-

Venu

Former Member
0 Kudos

the issue has been resolved after implementing the suggestion of Ryan Crosby

Thanks

Venu

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi venu,

Can you post dump data with transaction code

and error analysis. This will help to find out when and which program cause this problem

Regards,

Nitin Salunkhe

Former Member
0 Kudos

Hi Nitin,

Sry, tht I cudnt reply back as I was on a vaccation

Pls.find the required data as pasted below..

*********************************************************************************************************************

User and Transaction

Client.............. <nnn>

User................ "XXXXX"

Language Key........ "E"

Transaction......... " "

Transactions ID..... "49E5C99A35C800BDE10080000A82216E"

Program............. "CL_CUX_INSTANCE_TREE_CORE=====CP"

Screen.............. "SAPMSSY1 3004"

Screen Line......... 2

Information on caller of Remote Function Call (RFC):

System.............. <SID>

Database Release.... 620

Kernel Release...... 640

Connection Type..... 3 (2=R/2, 3=ABAP System, E=Ext., R=Reg. Ext.)

Call Type........... "synchron and transactional (emode 0, imode 0)"

Inbound TID.........." "

Inbound Queue Name..." "

Outbound TID........."0A0110F82E0949E8F074438C"

Outbound Queue Name.."R3AUORDER_0118291279"

Client.............. <nnn>

User................ "CP32389DG"

Transaction......... " "

Call Program........."SAPLERFC"

Function Module..... "ARFC_DEST_SHIP"

Call Destination.... "XXXXX"

Source Server....... "abcd"

Source IP Address... "n.n.n.n"

Additional information on RFC logon:

Trusted Relationship " "

Logon Return Code... 0

Trusted Return Code. 0

Note: For releases < 4.0, information on the RFC caller are often

only partially available.

********************************************************************************************************

Thanks in advance

Rgds-

Venu