Mac VM source code (Croquet crash)
Josh Gargus
schwa at fastmail.us
Thu Jun 16 12:27:30 UTC 2005
Where can the source code for the Mac releases be found?
I'm crashing in Croquet with any VM I have that is newer than
3.7.5b3. This happens as soon as I open a TeapotMorph - bang! The
image disappears. The console logs the following error:
deprecated -- do not use -- and then delete me
104714468 TeapotMorph>render
104714284 [] in TeapotMorph>drawOn:
104714008 BlockContext>on:do:
104714100 [] in TeapotMorph>drawOn:
104713916 BlockContext>ensure:
104713704 [] in TeapotMorph>drawOn:
104713796 [] in BlockContext>newProcess
The 'deprecated -- do not use -- and then delete me' does not appear
in the image, so I assume that it's somewhere in the VM source code.
Any ideas?
Thanks,
Josh
On Jun 15, 2005, at 11:20 PM, John M McIntosh wrote:
> I've migrated the netscape plugin NPSqueak.bundle from 3.7.5b1 to
> 3.8.8b3.
>
> This change covers a lot of ground, however it should fix:
>
> a) crashes from time to time in draw logic
> b) faster updating and more CPU time to Squeak when it is busy.
> c) a million other things since 3.7.5b1 to 3.8.8b3 changes cover
> lots, see below.
>
> Find a beta version at
>
> http://homepage.mac.com/johnmci/FileSharing.html
>
> experimental:BrowserPlugin directory
> NPSqueak.bundle.zip
>
> You should unzip the plugin and replace the NPSqueak.bundle found in
> /Application/SqueakLand/Squeak/Internet/
>
> with the new version, then restart your browser and run some tests.
>
> 3.8.8b3 sqMacNSPlugin.c Alter screen updates to 60 per
> seconds, wait on each event for 15 milliseconds to give Squeak time
> to update screen.
>
> 3.8.8b2 Revisions to the 32/64bit memory access to
> improve VM performance
> sqMacEncoding.c, Fix bug reported by
> Stephan B. Wessels swessels at cox.net, crash on Tiger if squeak.image
> is in resource folder
> sqMacJoystickAndTablet.c More rewrites by Bert.
> sqPlatformSpecific.h Add undefs for
> dispatchFunctionPointer, dispatchFunctionPointerOnin
> sqMacUIAppleEvents.c Fix issue with window
> title not showing long image name on drag & drop image
> sqMacMain.c Fix issue with window
> title not showing long image name on image selection from dialog
> prompt.
> sqMacUnixCommandLineInterface.c New, enable
> command line functions and environment variables.
> -help print this help message,
> then exit -memory <size>[mk] use fixed heap
> size (added to image size)
> -pathenc <enc> set encoding for
> pathnames (default: UTF-8)
> or as environment variables
> SQUEAK_IMAGE, SQUEAK_MEMORY, SQUEAK_PATHENC
>
>
> 3.8.8b1 Not released to general public
> sqMacAsyncFilePrims.c (void*) for
> ioLoadFunction
> sqMacDragDrop.c (void*) for ioLoadFunction
> sqMacHostWindow.c (void*) for ioLoadFunction
> sqMacJoystickAndTablet.c minor changes
> sqMacSecurity.c (void*) for ioLoadFunction
> sqUnixSoundMacOSXJMM.c add static to var to
> avoid compiler warning
> sqMacExternalPrims.c (void*) for various
> module interfacing
> sqMacWindows.c (void*) for ioLoadFunction
>
>
> 3.8.7b7 Revised and altered os-x joystick support based
> on changes by Bert
> Move towards 32/64bit VM logic by using latest VM
> Maker
> sqMacExternalPrims.c (void *) usage
> sqMacFileLogic.c (void *) usage
>
> 3.8.7b6 Added Dominique Dutoit hitoro at easynet.be changes
> for os-x joystick support.
>
> 3.8.7b5 Fix logic to allow you to start VM from command
> line, changed
> sqMacFileLogic.c makeHFSFromPosixPath added to
> convert posix cmd line path names to HFS
> sqMacMain.c add logic to call cmd line parser
> sqMacUnixCommandLineInterface.c new file logic
> to parse cmd line
> sqMacUnixCommandLineInterface.h
> sqMacWindow.c minor changes to correct
> compiler errors
>
> 3.8.7b4/b3 Limited release for testing
>
> 3.8.7b2 sqUIEvents.c changed keyUp/keyDown to supply mac
> virtual keycode versus unicode, added new parm to keyChar to supply
> UTF-32 Unicode.
> As per Andreas request for Tweak.
>
> 3.8.7b1 sqUIEvents.c changed keyUp/keyDown logic to
> match Windows pattern, key repeat becomes keyDown/keyDown/keyUp
>
> 3.8.6b6 sqMacMIDI.c add #def so I can compile under code
> warrior os-9 again
> sqMacEncoding.c, sqMacEncoding.h Minor changes so
> I can compile user code warrior os-9 again
> sqMacUnixInterfaceSound.c Fix problem with empty
> buffer being full of junk under certain conditions, that causes a
> sharp sound bite.
>
> 3.8.6b5 Change to JMM & AR GC instrumentation patch,
> collect a few less statistics. Also change carbon VM to use Unix/
> Quartz sound driver
> which interfaces to Core Audio stuff.
>
> 3.8.6b4 Ensure VMMaker 3.8b2 - the VM code classes and
> tools for building a working vm for Squeak version > 3.8-6461. is
> incorporated.
> Add Andreas's GC improvement changes for
> * primitiveIsYoung: This answers the question
> whether an object currently lives in young or in old space.
>
> * primitiveIsRoot: Answers the question whether any
> given object is currently a root for young space.
>
> * primitiveRootTable: Answers a snapshot of the
> current root table. Useful to examine the roots table if the
> analysis requires complex other operations during which the root
> table might be modified itself. Note that since this primitive can
> cause GC there is a small chance that it will give an inaccurate
> answer.
>
> * primitiveRootTableAt: Answers a single element of
> the root table (by one-based index). This primitive can be used to
> quickly scan the root table for certain objects.
>
> * primitiveSetGCSemaphore: Indicates a semaphore
> (index) to be signaled whenever a garbage collection occurs. I can
> see at least two uses uses for the GC semaphore: running cleanup
> actions (for example after full GCs occured) and dynamic parameter
> tuning for the GC algorithm itself.
>
> Add John's changes for
>
> Smalltalk setGCBiasToGrowGCLimit: 16*1024*1024.
> "Set growth limit before full GC to 16MB"
>
> Smalltalk setGCBiasToGrow: 1.
> Set bias to grow upto GCLimit, this can avoid a
> problem where we attempt to avoid growing but results in thousands
> of incremental GC events as
> we approach a knee in a curve of space used versus
> the growth/compaction decision.
>
>
> 3.8.6b3 Add in logic for become: to fix issues with
> changes to become: logic.
>
> 3.8.6b2 sqMacWindow.c reduce number of lock/unlock
> pixel events and flush no more than 91 fps, with flush check every
> 1/50 or 1/60 and 1/5 of a second. this
> shaves another 50% off making drawing pixels 1.3%
> of the time originally taken.
>
> 3.8.6b1 sqMacWindow.c, sqUIEvents.c, changed logic to
> flush screen every 125 fps, this makes pixel level drawing complete
> in 2% of the time originally taken.
>
>
> 3.8.5b1 Fix issue with gnuify. The offical gnu header
> file used a different #ifdef for the foo register than an altered
> gnu header file I was using for
> many years. This resulted in slower performance,
> which is fixed in 3.8.5
> 3.8.4b3 Support for GC statistical data and change to
> how memory is allocated and tenured.
> Additional statistical information from the GC
> routines
> Additional primitives to set GC semaphore, and
> to force a tenure
>
> Change to make forward logic to look for "foo
> become: foo" and cause a prim failure.
> Earlier version of 3.8.4 where distributed to
> Ffenstri testers.
>
> sqMacHostWindow Change calls to move and
> size window to use GUILocker callbacks to avoid VM crash.
> sqMacWIndow.c Alter 1/2/4 bit support to
> pass in bit size of target window, then copy is more efficient.
>
>
> 3.8.3b3 Support for Host menus and windows. Also added
> back 1bit (B/W) and 2bit & 4bit color as requested by Dan Ingalls
> for os-x
>
> Earlier versions of 3.8.0/1/2/3 were distributed to
> the TK4 team, not the public.
>
> sq.h Added events, EventTypeMenu, EventTypeWindow
> to handle menu and window events generated by the Host OS
> and placed on the Squeak Event Queue to be read
> by EventSensor
>
> sqGnu.h Switch to the current file used by Ian for
> Unix, versus older modified copy.
> sqMacExternalPrims.c Cleanup of warning message
> sqMacImageIO.c When you set the image name,
> we set the title on window 1.
> sqMacMain.c Do not create the main
> window until we actually use it.
> sqMacNSPlugin.c Always refer to window 1,
> not sure what it means to have other windows in the plugin yet...
> sqMacUIEvents.c OS-9
> Pass cmd-key menu activity up
> Pass update event bounding box
> window events up
> Pass window activate events up
> Pass menu interaction activity up
> Pass window events,
> resize,zoom,close,move,inconize up
>
> OS-X
> Same as above
> getUIToLock needs to
> ReleaseEvent on the passed in event for GC reasons
> sqMacUIMenuBar.c disable edit menu at start,
> if later we find it enabled, don't touch, otherwise handle os-9 DA
> issues.
> sqmacWindow.c sqShowWindow now gets a
> windowIndex parm.
> ioShowDisplayOnWindow is added,
> with logic to build main window at first draw time,
> also fix some boundary checks,
> and provide support (again) for 1/2/4 bit color under os-x
> ioHasDisplayDepth() will return
> true for 1/2/4/8/16/32 bit color
>
>
>
> 3.7.5b3 OpenGL fix by Bert.
> Open Squeak3D.log in the currently directory, not
> the root volume, also ensured this works in os9.
>
> sqMacNSPlugin.c Alter memory check at startup to
> ensure we see all 512MB, not a default of 30MB
> sqMacUIMenuBar.c Don't hide menubar if squeak
> screen is full screen on secondary screen.
> sqMacWindow.c When you open in full screen mode,
> then revert, ensure the screen is resized rationally.
> Also remember screen size and
> location when going into full screen so revert is sane.
>
> --
> ======================================================================
> =====
> John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
> Corporate Smalltalk Consulting Ltd. http://
> www.smalltalkconsulting.com
> ======================================================================
> =====
>
>
>
More information about the Squeak-dev
mailing list
|