[Openais] Crashing because all SU not yet operational

Ola Lundqvist ola.lundqvist at tietoenator.com
Sun Sep 3 23:56:35 PDT 2006


Hi

The next crash I got is when all components have been initiated and when
it try to start up things.

Here is a log of what happens:
Sep  1 14:45:50.693455 [sync.c:0318] This node is within the primary
component and will provide service.
Sep  1 14:45:50.693580 [clm.c:0510] CLM CONFIGURATION CHANGE
Sep  1 14:45:50.693634 [clm.c:0511] New Configuration:
Sep  1 14:45:50.693693 [clm.c:0513]     r(0) ip(192.168.0.1)
Sep  1 14:45:50.693769 [clm.c:0515] Members Left:
Sep  1 14:45:50.693823 [clm.c:0520] Members Joined:
Sep  1 14:45:50.693879 [clm.c:0522]     r(0) ip(192.168.0.1)
Sep  1 14:45:50.693940 [sync.c:0318] This node is within the primary
component and will provide service.
Sep  1 14:45:50.694026 [totemsrp.c:1607] entering OPERATIONAL state.
Sep  1 14:45:50.701111 [clm.c:0605] got nodejoin message 192.168.0.1
Hello world from
safComp=OAM-C-1,safSu=OAM-SU-1,safSg=SS7-SG-1,safApp=SS7-A-1
>>WARNING<< Timestamp: 1157121953:807037
ProcessType:SequenceNumber  161:1
    CP:0  ss7osdpn.c   2690     0  1295     0     0     0    1102


Sep  1 14:45:53.727109 [amfcluster.c:0130] Cluster: starting applications.
(inservice=0) (active_sus_needed=1) (standby_sus_needed=1)
assignment VI - partial assignment with SIs drop outs
(inservice=0) (assigning active=1) (assigning standby=0) (assigning
spares=0)
su_active_assign=1, si_total=1,ass_to_su=1
while su...1 != 2, 0 == 1, 0 > 0
Not in service.
while su...1 != 2, 0 == 1, 0 > 0
Not in service.
No one to assign. No SU in service yet.


The last lines are my local changes to make sure that it do not crash.
However what I determined is that nothing will be started anyway as the
service units are not in service...

This is a scetch patch from the local changes that I have done. I have
removed manually from the patch output all the print statements that I
had, so it may not apply cleanly.

===================================================================
--- exec/amfsg.c        (revision 1235)
+++ exec/amfsg.c        (working copy)
@@ -964,6 +971,7 @@
                        amf_su_get_saAmfSUNumCurrStandbySIs (su) > 0) {

                        su = su->next;
+                        printf("Not in service.\n");
                        continue; /* Not in service */
                }

@@ -1118,15 +1127,18 @@
         */
        inservice_count = (float)su_inservice_count_get (sg);

-       active_sus_needed = div_round (
-               sg_si_count_get (sg) * sg->saAmfSGNumPrefActiveSUs,
-               sg->saAmfSGMaxActiveSIsperSUs);
+        active_sus_needed = div_round (
+            sg_si_count_get (sg) * sg->saAmfSGNumPrefActiveSUs,
+            sg->saAmfSGMaxActiveSIsperSUs);

-       standby_sus_needed = div_round (
+        standby_sus_needed = 0;
+        if (sg->saAmfSGMaxStandbySIsperSUs > 0) {
+            standby_sus_needed = div_round (
                sg_si_count_get (sg) * sg->saAmfSGNumPrefStandbySUs,
                sg->saAmfSGMaxStandbySIsperSUs);
+        }

and then around

@@ -1166,29 +1178,30 @@
-       assert (assigned > 0);
+       /*assert (assigned > 0);*/
+        printf("No one to assign. No SU in service yet.\n");



So what I want to know, is why the SU may not be considered operational
and if I have done something wrong with my AMF application.

Regards,

// Ola

-- 
 Ola Lundqvist, Civilingenjör Informationsteknologi
 TietoEnator R&D Services AB, Telecom Platforms
 Email:  ola.lundqvist at tietoenator.com
 Phone:  +46 (0)54-29 42 17



More information about the Openais mailing list