Opened 19 years ago

Closed 11 years ago

#33 closed defect (fixed)

IZ243: Memory leak in sge_schedd

Reported by: ernst Owned by:
Priority: normal Milestone:
Component: sge Version: 5.3
Severity: minor Keywords: kernel


[Imported from gridengine issuezilla]

        Issue #:      243              Platform:     All              Reporter: ernst (ernst)
       Component:     gridengine          OS:        All
     Subcomponent:    kernel           Version:      5.3                 CC:    None defined
        Status:       VERIFIED         Priority:     P3
      Resolution:     FIXED           Issue type:    DEFECT
                                   Target milestone: not determined
      Assigned to:    ernst (ernst)
      QA Contact:     andreas
       * Summary:     Memory leak in sge_schedd
   Status whiteboard:

     Issue 243 blocks:
   Votes for issue 243:

   Opened: Mon Apr 29 05:20:00 -0700 2002 

Memory leak in sge_schedd

According to the code discussion with Patrik Koch we have identified
several errors in sge_schedd process:

> Code discussion
> ===============
> - sge_process_events.c, event_handles_default_scheduler()
>   line 650: if (is_running)... possible???
>   How can it be that tasks of a newly added job are already running?
>   And a few lines above at the beginning of sgeE_JOB_ADD:
>   How can the job and the relevant task be already in the joblist?
>   line 653: at_inc_job_counter() leaves priority_group_list or
>     user list (PGR_subordinate_list) unsorted!

I also would assume that the job/task should not already be in the
joblist. I will fix it.

> - sge_process_events.c, event_handles_default_scheduler()
>   line 1559: sgeE_JATASK_DEL
>   if ja_task is enrolled and the only task of the job -> job is
>       removed from lists.job_list
>   if ja_task is not enrolled but the only task of the job -> job is
>       not removed from lists.job_list ???

I will fix it. (==> Memory leak)

> - sge_job_schedd.c, split_job()
>   line 508: job=NULL;
>   line 525: remaining tasks -> lCopyElem(job) ==>> LERROR !
>   line 567: if (job) -> always false !
>   ??? What should be done with remaining tasks? Are they possible?

I don't think that remaining tasks are possible in the moment. If they
occure, they should stay in the source list if they are not needed for
scheduling decisions or if it is not necessary to generate scheduling
messages for the "qstat -j" output.

I will fix the error you found.

   ------- Additional comments from ernst Mon Apr 29 05:21:54 -0700 2002 -------

   ------- Additional comments from ernst Mon Apr 29 06:33:29 -0700 2002 -------

   ------- Additional comments from ernst Wed May 8 03:24:11 -0700 2002 -------
Review has been done by Andreas.

Change History (1)

comment:1 Changed 11 years ago by dlove

  • Resolution set to fixed
  • Severity set to minor
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.