bugGNUstep - Bugs: bug #6743, Distinct NSNumbers with the same...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #6743: Distinct NSNumbers with the same value dealloc each other

Submitted by:  Invalid User ID <Invalid User ID>
Submitted on:  Tue 25 Nov 2003 03:06:21 AM UTC  
 
Category: Base/FoundationSeverity: 3 - Normal
Item Group: BugStatus: None
Privacy: PublicAssigned to: None
Open/Closed: Closed

(Jump to the original submission Jump to the original submission)

Sun 30 Nov 2003 09:08:07 AM UTC, comment #7:

Code in cvs modified to raise an exception if a cached small number is deallocated ... more user friendly than crashing on attempting to reference a deallocated object where user code has released a number it doesn't own.

Richard Frith-Macdonald <CaS>
Project Member
Tue 25 Nov 2003 09:52:14 PM UTC, comment #6:

[NSNumber +numberWithLong:] returns an autoreleased object, not an object you own. You might want to read http://www.stepwise.com/Articles/Technical/HoldMe.html .

Alexander Malmberg <alexm>
Project Member
Tue 25 Nov 2003 11:09:48 AM UTC, comment #5:

Yes, that would be very good.

David Ayers <ayers>
Project Member
Tue 25 Nov 2003 10:40:53 AM UTC, comment #4:

What I was thinking of was making the cached numbers members of some new subclass where -dealloc had been overridden to raise an exception. So there would be no runtime overhead on dealloc of a non-cached number.

Richard Frith-Macdonald <CaS>
Project Member
Tue 25 Nov 2003 10:17:35 AM UTC, comment #3:

In principal I agree, but it depends on the cost. I'm not sure how much the hit would be, but expect numbers to be created and destroyed often in GDL2 based applications. So if each dealloc resulted in a hash look up... well, depending on the implementation, I guess we may need to test it.

David Ayers <ayers>
Project Member
Tue 25 Nov 2003 08:00:09 AM UTC, comment #2:

I think raising an exception upon an attempt to deallocate a cached NSNumber would be a nice feature.

Richard Frith-Macdonald <CaS>
Project Member
Tue 25 Nov 2003 06:24:42 AM UTC, comment #1:

There is a bug in the test program ... it releases an object it does not own, so a crash does not seem unreasonable (in the general case releasing objects you don't own is bound to cause crashes).

Is the report a suggestion that the library should be changed to crash elsewhere, or to have code added to watch for this case and raise an exception or something similar, or perhaps to simply ignore the extra release and keep on going?

Richard Frith-Macdonald <CaS>
Project Member

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follows 1 latest change.

Date Changed By Updated Field Previous Value => Replaced By
Sun 30 Nov 2003 09:08:07 AM UTCCaSOpen/ClosedOpen=>Closed

Back to the top


Powered by Savane 3.1-cleanup1