[Bugs] #1624 sugar UNSP: gsm-client goes to infinite loop

Sugar Labs Bugs bugtracker-noreply at sugarlabs.org
Thu Nov 15 12:05:46 EST 2012


#1624: gsm-client goes to infinite loop
------------------------------------------+---------------------------------
    Reporter:  alsroot                    |          Owner:  tomeu                      
        Type:  defect                     |         Status:  new                        
    Priority:  Unspecified by Maintainer  |      Milestone:  Unspecified by Release Team
   Component:  sugar                      |        Version:  0.86.x                     
    Severity:  Unspecified                |       Keywords:                             
Distribution:  Ubuntu                     |   Status_field:  Unconfirmed                
------------------------------------------+---------------------------------

Comment(by dsd):

 After working on http://dev.laptop.org/ticket/12210 I revisited this with
 some new knowledge.

 The xsmp session manager code currently in sugar does not seem to have the
 issue that was seen in 12210 (and this code hasn't changed over the last
 few years). Clients that connect at a late stage do not cause the SM to
 get confused and delay shutdown, even if they do spam a fair amount in the
 process. So these looping messages are not the cause of this hang:

 {{{
 * (sugar-session:8104): DEBUG: Client '0x9305550' received
 RegisterClient(NULL)
 * (sugar-session:8104): DEBUG:   rejected: invalid previous_id
 }}}

 Instead, something else must be causing this. Perhaps an already-
 registered activity that is not responding as expected to the conversation
 generated during session shutdown.


 However, there is something odd going on with those messages. The messages
 come from this code:

 {{{
   g_debug ("Client '%s' received RegisterClient(%s)",
            xsmp->description,
            previous_id ? previous_id : "NULL");

   id = gsm_session_register_client (global_session, client, previous_id);

   if (id == NULL)
     {
       g_debug ("  rejected: invalid previous_id");
       free (previous_id);
       return FALSE;
     }
 }}}

 However, I cannot see a single codepath through
 gsm_session_register_client() that does not produce a log message (warning
 or debug). So its odd that we aren't seeing more in the log.

 Please attach full logs here (from Sugar start until the point where it
 goes into the infinite rejected: loop) next time this happens, also
 stating the sugar version and what was happening (had the user tried to
 shutdown? were there activities open?).

-- 
Ticket URL: <http://bugs.sugarlabs.org/ticket/1624#comment:4>
Sugar Labs <http://sugarlabs.org/>
Sugar Labs bug tracking system


More information about the Bugs mailing list