bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: nobody
Subject: [bug #4068] DO uses typed selector from local instead of distant object.
Date: Fri, 04 Jul 2003 05:40:48 -0400
User-agent: Mozilla/4.5 (compatible; OmniWeb/4.2-v435.2; Mac_PowerPC)

=================== BUG #4068: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=4068&group_id=99

Changes by: Richard Frith-Macdonald <rfm@gnu.org>
Date: Fri 07/04/2003 at 09:40 (GMT)

            What     | Removed                   | Added
---------------------------------------------------------------------------
          Resolution | None                      | Fixed
              Status | Open                      | In Test


------------------ Additional Follow-up Comments ----------------------------
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.




=================== BUG #4068: FULL BUG SNAPSHOT ===================


Submitted by: stefanu                 Project: GNUstep                      
Submitted on: Sun 06/22/2003 at 08:22
Category:  Base/Foundation            Severity:  1 - Ordinary               
Bug Group:  Change Request            Resolution:  Fixed                    
Assigned to:  CaS                     Status:  In Test                      

Summary:  DO uses typed selector from local instead of distant object.

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.



Follow-up Comments
*******************

-------------------------------------------------------
Date: Fri 07/04/2003 at 09:40       By: CaS
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.


-------------------------------------------------------
Date: Fri 07/04/2003 at 08:46       By: CaS
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 :-)

-------------------------------------------------------
Date: Fri 07/04/2003 at 05:58       By: CaS
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.

-------------------------------------------------------
Date: Sun 06/22/2003 at 09:49       By: stefanu
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.


-------------------------------------------------------
Date: Sun 06/22/2003 at 09:17       By: CaS
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?



CC list is empty


No files currently attached


For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=4068&group_id=99

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]