[BUG]Squeak VM mac 3.8.18beta1U

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[BUG]Squeak VM mac 3.8.18beta1U

Karl-19
When I hit the record button in RecordingControlMorph two times after
each other, the image just disappears, no debug log.

I have no mic on the machine.

I'm on mac os x 10.3.9


Karl

Reply | Threaded
Open this post in threaded view
|

Re: [BUG]Squeak VM mac 3.8.18beta1U

Tom Phoenix
On 9/22/07, Karl <[hidden email]> wrote:

> When I hit the record button in RecordingControlMorph two times after
> each other, the image just disappears, no debug log.

Since you're using Mac OS X, you may be able to find some log
information by using the Console application, which should be found in
the Utilities folder in the Applications folder. Console should have
something to say about any program that abruptly exits; although
that's not much consolation, I'm sure that's why they call it
Console.... In any case, the preferences for Console should have a
setting to ask it to alert you when there's a new log entry, which
means it can pop up after every crash.

It may also be helpful to know what primitive crashed the VM. I can't
reproduce this on my machine, but it looks as if that button sends
#record to the RecordingControlMorph. Can you use the debugger to step
through the code to find the crashing method? Open an inspector on the
RecordingControlMorph, type "self record; record" into the lower pane,
and choose "Debug it" from the yellow-button menu.

Good luck with it!

--Tom Phoenix

Reply | Threaded
Open this post in threaded view
|

Re: [BUG]Squeak VM mac 3.8.18beta1U

Karl-19
Tom Phoenix wrote:

> On 9/22/07, Karl <[hidden email]> wrote:
>
>  
>> When I hit the record button in RecordingControlMorph two times after
>> each other, the image just disappears, no debug log.
>>    
>
> Since you're using Mac OS X, you may be able to find some log
> information by using the Console application, which should be found in
> the Utilities folder in the Applications folder. Console should have
> something to say about any program that abruptly exits; although
> that's not much consolation, I'm sure that's why they call it
> Console.... In any case, the preferences for Console should have a
> setting to ask it to alert you when there's a new log entry, which
> means it can pop up after every crash.
>
> It may also be helpful to know what primitive crashed the VM. I can't
> reproduce this on my machine, but it looks as if that button sends
> #record to the RecordingControlMorph. Can you use the debugger to step
> through the code to find the crashing method? Open an inspector on the
> RecordingControlMorph, type "self record; record" into the lower pane,
> and choose "Debug it" from the yellow-button menu.
>
> Good luck with it!
>
> --Tom Phoenix
>
>
>  
I found this:

*** malloc_zone_malloc[463]: argument too large: 4294967280

/Users/johnmci/Documents/Squeak3.8.0/platforms/Mac
OS/plugins/SoundPlugin/sqUnixSoundMacOSXJMM.c:599: failed assertion `s
&& s->buffer'

Karl

Reply | Threaded
Open this post in threaded view
|

Re: [BUG]Squeak VM mac 3.8.18beta1U

Bert Freudenberg
On Sep 22, 2007, at 18:45 , Karl wrote:

> Tom Phoenix wrote:
>> On 9/22/07, Karl <[hidden email]> wrote:
>>
>>
>>> When I hit the record button in RecordingControlMorph two times  
>>> after
>>> each other, the image just disappears, no debug log.
>>>
>>
>> Since you're using Mac OS X, you may be able to find some log
>> information by using the Console application, which should be  
>> found in
>> the Utilities folder in the Applications folder. Console should have
>> something to say about any program that abruptly exits; although
>> that's not much consolation, I'm sure that's why they call it
>> Console.... In any case, the preferences for Console should have a
>> setting to ask it to alert you when there's a new log entry, which
>> means it can pop up after every crash.
>>
>> It may also be helpful to know what primitive crashed the VM. I can't
>> reproduce this on my machine, but it looks as if that button sends
>> #record to the RecordingControlMorph. Can you use the debugger to  
>> step
>> through the code to find the crashing method? Open an inspector on  
>> the
>> RecordingControlMorph, type "self record; record" into the lower  
>> pane,
>> and choose "Debug it" from the yellow-button menu.
>>
>> Good luck with it!
>>
>> --Tom Phoenix
>>
>>
>>
> I found this:
>
> *** malloc_zone_malloc[463]: argument too large: 4294967280
>
> /Users/johnmci/Documents/Squeak3.8.0/platforms/Mac OS/plugins/
> SoundPlugin/sqUnixSoundMacOSXJMM.c:599: failed assertion `s && s-
> >buffer'

Hmm, I'm still on 3.8.17b5 and it works fine there.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [BUG]Squeak VM mac 3.8.18beta1U

Karl-19
Bert Freudenberg wrote:

> On Sep 22, 2007, at 18:45 , Karl wrote:
>
>> Tom Phoenix wrote:
>>> On 9/22/07, Karl <[hidden email]> wrote:
>>>
>>>
>>>> When I hit the record button in RecordingControlMorph two times after
>>>> each other, the image just disappears, no debug log.
>>>>
>>>
>>> Since you're using Mac OS X, you may be able to find some log
>>> information by using the Console application, which should be found in
>>> the Utilities folder in the Applications folder. Console should have
>>> something to say about any program that abruptly exits; although
>>> that's not much consolation, I'm sure that's why they call it
>>> Console.... In any case, the preferences for Console should have a
>>> setting to ask it to alert you when there's a new log entry, which
>>> means it can pop up after every crash.
>>>
>>> It may also be helpful to know what primitive crashed the VM. I can't
>>> reproduce this on my machine, but it looks as if that button sends
>>> #record to the RecordingControlMorph. Can you use the debugger to step
>>> through the code to find the crashing method? Open an inspector on the
>>> RecordingControlMorph, type "self record; record" into the lower pane,
>>> and choose "Debug it" from the yellow-button menu.
>>>
>>> Good luck with it!
>>>
>>> --Tom Phoenix
>>>
>>>
>>>
>> I found this:
>>
>> *** malloc_zone_malloc[463]: argument too large: 4294967280
>>
>> /Users/johnmci/Documents/Squeak3.8.0/platforms/Mac
>> OS/plugins/SoundPlugin/sqUnixSoundMacOSXJMM.c:599: failed assertion
>> `s && s->buffer'
>
> Hmm, I'm still on 3.8.17b5 and it works fine there.
>
> - Bert -
>
>
Which Mac OS X version ?

Karl



Reply | Threaded
Open this post in threaded view
|

Re: [BUG]Squeak VM mac 3.8.18beta1U

Bert Freudenberg

On Sep 22, 2007, at 21:20 , karl wrote:

> Bert Freudenberg wrote:
>> On Sep 22, 2007, at 18:45 , Karl wrote:
>>
>>> Tom Phoenix wrote:
>>>> On 9/22/07, Karl <[hidden email]> wrote:
>>>>
>>>>
>>>>> When I hit the record button in RecordingControlMorph two times  
>>>>> after
>>>>> each other, the image just disappears, no debug log.
>>>>>
>>>>
>>>> Since you're using Mac OS X, you may be able to find some log
>>>> information by using the Console application, which should be  
>>>> found in
>>>> the Utilities folder in the Applications folder. Console should  
>>>> have
>>>> something to say about any program that abruptly exits; although
>>>> that's not much consolation, I'm sure that's why they call it
>>>> Console.... In any case, the preferences for Console should have a
>>>> setting to ask it to alert you when there's a new log entry, which
>>>> means it can pop up after every crash.
>>>>
>>>> It may also be helpful to know what primitive crashed the VM. I  
>>>> can't
>>>> reproduce this on my machine, but it looks as if that button sends
>>>> #record to the RecordingControlMorph. Can you use the debugger  
>>>> to step
>>>> through the code to find the crashing method? Open an inspector  
>>>> on the
>>>> RecordingControlMorph, type "self record; record" into the lower  
>>>> pane,
>>>> and choose "Debug it" from the yellow-button menu.
>>>>
>>>> Good luck with it!
>>>>
>>>> --Tom Phoenix
>>>>
>>>>
>>>>
>>> I found this:
>>>
>>> *** malloc_zone_malloc[463]: argument too large: 4294967280
>>>
>>> /Users/johnmci/Documents/Squeak3.8.0/platforms/Mac OS/plugins/
>>> SoundPlugin/sqUnixSoundMacOSXJMM.c:599: failed assertion `s && s-
>>> >buffer'
>>
>> Hmm, I'm still on 3.8.17b5 and it works fine there.
>>
>> - Bert -
>>
>>
> Which Mac OS X version ?

10.4.10

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [BUG]Squeak VM mac 3.8.18beta1U

johnmci
Ah, that would be this routine below (see the assert)

// deallocate a Stream.
//
  void Stream_delete(Stream *s);
void Stream_delete(Stream *s)
{
   assert(s && s->buffer);
   Buffer_delete(s->buffer);
   dprintf("stream %p[%d] deleted\n", s, s->direction);
   free(s);
}

That is called either via

// shut down sound output.
//
  int sound_Stop(void);
  int sound_Stop(void)
{
   dprintf("snd_Stop\n");

   if (output)
     {
       Stream_stop(output);
       Stream_delete(output);
       output= 0;
     }
   return 1;
}

or

  int sound_Start(int frameCount, int samplesPerSec, int stereo, int  
semaIndex);
  int sound_Start(int frameCount, int samplesPerSec, int stereo, int  
semaIndex)
{
   Stream *s= 0;

   dprintf("snd_Start frames: %d samplesPerSec: %d stereo: %d  
semaIndex: %d\n",
           frameCount, samplesPerSec, stereo, semaIndex);

   if (output) // there might be a change of sample rate
     sound_Stop();

   if ((s= Stream_new(0))) // 0utput
     {
       if ((  Stream_setFormat(s, frameCount, samplesPerSec, stereo))
          && Stream_startSema(s, semaIndex))
        {
          output= s;
          return 1;
        }
       Stream_delete(s);
     }
   return primitiveFail();
}


It's possible the

>>> *** malloc_zone_malloc[463]: argument too large: 4294967280

is a clue, I'd check input into the sound primitives...

mmm
Buffer *Buffer_new(int size)
{
   Buffer *b= (Buffer *)malloc(sizeof(Buffer));
   if (!b)
     return 0;

perhaps that malloc failed?

I'll note the buffer is calculated from calling
  int sound_Start(int frameCount, int samplesPerSec, int stereo, int  
semaIndex)



On Sep 22, 2007, at 2:02 PM, Bert Freudenberg wrote:

>>>> s && s->buffer

--
========================================================================
===
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===