Objective: I'm trying to build the VM out of the box, nothing fancy. I want to use ALSA. Problem: I'm getting segfaults when playing any audio object (from the Objects>Multimedia panel)
I svn'd fresh source from the trunk, and followed the directions in README.SVN [1]. I then moved to unix subdir and made. Everything went fine, no errors and installed fine. Squeak seems to run fine.e.g. I exercised the network retrieving the Universe packages.
However, when I start up an image and pull out any of the audio objects, a segfault happens immediately:
Segmentation fault
17753728 [] in >playLoop 17753820 [] in Semaphore>critical: 17753544 BlockContext>ensure: 17753360 Semaphore>critical: 17720844 >playLoop 17720660 [] in >startPlayerProcessBufferSize:rate:stereo:sound: 17720752 [] in BlockContext>newProcess Aborted
I get the same segfault using a command option: $ squeak -vm sound=ALSA Squeak3.10.2-7179-basic.image
If I specify "none": $ squeak -vm sound=none Squeak3.10.2-7179-basic.image
then no segfault, and of course, no sounds.
the plugin does exist in the squeak directory: $ lsa /usr/local/lib/squeak/3.10-4 total 22540 4 drwxr-xr-x 2 root root 4096 2008-11-14 15:35 . 4 drwxr-xr-x 5 1000 1000 4096 2008-11-14 15:32 .. 28 -rwxr-xr-x 1 root root 26820 2008-11-14 15:32 AioPlugin 172 -rwxr-xr-x 1 root root 170451 2008-11-14 15:32 B3DAcceleratorPlugin 32 -rwxr-xr-x 1 root root 29332 2008-11-14 15:32 ClipboardExtendedPlugin 76 -rwxr-xr-x 1 root root 71250 2008-11-14 15:32 DBusPlugin 24 -rwxr-xr-x 1 root root 20934 2008-11-14 15:32 FileCopyPlugin 184 -rwxr-xr-x 1 root root 182395 2008-11-14 15:32 GStreamerPlugin 32 -rwxr-xr-x 1 root root 32161 2008-11-14 15:32 ImmX11Plugin 88 -rwxr-xr-x 1 root root 85971 2008-11-14 15:32 KedamaPlugin 140 -rwxr-xr-x 1 root root 138507 2008-11-14 15:32 KedamaPlugin2 44 -rwxr-xr-x 1 root root 44065 2008-11-14 15:32 MIDIPlugin 792 -rwxr-xr-x 1 root root 803221 2008-11-14 15:32 Mpeg3Plugin 24 -rwxr-xr-x 1 root root 23088 2008-11-14 15:32 npsqueak.so 36 -rwxr-xr-x 1 root root 36765 2008-11-14 15:32 PseudoTTYPlugin 144 -rwxr-xr-x 1 root root 142582 2008-11-14 15:32 RomePlugin 2472 -rwxr-xr-x 1 root root 2525072 2008-11-14 15:32 squeak 208 -rwxr-xr-x 1 root root 205337 2008-11-14 15:32 Squeak3D 17200 -rw-r--r-- 1 root root 17584742 2008-11-14 15:35 SqueakV39.sources 116 -rwxr-xr-x 1 root root 113755 2008-11-14 15:32 UnixOSProcessPlugin 20 -rwxr-xr-x 1 root root 17974 2008-11-14 15:32 UUIDPlugin 100 -rwxr-xr-x 1 root root 96184 2008-11-14 15:32 VideoForLinuxPlugin 112 -rwxr-xr-x 1 root root 110434 2008-11-14 15:32 vm-display-fbdev 28 -rwxr-xr-x 1 root root 26121 2008-11-14 15:32 vm-display-null 272 -rwxr-xr-x 1 root root 271778 2008-11-14 15:32 vm-display-X11 56 -rwxr-xr-x 1 root root 49985 2008-11-14 15:32 vm-sound-ALSA 20 -rwxr-xr-x 1 root root 16870 2008-11-14 15:32 vm-sound-null 84 -rwxr-xr-x 1 root root 79461 2008-11-14 15:32 vm-sound-OSS 28 -rwxr-xr-x 1 root root 25109 2008-11-14 15:32 XDisplayControlPlugin
I thought maybe it was because SoundPlugin was not there, but it's in: $ ls src/vm/intplugins/SoundPlugin SoundPlugin.c
and: $ cat src/plugins.int # Automatically generated makefile include for internal plugins INTERNAL_PLUGINS = ADPCMCodecPlugin AsynchFilePlugin BMPReadWriterPlugin B2DPlugin BitBltPlugin CroquetPlugin DSAPrims ZipPlugin DropPlugin FFTPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin Matrix2x3Plugin MiscPrimitivePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin StarSqueakPlugin SurfacePlugin
I assume it got built and is located internally in the vm proper.
Any ideas? I have a feeling I just missed something completely easy in the setup. Or, could this be because I'm running 64bit? Since everything else is working?
[1] the first instruction in README.SVN is incorrect. It should be: $ svn co http://squeakvm.org/svn/squeak/trunk squeak - .i.e. the path is a bit wrong. Perhaps I should write up a bug?
(should these types of messages go to the squeak-vm list? I long-ago unsubscribed to that since it had little traffic)
-- Brad Fuller
Here are some doIts that might help see what's going on:
SmalltalkImage current listBuiltinModules. SmalltalkImage current listLoadedModules.
Ken G. Brown
At 4:56 PM -0800 11/14/08, Brad Fuller apparently wrote:
Objective: I'm trying to build the VM out of the box, nothing fancy. I want to use ALSA. Problem: I'm getting segfaults when playing any audio object (from the Objects>Multimedia panel)
I svn'd fresh source from the trunk, and followed the directions in README.SVN [1]. I then moved to unix subdir and made. Everything went fine, no errors and installed fine. Squeak seems to run fine.e.g. I exercised the network retrieving the Universe packages.
However, when I start up an image and pull out any of the audio objects, a segfault happens immediately:
Segmentation fault
17753728 [] in >playLoop 17753820 [] in Semaphore>critical: 17753544 BlockContext>ensure: 17753360 Semaphore>critical: 17720844 >playLoop 17720660 [] in >startPlayerProcessBufferSize:rate:stereo:sound: 17720752 [] in BlockContext>newProcess Aborted
I get the same segfault using a command option: $ squeak -vm sound=ALSA Squeak3.10.2-7179-basic.image
If I specify "none": $ squeak -vm sound=none Squeak3.10.2-7179-basic.image
then no segfault, and of course, no sounds.
the plugin does exist in the squeak directory: $ lsa /usr/local/lib/squeak/3.10-4 total 22540 4 drwxr-xr-x 2 root root 4096 2008-11-14 15:35 . 4 drwxr-xr-x 5 1000 1000 4096 2008-11-14 15:32 .. 28 -rwxr-xr-x 1 root root 26820 2008-11-14 15:32 AioPlugin 172 -rwxr-xr-x 1 root root 170451 2008-11-14 15:32 B3DAcceleratorPlugin 32 -rwxr-xr-x 1 root root 29332 2008-11-14 15:32 ClipboardExtendedPlugin 76 -rwxr-xr-x 1 root root 71250 2008-11-14 15:32 DBusPlugin 24 -rwxr-xr-x 1 root root 20934 2008-11-14 15:32 FileCopyPlugin 184 -rwxr-xr-x 1 root root 182395 2008-11-14 15:32 GStreamerPlugin 32 -rwxr-xr-x 1 root root 32161 2008-11-14 15:32 ImmX11Plugin 88 -rwxr-xr-x 1 root root 85971 2008-11-14 15:32 KedamaPlugin 140 -rwxr-xr-x 1 root root 138507 2008-11-14 15:32 KedamaPlugin2 44 -rwxr-xr-x 1 root root 44065 2008-11-14 15:32 MIDIPlugin 792 -rwxr-xr-x 1 root root 803221 2008-11-14 15:32 Mpeg3Plugin 24 -rwxr-xr-x 1 root root 23088 2008-11-14 15:32 npsqueak.so 36 -rwxr-xr-x 1 root root 36765 2008-11-14 15:32 PseudoTTYPlugin 144 -rwxr-xr-x 1 root root 142582 2008-11-14 15:32 RomePlugin 2472 -rwxr-xr-x 1 root root 2525072 2008-11-14 15:32 squeak 208 -rwxr-xr-x 1 root root 205337 2008-11-14 15:32 Squeak3D 17200 -rw-r--r-- 1 root root 17584742 2008-11-14 15:35 SqueakV39.sources 116 -rwxr-xr-x 1 root root 113755 2008-11-14 15:32 UnixOSProcessPlugin 20 -rwxr-xr-x 1 root root 17974 2008-11-14 15:32 UUIDPlugin 100 -rwxr-xr-x 1 root root 96184 2008-11-14 15:32 VideoForLinuxPlugin 112 -rwxr-xr-x 1 root root 110434 2008-11-14 15:32 vm-display-fbdev 28 -rwxr-xr-x 1 root root 26121 2008-11-14 15:32 vm-display-null 272 -rwxr-xr-x 1 root root 271778 2008-11-14 15:32 vm-display-X11 56 -rwxr-xr-x 1 root root 49985 2008-11-14 15:32 vm-sound-ALSA 20 -rwxr-xr-x 1 root root 16870 2008-11-14 15:32 vm-sound-null 84 -rwxr-xr-x 1 root root 79461 2008-11-14 15:32 vm-sound-OSS 28 -rwxr-xr-x 1 root root 25109 2008-11-14 15:32 XDisplayControlPlugin
I thought maybe it was because SoundPlugin was not there, but it's in: $ ls src/vm/intplugins/SoundPlugin SoundPlugin.c
and: $ cat src/plugins.int # Automatically generated makefile include for internal plugins INTERNAL_PLUGINS = ADPCMCodecPlugin AsynchFilePlugin BMPReadWriterPlugin B2DPlugin BitBltPlugin CroquetPlugin DSAPrims ZipPlugin DropPlugin FFTPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin Matrix2x3Plugin MiscPrimitivePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin StarSqueakPlugin SurfacePlugin
I assume it got built and is located internally in the vm proper.
Any ideas? I have a feeling I just missed something completely easy in the setup. Or, could this be because I'm running 64bit? Since everything else is working?
[1] the first instruction in README.SVN is incorrect. It should be: $ svn co http://squeakvm.org/svn/squeak/trunk squeak - .i.e. the path is a bit wrong. Perhaps I should write up a bug?
(should these types of messages go to the squeak-vm list? I long-ago unsubscribed to that since it had little traffic)
-- Brad Fuller
vm-dev@lists.squeakfoundation.org