[Vm-dev] CameraPlugin segmentation fault on 64-bit Linux

Eliot Miranda eliot.miranda at gmail.com
Sun Apr 30 20:25:33 UTC 2017


How Daniel,

   second attempt to avoid autocorrect ...

> On Apr 29, 2017, at 9:08 AM, Daniel Drake <drake at endlessm.com> wrote:
> 
> 
> Hi Dave,
> 
>> On Sat, Apr 29, 2017 at 9:58 AM, David T. Lewis <lewis at mail.msen.com> wrote:
>> I don't think that the camera plugin was ever made 64-bit clean. A bug report
>> is at http://bugs.squeak.org/view.php?id=7816
>> 
>> This would be a good project for an interested volunteer :-)
> 
> I'm an interested volunteer, knowledgeable of 32 vs 64 bit challenges
> but with no squeak-vm experience. Can you briefly provide some
> direction of where to start here?

Hi Daniel,

this will get you started with building a tip VMMaker image:

http://www.mirandabanda.org/cogblog/build-image/

There is a glitch.  The scripts don't currently  download a vm for you but you can build your own in the context of the repository or you can download a vm from bintray or use the vm you're using now.  The script explains how to substitute a vm. 

There are workspaces in the image that describe how to generate sources.

If you look in the archives for the list you should find discussion of making sources 32-bit clean and using sqIntptr_t as the type for a parameter that takes a Smalltalk oop in both 32 and 64 bits.

It's likely that headers and support code that use int parameters have to be changed to use sqInt or sqIntptr_t, depending on whether they actually receive an oop or a pointer.  The issue being, as I'm sure you're aware, that Mac & Linux are LP64, whereas windows is LLP64.

> 
> Are there any other plugins that have previously been made 64-bit
> clean? (Maybe there is a similar example in svn history and I can find
> some direction from that.)

Yes.  If you build a 64-bit vm you can see the plugins that have been built.  As David said, many plugins had to have their glue code, typically defined in platforms/Cross/plugins/SomePlugin/SomePlugin.h, redefined to be usable in both 32 and 64 bits.  In the old days int was used for almost everything.  I think I'm correct in thinks my that we've rewritten all the used plugins.  

And welcome!  It's great to have another set of hands.  Thank you!

> 
> Thanks
> Daniel


_,,,^..^,,,_ (phone)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20170430/78c19e2a/attachment.html>


More information about the Vm-dev mailing list