bugGNUstep - Bugs: bug #4068, DO uses typed selector from local...

Group
 
 

bug #4068: DO uses typed selector from local instead of distant object.

Submitter:  Stefan Urbanek <stefanu>
Submitted:  Sun 22 Jun 2003 08:22:10 AM UTC
   
 
Category:  Base/Foundation Severity:  1 - Wish
Item Group:  Change Request Status:  Fixed
Privacy:  Public Assigned to:  ayers
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 23 May 2005 09:38:52 AM UTC, comment #7: 

This is related to #9382 and I'm still intending to clean it up.  Just not sure when I will get around to it.  I'll keep in closed though for now.

David Ayers <ayers>
Group Member
Thu 19 May 2005 11:22:11 PM UTC, comment #6: 

Closed as there was no follow up for two years.

Fred Kiefer <FredKiefer>
Group Member
Fri 04 Jul 2003 09:40:48 AM UTC, comment #5: 

The GNUstep extension to use information from the remote system should now be working for ffcall and ffi as well as the old mframe forwarding mechanism, at least inasmuch
as it ever makes sense ... if the types that the compiler was expecting in the client do not match the types in the server then it is of course impossible for the two to cooperate.

Richard Frith-Macdonald <CaS>
Group Member
Fri 04 Jul 2003 08:46:16 AM UTC, comment #4: 

After more investigation, it seems it may be possible to work around this problem, so the modification I suggested earlier to the runtime hook __objc_msg_forward is probably not actually needed :-)

Richard Frith-Macdonald <CaS>
Group Member
Fri 04 Jul 2003 05:58:39 AM UTC, comment #3: 

This is nothing to do with the DO system ... it's a feature of the message forwarding mechanism used (this comes before any DO code can be called). The ffcall and ffi based forwarding get type information from the local runtime.  Turning these off and using the old mframe code should do as a workaround.

I'm looking into trying to get ffcall and ffi to work, but this may require adding a new feature to the objc runtime.

Richard Frith-Macdonald <CaS>
Group Member
Sun 22 Jun 2003 09:49:19 AM UTC, comment #2: 

Problem is, that DO does not seem to fetch types from remote end, or fetches them and uses only on one place and there are still places in -base where local selector info is used.

I'm reffering to my previous email to the list:

http://mail.gnu.org/archive/html/gnustep-dev/2003-06/msg00018.html

Whole problem is described in that post.

If you would like to reproduce it, you have to get older version of StepTalk, because I have created a workaround for this bug.

Stefan Urbanek <stefanu>
Group Member
Sun 22 Jun 2003 09:17:05 AM UTC, comment #1: 

I'm not sure about this ... DO has to handle arguments both locally and remotely, so the argument types on both ends of the connection must match
Where there is no type information at the local end, DO fetches it from the remote end, so the simple assertion that DO uses the local runtime rather than the remote end is not the case.  I think we need more specific examples/testcases of exactly what the problem is.

I seem to recall an email conversation about an objc-runtime problem with selector types for forwarding.  Is this the same problem in a different guise?

Richard Frith-Macdonald <CaS>
Group Member
Sun 22 Jun 2003 08:22:10 AM UTC, original submission:  

Distributed Objects in -base uses information about typed selectors (for building method signatures and invocations) from local runtime instead of distant object. This is ugly behaviour and causes, for example, segfaults due to type mismatches or selector nonexistence.


Stefan Urbanek <stefanu>
Group Member

 

(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

 

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

Date Changed by Updated Field Previous Value => Replaced by
2005-05-23 ayers Assigned toNone ayers
2005-05-19 FredKiefer Open/ClosedIn Test Closed
2004-08-24 CaS Assigned toCaS None
2003-07-04 CaS StatusNone None
    Open/ClosedOpen None
2003-07-04 CaS Severity4 - Important None
    Item GroupBug None
    Assigned toNone None

Back to the top

Powered by Savane 3.13-02a9.
Corresponding source code