[Vm-dev] Re: NULL pointer deref in fetching events?

John McIntosh johnmci at smalltalkconsulting.com
Fri May 20 18:50:22 UTC 2016


Ok, well not sure what is going on

ioProcessEvents->

sqInt ioProcessEvents(void) {

    aioPoll(0);

    if(ioProcessEventsHandler)

        ioProcessEventsHandler();  //84

    return 0;

}


where ioProcessEventsHandler is this


void nativeIoProcessEvents(void) {


//API Documented

    if ([[NSThread currentThread] isCancelled]) {

        gQuitNowRightNow = YES;

        ioExit();  //This might not return, might call exittoshell

    }


if ([getMainWindowDelegate() forceUpdateFlush]) {

[getMainWindowDelegate() ioForceDisplayUpdate];

}


if (interpreterProxy->methodPrimitiveIndex() == 0) {

[gDelegateApp.squeakApplication pumpRunLoopEventSendAndSignal:YES];

    } else {

[gDelegateApp.squeakApplication pumpRunLoop];

}

if (gQuitNowRightNow) {

ioExit();  //This might not return, might call exittoshell

}

}



But then we end up over in


/* The stackPointer is below the stackLimit. This is either because of a

stack overflow or the setting of stackLimit to indicate a possible

interrupt. Check for interrupts and stackOverflow and deal with each

appropriately. Answer if a context switch occurred. */


/* StackInterpreter>>#handleStackOverflowOrEventAllowContextSwitch: */

&

/* If contextSwitchIfNotNil is nil we can't context switch.

contextSwitchIfNotNil is set to nil by

- the special primitiveClosureValueNoContextSwitch entry-point in block

dispatch - the stack check in methods with primitive 198.

In a normal method contextSwitchIfNotNil will be the method (see e.g.

SimpleStackBasedCogit>>compileFrameBuild). In a block it will be the

closure (see e.g. SimpleStackBasedCogit>>compileMethodBody). */


/* CoInterpreter>>#ceStackOverflow: */




On Thu, May 19, 2016 at 4:39 PM, Eliot Miranda <eliot.miranda at gmail.com>
wrote:

> Process:         Squeak [2023]
> Path:            /Users/USER/*/CocoaFast.app/Contents/MacOS/Squeak
> Identifier:      org.squeak.Squeak$(VM_MONIKER)
> Version:         5.0.3721 (5.0.3721)
> Code Type:       X86 (Native)
> Parent Process:  launchd [186]
> Responsible:     Squeak [2023]
> User ID:         594
>
> Date/Time:       2016-05-19 16:37:13.900 -0700
> OS Version:      Mac OS X 10.9.5 (13F1808)
> Report Version:  11
> Anonymous UUID:  F54BABC9-4764-81AE-0375-EA1A9A4A38C2
>
>
> Crashed Thread:  0  Dispatch queue: com.apple.main-thread
>
> Exception Type:  EXC_BAD_ACCESS (SIGBUS)
> Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
>
> VM Regions Near 0:
> --> __PAGEZERO             0000000000000000-0000000000001000 [    4K]
> ---/--- SM=NUL  /Users/USER/*/CocoaFast.app/Contents/MacOS/Squeak
>     VM_ALLOCATE            0000000000001000-00000000000cf000 [  824K]
> ---/--- SM=NUL
>
> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> 0   com.apple.CoreFoundation       0x9821a95d CFRunLoopRunSpecific + 253
> 1   com.apple.CoreFoundation       0x9821a84b CFRunLoopRunInMode + 123
> 2   com.apple.Foundation           0x91c48559 -[NSRunLoop(NSRunLoop)
> runMode:beforeDate:] + 277
> 3   org.squeak.Squeak$(VM_MONIKER) 0x00145f70
> -[sqSqueakMainApplication(events) pumpRunLoop] + 99
> (sqSqueakMainApplication+events.m:69)
> 4   org.squeak.Squeak$(VM_MONIKER) 0x0013beb8
> -[sqSqueakOSXApplication(events) pumpRunLoop] + 50
> (sqSqueakOSXApplication+events.m:127)
> 5   org.squeak.Squeak$(VM_MONIKER) 0x00143c56 nativeIoProcessEvents + 208
> (sqSqueakEventsAPI.m:70)
> 6   org.squeak.Squeak$(VM_MONIKER) 0x00143caa ioProcessEvents + 35
> (sqSqueakEventsAPI.m:84)
> 7   org.squeak.Squeak$(VM_MONIKER) 0x000dc82a
> checkForEventsMayContextSwitch + 884 (gcc3x-cointerp.c:61595)
> 8   org.squeak.Squeak$(VM_MONIKER) 0x000dbaec
> handleStackOverflowOrEventAllowContextSwitch + 33 (gcc3x-cointerp.c:64780)
> 9   org.squeak.Squeak$(VM_MONIKER) 0x000dfb2e ceStackOverflow + 108
> (gcc3x-cointerp.c:11701)
> 10  ???                           0x055262c6 0 + 89285318
>
> _,,,^..^,,,_
> best, Eliot
>



-- 
===========================================================================
John M. McIntosh. Corporate Smalltalk Consulting Ltd
https://www.linkedin.com/in/smalltalk
===========================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160520/5b812f4b/attachment.htm


More information about the Vm-dev mailing list