[squeak-dev] Building (Linux) VM - with segfaults. that point to audio

Brad Fuller bradallenfuller at gmail.com
Tue Nov 18 16:25:54 UTC 2008


On Tue, Nov 18, 2008 at 7:29 AM, José Luis Redrejo <jredrejo at gmail.com> wrote:
> Brad, a silly question: are you using a 64 bits linux? I'm asking because
> your symptoms are exactly as those of
> http://bugs.squeak.org/view.php?id=7103

Not a silly question, I mentioned that I'm using 64bits in my original
message. Thanks for the confirmation.
I've traced the problem to these two lines in this function:

==
static sqInt  sound_PlaySamplesFromAtLength(sqInt frameCount, sqInt
arrayIndex, sqInt startIndex)
{
 if (output_handle)
   {
     void *samples= (void *)arrayIndex + startIndex * output_channels * 2;
     int   count=   snd_pcm_writei(output_handle, samples, frameCount);
==

I have to recompile to optimize out  to see what's going on (thought I
did that). But, maybe someone could understand the problem by just
looking at this.Maybe it's an int size, or similar, problem.

sqMemoryAccess.h defines:

#if defined(SQ_IMAGE32)
 typedef int sqInt;
 typedef unsigned int usqInt;
#elif defined(SQ_HOST64)
 typedef long sqInt;
 typedef unsigned long usqInt;
#else
# if (SIZEOF_LONG_LONG != 8)
#   error long long integers are not 64-bits wide?
# endif
 typedef long long sqInt;
 typedef unsigned long long usqInt;
#endif

--
Brad Fuller


More information about the Squeak-dev mailing list