2 Replies Latest reply: Dec 16, 2017 6:51 AM by Mohammad Ali Mansouri Khah RSS

Can anyone help me to find a solution for this message

SHADA AMAN

Hi,

I'm a student, I have a project on modifying AODV process model to Implement some functions, when I compile my AODV process model with the modification I did It compiles correctly without errors, but when I run the project I get this error

 

<<< Program Fault >>>

program abort -- Invalid Memory Access

T (100), EV (2539), MOD (top.Campus Network.Source_node.ip), KP (op_pro_invoke)

 

and this message from error log file

 

<<< Program Fault >>>

  * Time: 10:04:25 Thu Dec 01 2017

  * Product: modeler (32-bit)

  * Program: op_runsim (Version 14.5.A PL8 Build 7808 32-bit)

  * System: Windows NT 6.1 Build 7601

  * Package: process (aodv_rte) at module (top.Campus Network.Source_node.ip)

  * Function: aodv_rte_route_request_send (<args>)

  * Error: program abort -- Invalid Memory Access

               T (100), EV (2539), MOD (top.Campus Network.Source_node.ip), KP (op_pro_invoke)

 

  * Function call stack: (builds down)

------------------------------------------------------------

             Call   Block

             Count  Line# Function

------------------------------------------------------------

     0) 1    152  0x36777f0b [name not available]

     1) 1   2211  0x00004c00 [name not available]

     2) 1   1358  0x0000c400 [name not available]

     3) 1    399  m3_main

     4) 1   1074  sim_main

     5) 1   2894  sim_ev_loop

     6) 21    384  sim_strm_insert

     7) 2540    880  sim_obj_qps_intrpt

     8) 21     14  ip_rte_central_cpu [ip_central_cpu_wait -> ip_central_cpu_wait : infinite_processing_rate && INCOMING_PACKET / ip_rte_central_cpu_packet_arrival ()]

     9) 1    165  ip_rte_central_cpu_packet_arrival ()

    10) 1    366  ip_rte_central_cpu_send_packet (pkptr)

    11) 1   2275  ip_rte_packet_send (module_data_ptr, pkptr, intf_ici_fdstruct_ptr, process_type)

    12) 183    750  op_pro_invoke (pro_handle, argmem_ptr)

    13) 21     21  manet_mgr [wait exit execs]

    14) 184    750  op_pro_invoke (pro_handle, argmem_ptr)

    15) 1919     13  aodv_rte [wait exit execs]

    16) 1    349  aodv_rte_pkt_arrival_handle (void)

    17) 1    651  aodv_rte_app_pkt_arrival_handle (<args>)

    18) 1   2315  aodv_rte_route_request_send (<args>)

------------------------------------------------------------

 

 

<<< Program Abort >>>

  * Time: 10:04:26 Thu Dec 01 2017

  * Product: modeler (32-bit)

  * Program: op_runsim (Version 14.5.A PL8 Build 7808 32-bit)

  * System: Windows NT 6.1 Build 7601

  * Package: op_runsim

  * Function: sim_runsim_exec

  * Error:

 

  * Function call stack: (builds down)

------------------------------------------------------------

             Call   Block

             Count  Line# Function

------------------------------------------------------------

     0) 1    525  m3_main

     1) 1    352  sim_runsim_exec

------------------------------------------------------------

 

Is there any file I didn't modify it causing this message to appear?

 

Please I need to know what this message mean and how to find a solution for it.

  • Re: Can anyone help me to find a solution for this message
    Paul Conway

    Shada,

      Please note, just because your code compiles it does not mean it is without error.  The model does not have a semantic error, but a dynamic error.

      In the aodv_rte function block, look for line 2315.  It should be within the aodv_rte_route_request_send function.
      The program aborted on the first call to this function, at line 2315.  It aborted due to an invalid memory address being dereferenced.  This could have been a NULL pointer, uninitialized pointer or a stale pointer.

      This function was called by aodv_rte_app_pkt_arrival_handle because an application packet was received without a known route to the destination.  [I learned this by stepping through the call stack starting from the aodv_rte line and reading the comments.]

      The function aodv_rte_route_request_send is meant to broadcast a route request message.

      Based upon the Version 17.5 PL5 model I am looking at, there is about 200 lines of code difference.  I don't know what changes are yours and what were added by Riverbed since Version 14.5 PL8.  So I can't help you narrow the problem down any further.

      I hope this information is helpful to you, and good luck in finding a solution for it.

      Part of programming is detective work.  Be like Sherlock Holmes and analyze the clues.

  • Re: Can anyone help me to find a solution for this message
    Mohammad Ali Mansouri Khah

    Dear shada,

    it's not easy to debug error like this, I suggest you that use ODB debugger in source level with attaching your process model to visual studio and play with the break point to find the location of error properly.

    and based on my experience I have a suggestion for you, check the print section of your code and be sure that the variable format you mentioned to print is matched with the real variable format (for example, %d for integer and etc), maybe the source of error is there.