bugGNUstep - Bugs: bug #39641, libobjc2 runtime_mutex lock leak...

Group
 
 

bug #39641: libobjc2 runtime_mutex lock leak in dtable.c

Submitter:  Nick Tuckett <ntuckett>
Submitted:  Thu 01 Aug 2013 11:18:29 AM UTC
   
 
Category:  Libraries Severity:  3 - Normal
Item Group:  Bug Status:  Ready For Test
Privacy:  Public Assigned to:  None
Open/Closed:  In Test
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 13 Dec 2013 03:14:24 PM UTC, comment #1: 

David did apply your patch, please test again.

Fred Kiefer <FredKiefer>
Group Member
Thu 01 Aug 2013 11:18:29 AM UTC, original submission:  

The latest version of this library (1.7) has a situation where a lock on the runtime_mutex can be leaked, eventually leading to blocked threads.

The following is a patch that fixes this:

--- a/dtable.c
+++ b/dtable.c
@@ -695,6 +695,7 @@ PRIVATE void objc_send_initialize(id object)
        if (objc_test_class_flag(class, objc_class_flag_initialized))
        {
                UNLOCK(&initialize_lock);
+        UNLOCK_RUNTIME();
                return;
        }
        BOOL skipMeta = objc_test_class_flag(meta, objc_class_flag_initialized);

Nick Tuckett <ntuckett>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by FredKiefer (Posted a comment)
  • -email is unavailable- added by ntuckett (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-12-13 FredKiefer StatusNone Ready For Test
        Open/ClosedOpen In Test

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code