bugGNUstep - Bugs: bug #8018, NSMutableDictionary...

Group
 
 

bug #8018: NSMutableDictionary writeToFile:atomically:

Submitter:  None
Submitted:  Fri 05 Mar 2004 12:06:16 PM UTC
   
 
Category:  Base/Foundation Severity:  3 - Normal
Item Group:  Bug Status:  Fixed
Privacy:  Public Assigned to:  CaS
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Sun 09 May 2004 08:11:38 PM UTC, comment #5: 

Adopted the status field to the resolution field.

Fred Kiefer <FredKiefer>
Group Member
Tue 16 Mar 2004 02:55:46 PM UTC, comment #4: 

Thank you. Do you think the latter one to be a libffi problem and that I should report them it ?

Anonymous
Mon 15 Mar 2004 06:05:39 PM UTC, comment #3: 

Fixed in CVS.
One problem was the use of -getObjects: to retrieve items to write to file ... which can't work with distributed objects.
Another problem appeared to happed with libffi and caching a method implementation ... I don't understand that one and simply altered the code
a little to avoid the cachign as a workaround ... not a proper solution as, as
far as I can see, the cacheing ought to work.

Richard Frith-Macdonald <CaS>
Group Member
Fri 05 Mar 2004 04:25:02 PM UTC, comment #2: 

More debugging revealed the problem is more generic: given a remote mutable dictionary, a [dict allKeys] call will fail by problems of the DO code.

Anonymous
Fri 05 Mar 2004 12:10:24 PM UTC, comment #1: 

my email is -email is unavailable-

Anonymous
Fri 05 Mar 2004 12:06:16 PM UTC, original submission:  

The problem is located when a Distant dictionary is an Object for a Key in a local dictionary and the local one has to be written to a file, no matter if atomically or not.
This causes a SIGSEGV on the process which registered the object trying to write.
It has been tested with gnustep-base 1.7.2, 1.9.0, 1.9.1, it is the same.
Tests have been performed with gcc 3.3.2 on i686 architecture.

In attacched files:
t3.m -> exports a dummyObj
t3c.m -> client, creates a dictionary and passes it as a parameter to t3-exported remote dummyObj.
dummy.h -> interface for 'dummyObj'
dummy.m -> implementation for 'dummyObj': creates a 1 unit dictionary containing the passed dictionary and writes it to file.

Possible (failed) workarounds are commented in dummy.m
On NeXT Runtime the same code runs perfectly.

Anonymous

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #1110:  dummy.h added by None (114B - application/octet-stream - dummy header)
file #1109:  dummy.m added by None (735B - application/octet-stream - dummyobj)
file #1108:  t3c.m added by None (481B - application/octet-stream - client)
file #1107:  t3.m added by None (371B - application/octet-stream - server)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

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 7 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2004-05-09 FredKiefer Open/ClosedOpen Closed
2004-03-15 CaS StatusNone Fixed
    Assigned toNone CaS
2004-03-05 None Attached File- Added dummy.h, #1091
2004-03-05 None Attached File- Added dummy.m, #1090
2004-03-05 None Attached File- Added t3c.m, #1089
2004-03-05 None Attached File- Added t3.m, #1088

Back to the top

Powered by Savane 3.13-02a9.
Corresponding source code