<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>But if I do SoundPlayer primGetDefaultSoundPlayer the VM segfaults. It not the newest VM.</div><div><br></div><div><br></div><div><br></div><div>Segmentation fault Sun Jan 27 14:42:11 2019<br><br><br>/home/karl/Squeak5.3/bin/squeak<br>Squeak VM version: 5.0-201810190412  Sat Oct 20 08:15:47 UTC 2018 gcc 4.8 [Production Spur 64-bit VM]<br>Built from: CoInterpreter VMMaker.oscog-eem.2461 uuid: b3cd33f5-6309-43a1-b669-7a1805111f34 Oct 20 2018<br>With: StackToRegisterMappingCogit VMMaker.oscog-eem.2464 uuid: 0b1fa0a3-a781-4fd5-b1cf-1809796ccbbf Oct 20 2018<br>Revision: VM: 201810190412 <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm.git">https://github.com/OpenSmalltalk/opensmalltalk-vm.git</a><br>Date: Thu Oct 18 21:12:21 2018 CommitHash: 15341b57<br>Plugins: 201810190412 <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm.git">https://github.com/OpenSmalltalk/opensmalltalk-vm.git</a><br>Build host: Linux travis-job-7e855ac8-57b9-4f6f-bf30-fd6e0ad67398 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux<br>plugin path: /home/karl/Squeak5.3/bin/ [default: /home/karl/Squeak5.3/bin/]<br><br><br>C stack backtrace & registers:<br>    rax 0xba4a0580 rbx 0xba4a0410 rcx 0xba4a0638 rdx 0xba4a04c8<br>    rdi 0xba4a01e8 rsi 0xba4a01e8 rbp 0xba4a0358 rsp 0xba4a06f0<br>    r8  0xba49fc28 r9  0xba49fce0 r10 0xba49fd98 r11 0xba49fe50<br>    r12 0xba49ff08 r13 0xba49ffc0 r14 0xba4a0078 r15 0xba4a0130<br>    rip 0xba4a07a8<br>*[0x7ffdba4a07a8]<br>/home/karl/Squeak5.3/bin/squeak[0x41b767]<br>/home/karl/Squeak5.3/bin/squeak[0x41d1ee]<br>/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7f7d0e567890]<br>/lib/x86_64-linux-gnu/libc.so.6(+0xb16b4)[0x7f7d0e2156b4]<br>/home/karl/Squeak5.3/bin/squeak[0x528373]<br>/home/karl/Squeak5.3/bin/squeak[0x458e94]<br>/home/karl/Squeak5.3/bin/squeak[0x45a4fb]<br>/home/karl/Squeak5.3/bin/squeak(ceSendsupertonumArgs+0x289)[0x45cb59]<br>[0x16000bb]<br>[0x0]<br><br><br>Smalltalk stack dump:<br>    0x7ffdba4affc0 M UndefinedObject>DoIt 0x1fe78e0: a(n) UndefinedObject<br>    0x7ffdba4b0018 I Compiler>evaluateCue:ifFail: 0x1c42888: a(n) Compiler<br>    0x7ffdba4b0070 I Compiler>evaluateCue:ifFail:logged: 0x1c42888: a(n) Compiler<br>    0x7ffdba4b00c8 I Compiler>evaluate:in:to:environment:notifying:ifFail:logged: 0x1c42888: a(n) Compiler<br>    0x7ffdba4bfbc8 M [] in SmalltalkEditor(TextEditor)>evaluateSelectionAndDo: 0x4e28178: a(n) SmalltalkEditor<br>    0x7ffdba4bfc00 M BlockClosure>on:do: 0x1c42838: a(n) BlockClosure<br>    0x7ffdba4bfc68 I SmalltalkEditor(TextEditor)>evaluateSelectionAndDo: 0x4e28178: a(n) SmalltalkEditor<br>    0x7ffdba4bfcb0 I SmalltalkEditor(TextEditor)>printIt 0x4e28178: a(n) SmalltalkEditor<br>    0x7ffdba4bfce0 M SmalltalkEditor(TextEditor)>printIt: 0x4e28178: a(n) SmalltalkEditor<br>    0x7ffdba4bfd28 M SmalltalkEditor(TextEditor)>dispatchOnKeyboardEvent: 0x4e28178: a(n) SmalltalkEditor<br>    0x7ffdba4bfd60 M SmalltalkEditor(TextEditor)>keyStroke: 0x4e28178: a(n) SmalltalkEditor<br>    0x7ffdba4bfda0 M [] in TextMorphForEditView(TextMorph)>keyStroke: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4bfde8 M TextMorphForEditView(TextMorph)>handleInteraction:fromEvent: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4bfe28 M TextMorphForEditView>handleInteraction:fromEvent: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4bfe78 M [] in TextMorphForEditView(TextMorph)>keyStroke: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4bfea8 M StandardToolSet class>codeCompletionAround:textMorph:keyStroke: 0x23c1a20: a(n) StandardToolSet class<br>    0x7ffdba4bfef0 M ToolSet class>codeCompletionAround:textMorph:keyStroke: 0x23ba028: a(n) ToolSet class<br>    0x7ffdba4bff38 M TextMorphForEditView(TextMorph)>keyStroke: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4bff78 M TextMorphForEditView>keyStroke: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4bffb8 M TextMorphForEditView(Morph)>handleKeystroke: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4bfff8 M TextMorphForEditView(TextMorph)>handleKeystroke: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4c0030 M KeyboardEvent>sentTo: 0x1c3e7c8: a(n) KeyboardEvent<br>    0x7ffdba4c0070 M TextMorphForEditView(Morph)>handleEvent: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4c00a8 M TextMorphForEditView(Morph)>handleFocusEvent: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4c00f0 M MorphicEventDispatcher>doHandlingForFocusEvent:with: 0x1c3d5b8: a(n) MorphicEventDispatcher<br>    0x7ffdba4b1af8 M MorphicEventDispatcher>dispatchFocusEvent:with: 0x1c3d5b8: a(n) MorphicEventDispatcher<br>    0x7ffdba4b1b38 M TextMorphForEditView(Morph)>processFocusEvent:using: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4b1b78 M TextMorphForEditView(Morph)>processFocusEvent: 0x47860d0: a(n) TextMorphForEditView<br>    0x7ffdba4b1bc8 M [] in HandMorph>sendFocusEvent:to:clear: 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1c08 M BlockClosure>ensure: 0x1c3d4a0: a(n) BlockClosure<br>    0x7ffdba4b1c48 M KeyboardEvent(MorphicEvent)>becomeActiveDuring: 0x1c3cce8: a(n) KeyboardEvent<br>    0x7ffdba4b1c98 M [] in HandMorph>sendFocusEvent:to:clear: 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1cd8 M BlockClosure>ensure: 0x1c3d2d0: a(n) BlockClosure<br>    0x7ffdba4b1d18 M HandMorph>becomeActiveDuring: 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1d68 M [] in HandMorph>sendFocusEvent:to:clear: 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1da8 M BlockClosure>ensure: 0x1c3d100: a(n) BlockClosure<br>    0x7ffdba4b1de8 M PasteUpMorph>becomeActiveDuring: 0x24a5640: a(n) PasteUpMorph<br>    0x7ffdba4b1e30 M HandMorph>sendFocusEvent:to:clear: 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1e88 M HandMorph>sendEvent:focus:clear: 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1ed0 M HandMorph>sendKeyboardEvent: 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1f10 M HandMorph>handleEvent: 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1f68 M HandMorph>processEvents 0x2777490: a(n) HandMorph<br>    0x7ffdba4b1fa0 M [] in WorldState>doOneCycleNowFor: 0x269f738: a(n) WorldState<br>    0x7ffdba4b1fe8 M Array(SequenceableCollection)>do: 0x200c708: a(n) Array<br>    0x7ffdba4b2020 M WorldState>handsDo: 0x269f738: a(n) WorldState<br>    0x7ffdba4b2060 M WorldState>doOneCycleNowFor: 0x269f738: a(n) WorldState<br>    0x7ffdba4b2098 M WorldState>doOneCycleFor: 0x269f738: a(n) WorldState<br>    0x7ffdba4b20d0 M PasteUpMorph>doOneCycle 0x24a5640: a(n) PasteUpMorph<br>    0x7ffdba4b2100 M [] in MorphicProject>spawnNewProcess 0x28b2df8: a(n) MorphicProject<br>         0x4e313f0 s [] in BlockClosure>newProcess<br><br>Most recent primitives<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:put:<br>at:put:<br>value:<br>value:<br>-<br>-<br>-<br>newFrom:<br>newFrom:<br>value<br>at:<br>at:<br>buildTreeFrom:maxDepth:<br>buildTreeFrom:maxDepth:<br>buildTreeFrom:maxDepth:<br>basicNew<br>basicNew<br>//<br>//<br>second<br>second<br>initialize<br>initialize<br>initialize<br>initialize<br>replaceFrom:to:with:startingAt:<br>replaceFrom:to:with:startingAt:<br>size<br>at:<br>size<br>at:<br>at:<br>at:put:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>value<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>bitLengthAt:<br>bitLengthAt:<br>bitLengthAt:<br>maxCode<br>maxCode<br>maxCode<br>maxCode<br>maxCode<br>maxCode<br>maxCode<br>maxCode<br>maxCode<br>maxCode<br>maxCode<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>value:value:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>at:<br>bitPosition<br>bitPosition<br>bitPosition<br>on:from:to:<br>on:from:to:<br>at:<br>nextBits:put:<br>nextBits:put:<br>nextBits:put:<br>byteAt:put:<br>byteAt:put:<br>nextBytePut:<br>bitXor:<br>replaceFrom:to:with:startingAt:<br>encodeLengthField:<br>value<br>value<br>size<br>size<br>size<br>size<br>basicNew<br>perform:<br>size<br>newMethod:header:<br>size<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>objectAt:put:<br>objectAt:put:<br>objectAt:put:<br>objectAt:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>at:<br>at:put:<br>basicNew<br>withArgs:executeMethod:<br>primGetDefaultSoundPlayer<br><br>stack page bytes 8192 available headroom 5576 minimum unused headroom 6032<br><br>    (Segmentation fault)<br>Aborted (core dumped)<br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 27, 2019 at 2:41 PM karl ramberg <<a href="mailto:karlramberg@gmail.com">karlramberg@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Sound on Linux seem to be a mess.</div><div>I'm on Ubuntu 18.04 and had no sound from Squeak.</div><div>I got this error in the terminal: dev/dsp: No such file or directory</div><div>I installed package osspd and that seem to solve the problem.<br></div><div>(sudo apt-get install osspd)</div><div><br></div><div>Best,</div><div>Karl</div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail-m_2329227642384710344gmail_attr">On Sat, Jan 26, 2019 at 12:18 AM Tobias Pape <<a href="mailto:notifications@github.com" target="_blank">notifications@github.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>

> On 25.01.2019, at 23:32, Eliot Miranda <<a href="mailto:notifications@github.com" target="_blank">notifications@github.com</a>> wrote:<br>

> <br>

> Hi Tobias,<br>

> <br>

> On Fri, Jan 25, 2019 at 2:27 PM Tobias Pape <<a href="mailto:notifications@github.com" target="_blank">notifications@github.com</a>><br>

> wrote:<br>

> <br>

> > That's besides the point here.<br>

> ><br>

> > The plugin would not have been built if the library was not present.<br>

> > That's what the configure step is for.<br>

> > The VM is origrinally from a travis and I made sure the lib is there:<br>

> > <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/scripts/ci/travis_install.sh#L15" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/scripts/ci/travis_install.sh#L15</a><br>

> > (thats the dev lib that depends on the real one:<br>

> > <a href="https://packages.ubuntu.com/xenial/libpulse-dev" target="_blank">https://packages.ubuntu.com/xenial/libpulse-dev</a>)<br>

> ><br>

> <br>

> So how come it isn't linked against libpulse-simple.so ?<br>

<br>

I have not the slightest idea and, atm, no linux at hand.<br>

We (ie, maybe, @ekrebs5 or @fniephaus) have to look wether this stems from here or <a href="https://github.com/squeak-smalltalk/squeak-app" target="_blank">https://github.com/squeak-smalltalk/squeak-app</a> .<br>

On macOS we have rpath issues that can come out like this and might be sensitive to be moved around…<br>

<br>

Here we see that the lib is added in configure:<br>

<a href="https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/jobs/483526374#L1071" target="_blank">https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/jobs/483526374#L1071</a><br>

<br>

And here we see that the squeak _binary_ is actually linked agains libpulse-simple:<br>

<br>

<a href="https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/jobs/483526374#L3455" target="_blank">https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/jobs/483526374#L3455</a><br>

<br>

That is ok, since the dynloaded vm-sound-pulse can lookup in its loading process, which (being squeak being linked against libpulse-simple) should have the syms.<br>

<br>

Accordingly we see the plugin not begin linked against the lib:<br>

<a href="https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/jobs/483526374#L4111" target="_blank">https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/jobs/483526374#L4111</a><br>

<br>

The rest is libtool chitter-chat that i cannot understand so quick…<br>

<br>

> <br>

> > All of the respecitve sound plugins are optional, and absence is expected.<br>

> ><br>

> <br>

> Not for a build slave, surely. Shouldn't;t the build slave build all<br>

> possible variants? If we're providing prebuilt VMs (for good reason) then<br>

> we have to build what we support. Things like vm-display-fbdev may be<br>

> something we can not support and leave to individuals to build if they want<br>

> to. But vm-sound-pulse is not in that category.<br>

<br>

Did not say that. all the vm-*-* plugins seem to care for optionality. and IIRC it is nigh impossible to build for some combinations to be built with the same package set (NAS + OSS or some OSS/ALSA combos, but my memory is foggy there).<br>

<br>

In fact, I tried to make sure as many as possible plugins to be buildable on Travis: <br>

<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/698661a94af388b06b98b11d9d2a4216b36acdb5#diff-852da479861e8f719725fb8018cc1699R5" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/698661a94af388b06b98b11d9d2a4216b36acdb5#diff-852da479861e8f719725fb8018cc1699R5</a><br>

<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/989f7e06d041c145863dd2d648e196a3169947d4#diff-eaec0bdb68c02946e8335228ebbbbad9" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/989f7e06d041c145863dd2d648e196a3169947d4#diff-eaec0bdb68c02946e8335228ebbbbad9</a><br>

<br>

<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/75f59c456f79fb4f7ca64bc1d2504d3f9626e305" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/75f59c456f79fb4f7ca64bc1d2504d3f9626e305</a><br>

<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ca75c6bfd0903f25917b8b88aca63e574dd39a1f" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ca75c6bfd0903f25917b8b88aca63e574dd39a1f</a><br>

<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a82b9cfdcf2f8d5396fa2f6950a06f35c374098d" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a82b9cfdcf2f8d5396fa2f6950a06f35c374098d</a><br>

<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3a8a3c4bb7033c0e19c714ca4d90b0cc8f9f2565" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3a8a3c4bb7033c0e19c714ca4d90b0cc8f9f2565</a><br>

<br>

Point is: yes, I really tried to make sure the build slave builds everything necessary.<br>

<br>

<br>

-t<br>

<br>

<br>

> <br>

> _,,,^..^,,,_<br>

> best, Eliot<br>

> —<br>

> You are receiving this because you were mentioned.<br>

> Reply to this email directly, view it on GitHub, or mute the thread.<br>

> <br>

<br>





<p style="font-size:small;color:rgb(102,102,102)">—<br>You are receiving this because you commented.<br>Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/360#issuecomment-457768165" target="_blank">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AhLyW3k2M4o7CI3NLORKSlN_QTCLBc5Aks5vG5DLgaJpZM4aS083" target="_blank">mute the thread</a>.<img src="https://github.com/notifications/beacon/AhLyW_Py7yJ0UCbfeE8bpzsQrHWBUrvZks5vG5DLgaJpZM4aS083.gif" alt="" width="1" height="1"></p>



</blockquote></div>
</blockquote></div>