[Pharo-project] Possible bug in FFI
Hello all, Long-time reader, first-time poster. Is FFI fully supported on Pharo? I installed into the 1.3 OneClick using Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfFFI'; load. ConfigurationOfFFI load. All seems fine but ExternalAddress gcallocate: 128 fails in ExternalAddress>>shallowCopy, complaining that clone is not understood. Bug? Not supported? Misused? Best, Nick Alexander -- View this message in context: http://forum.world.st/Possible-bug-in-FFI-tp4241299p4241299.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
On Thu, Dec 29, 2011 at 12:23 AM, ncalexan <ncalexander@gmail.com> wrote:
Hello all,
Long-time reader, first-time poster.
Hi and welcome :)
Is FFI fully supported on Pharo? I installed into the 1.3 OneClick using
Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfFFI'; load.
ConfigurationOfFFI load.
All seems fine but
ExternalAddress gcallocate: 128
fails in ExternalAddress>>shallowCopy, complaining that clone is not understood.
Bug? Not supported? Misused?
Indeed, it looks like a bug at least for pharo (where #clone was removed) ExternalAddress >> shallowCopy "Re-implemented to avoid superclass call to #new:" ^self clone But now sure what to replace it with. The method #clone used to be just the call to primitive 148, which is the same as shallowCopy. So I don't understand why we need to reimplement shallowCopy in ExternalAddress. "Re-implemented to avoid superclass call to #new:" since shallowCopy is a primitive, it would only send a message (like #new:) only if the primitive fails. So..I am lost.
Best, Nick Alexander
-- View this message in context: http://forum.world.st/Possible-bug-in-FFI-tp4241299p4241299.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
-- Mariano http://marianopeck.wordpress.com
Can you try simply removing the method? Stef On Dec 29, 2011, at 12:29 PM, Mariano Martinez Peck wrote:
On Thu, Dec 29, 2011 at 12:23 AM, ncalexan <ncalexander@gmail.com> wrote: Hello all,
Long-time reader, first-time poster.
Hi and welcome :)
Is FFI fully supported on Pharo? I installed into the 1.3 OneClick using
Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfFFI'; load.
ConfigurationOfFFI load.
All seems fine but
ExternalAddress gcallocate: 128
fails in ExternalAddress>>shallowCopy, complaining that clone is not understood.
Bug? Not supported? Misused?
Indeed, it looks like a bug at least for pharo (where #clone was removed)
ExternalAddress >> shallowCopy "Re-implemented to avoid superclass call to #new:" ^self clone
But now sure what to replace it with. The method #clone used to be just the call to primitive 148, which is the same as shallowCopy. So I don't understand why we need to reimplement shallowCopy in ExternalAddress. "Re-implemented to avoid superclass call to #new:" since shallowCopy is a primitive, it would only send a message (like #new:) only if the primitive fails. So..I am lost.
Best, Nick Alexander
-- View this message in context: http://forum.world.st/Possible-bug-in-FFI-tp4241299p4241299.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
-- Mariano http://marianopeck.wordpress.com
Temporarily I find it useful to forward Object>>#clone to invoke shallowCopy, as there are many other methods in some package including KlattSynthesizer.. That call this method Sudhakar krishnamachari Extn 91-40403012 Cell 9902104814 On Dec 29, 2011, at 7:21 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Can you try simply removing the method?
Stef On Dec 29, 2011, at 12:29 PM, Mariano Martinez Peck wrote:
On Thu, Dec 29, 2011 at 12:23 AM, ncalexan <ncalexander@gmail.com> wrote: Hello all,
Long-time reader, first-time poster.
Hi and welcome :)
Is FFI fully supported on Pharo? I installed into the 1.3 OneClick using
Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfFFI'; load.
ConfigurationOfFFI load.
All seems fine but
ExternalAddress gcallocate: 128
fails in ExternalAddress>>shallowCopy, complaining that clone is not understood.
Bug? Not supported? Misused?
Indeed, it looks like a bug at least for pharo (where #clone was removed)
ExternalAddress >> shallowCopy "Re-implemented to avoid superclass call to #new:" ^self clone
But now sure what to replace it with. The method #clone used to be just the call to primitive 148, which is the same as shallowCopy. So I don't understand why we need to reimplement shallowCopy in ExternalAddress. "Re-implemented to avoid superclass call to #new:" since shallowCopy is a primitive, it would only send a message (like #new:) only if the primitive fails. So..I am lost.
Best, Nick Alexander
-- View this message in context: http://forum.world.st/Possible-bug-in-FFI-tp4241299p4241299.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
-- Mariano http://marianopeck.wordpress.com
participants (4)
-
Krishsmalltalk -
Mariano Martinez Peck -
ncalexan -
Stéphane Ducasse