<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div>Hi David.<br></div><div><br></div><div>I am looping over 3221 classes that represent Lua modules and asking OSProcess to create the directories where their content to be stored should go and using Filestream to create and write the file contents.<br></div><div><br></div><div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">Transcript clear.</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">[(WikitextModule allSubclasses select:[:module  |  (module pagetitle indexOf:$/ ifAbsent:[0]) > 0])</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">   do:[:m | |ss f d cmd shell content  ios|</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">       ss := m pagetitle squeakToUtf8 findBetweenSubStrs: '/'.</span><br></div><div>      <span style="color: rgb(51, 51, 51); font-size: 13.3333px;">d := ss collect:[:each | each] from: 1 to: (ss size -1).</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">     ((d at:1) = 'Sandbox') | ((d at:1) beginsWith:'User:')     "<span class="bold highlight search-highlight" style="font-weight: bold; color: rgb(51, 51, 51); background: rgb(255, 255, 153);">handle</span><span> </span>Sandbox and User: here"</span><br></div><meta content="text/html; charset=utf-8"><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">       ifTrue:[]</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">       ifFalse:[</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">                d := d inject:'' into:[:a :b | a, '/',  b].</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">                f := ('lua',d, '/', ss last, '.lua') squeakToUtf8  .    "ios writes to shared by default"</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">                cmd := 'mkdir -p shared/lua', d.   "commandshell writes to squeak root directory, so we prepende 'shared' to it"</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">               Transcript show: (m name), ' : ', cmd; cr.</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><b style="color: rgb(51, 51, 51);"><span style="color: rgb(51, 51, 51);">               shell := PipeableOSProcess bash.<span> </span></span></b><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><b style="color: rgb(51, 51, 51);"><span style="color: rgb(51, 51, 51);">               shell pipeFromOutput reader setNonBlocking.<span> </span></span></b><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><b style="color: rgb(51, 51, 51);"><span style="color: rgb(51, 51, 51);">               shell exec: cmd.</span></b><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><b style="color: rgb(51, 51, 51);"><span style="color: rgb(51, 51, 51);">               (Delay forMilliseconds: 400) wait.<span> </span></span></b><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><b style="color: rgb(51, 51, 51);"><span style="color: rgb(51, 51, 51);">               Transcript show: shell upToEnd ; cr.</span></b><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><b style="color: rgb(51, 51, 51);"><span style="color: rgb(51, 51, 51);">               shell close.<span> </span></span></b><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">               content := m lua squeakToUtf8.</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">               ios := FileStream newFileNamed: f.</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">               ios isNil</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">                  ifFalse:[</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">                        content storeOn: ios.</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">                         ios close.</span><br></div><div style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);">       ]]]] ifError:[:x :y | Transcript show: x;cr. y close. thisContext resume]</span><br></div><meta content="text/html; charset=utf-8"></blockquote><br></div>The OSPRocess repeatedly executes the command 'mkdir -p path/stored/in/the/class' .<br><br>Since I posted my question, I have broken the loop into subsets of the 3221. I initially attempted 500 record blocks, and that worked up to about 1500 loops.<br>I then broke the 1500 to 2000 into increments of 100 and it just completed the 1500->2000 stretch. (eliminating the possibility that something within the modules were the cause of the error)<br><br><div>copyFrom: 501 to: 1000<br></div><div>copyFrom: 1001 to: 1500<br></div><div>copyFrom: 1501 to: 1600<br></div><div>copyFrom: 1601 to: 1700<br></div><div>copyFrom: 1701 to: 1800<br></div><div>copyFrom: 1801 to: 1900<br></div><div>copyFrom: 1901 to: 2000<br></div><div>copyFrom: 2001 to: 2500<br></div><div>copyFrom: 2501 to: 3000<br></div><br><br>My hunch is that pounding OSPRocess is causing the bug.<br><br>BTW, OSProcess and CommandShell are GREAT tools and I very much appreciate you having developed them. <br><br>Thank you for your time.<br><br>tty<br><br><br><br><br><div style="" class="zmail_extra"><br><div id="Zm-_Id_-Sgn1">---- On Fri, 30 Aug 2019 10:04:09 -0400 <b>David T. Lewis <<a target="_blank" href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>></b> wrote ----<br></div><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); padding-left: 6px; margin: 0px 0px 0px 5px;"><div>Can you say something about how you get to the point of getting<br>this error, and what operating system you are using? The code<br>snippet looks odd to me because it appears to be a decompiled<br>version of the method in OSProcess. Maybe you do not have a<br>changes file to go with your image file?<br><br>A typical reason for failing to create pipes is that you have<br>somehow opened too many file handles for your VM, possibly by<br>opening a lot of pipes and not closing them completely.<br><br>Dave<br><br>On Fri, Aug 30, 2019 at 07:58:50AM -0500, tty wrote:<br>> In <br>> <br>> <br>> ExternalPipe>><br>> makePipe<br>>     | t1 |<br>>     *t1 := OSProcess accessor makePipeHandles.*<br>>     t1 isNil<br>>         ifTrue: [self error: 'cannot create OS pipe']<br>>         ifFalse: [self<br>>                 reader: (AttachableFileStream<br>>                         name: 'pipeReader'<br>>                         attachTo: (t1 at: 1)<br>>                         writable: false).<br>>             self<br>>                 writer: (AttachableFileStream<br>>                         name: 'pipeWriter'<br>>                         attachTo: (t1 at: 2)<br>>                         writable: true)]<br>> <br>> <br>> OSProcess accessor is a  * 'a UnixOSProcessAccessor on pid 19790'*<br>> <br>> <br>> Where *self makePipeHandles* returns and undefined object.<br>> <br>> How should I think about this?<br>> <br>> thnks<br>> <br>> <br>> <br>> <br>> <br>> <br>> --<br>> Sent from: <a target="_blank" href="http://forum.world.st/Squeak-Beginners-f107673.html">http://forum.world.st/Squeak-Beginners-f107673.html</a><br>> _______________________________________________<br>> Beginners mailing list<br>> <a target="_blank" href="mailto:Beginners@lists.squeakfoundation.org">Beginners@lists.squeakfoundation.org</a><br>> <a target="_blank" href="http://lists.squeakfoundation.org/mailman/listinfo/beginners">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br>_______________________________________________<br>Beginners mailing list<br><a target="_blank" href="mailto:Beginners@lists.squeakfoundation.org">Beginners@lists.squeakfoundation.org</a><br><a target="_blank" href="http://lists.squeakfoundation.org/mailman/listinfo/beginners">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br></div></blockquote></div><div><br></div></div><br></body></html>