Opened 18 years ago

Closed 9 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
Cc:

Description

[Imported from gridengine issuezilla http://gridengine.sunsource.net/issues/show_bug.cgi?id=243]

        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
          URL:
       * Summary:     Memory leak in sge_schedd
   Status whiteboard:
      Attachments:

     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 -------
Started.

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

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

Change History (1)

comment:1 Changed 9 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.