Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
On 05/18/2016 07:39 PM, Ben Coman wrote: Waiting in the wings for Pharo 6 I have changes that should help: * have #save/#restoreResumptionTimes*only* called from timing priority event loop (i.e. #handleTimerEvent) * shutDown/startUp suspends/resumes the timing priority event loop, instead of trying to block signals to timingSemaphore Yeah, that sounds better, thanks. -Martin
Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
On Thu, May 19, 2016 at 8:49 AM, Martin McClurewrote: > On 05/18/2016 03:17 PM, Martin McClure wrote: >> >> On 05/18/2016 08:49 AM, Mariano Martinez Peck wrote: >>> >>> Hi guys, >>> >>> I am seeing a problem in Pharo 5.0 regarding Delay >> wait. I cannot >>> explain how this could happened but it does, and it happened to me a couple >>> of times (but not fully reproducible). >>> >> >> Hmm. The schedulerResumptionTime is, somehow, being (approximately) >> doubled. It's not clear how that can happen, but I'll look a little more. >> > > Mario, is there any chance that you might be saving the image during one of > these Delays? > > > This one smells like a race condition, and I think I see something that > *might* explain it. But I don't have any more time to spend on this one, so > I'll leave the rest to someone else. I hope this is helpful: > > The only way I immediately see for the schedulerResumptionTime to become > approximately doubled is if the Delay's resumption time is adjusted by > #restoreResumptionTimes without previously having been adjusted by > #saveResumptionTimes. > > The only time either of those are sent, that I can see, is on saving the > image. Both are normally sent, (save before the snapshot, restore > afterwards), but there may be a hole there. > > #saveResumptionTimes is only sent (by this scheduler class) when the > accessProtect semaphore is held, but #handleTimerEvent: is executed in the > timing Process *without* the protection of accessProtect, in the case of the > VM signaling the timingSemaphore. If the VM signals the timingSemaphore, > #handleTimerEvent: could run in the middle of #saveResumptionTimes. If some > Delay expires because of that timer event, our Delay could move from being > the first suspended delay to being the active delay. If that happens after > we've adjusted the active delay, but before we've processed the suspended > delays, that Delay will not get adjusted, and will show the symptoms that > Mariano is seeing. A quick experiment to test this might be in shutDown/#startUp trying... [ self saveResumptionTimes ] valueAt: Processor timingPriority [ self resumeResumptionTimes ] valueAt: Processor timingPriority > > Also, I'm not sure how the Heap that holds the suspendedDelays will react to > being modified in the middle of an enumeration. That might open a larger > window for the problem. > > Regards, > > -Martin > Even if not directly related to Mariano's problem, I agree with your general assessment. I'm not comfortable with the way that #save/#restoreResumptionTimes (which manipulate suspendedDelays) are called from user priority code via #shutDown/#startUp. Per the original code**, accessProtect can't be used inside the timing priority #handleTimerEvent since accessProtect is held by the user priority #schedule when it uses "timingSemaphore signal" to invoke invokes #handleTimerEvent. accessProtect never protected timingPriority manipulation of suspendedDelays by #handleTimerEvent, nor expired delays waking up. But ahhh... the disabling of accessProtect previously prevented new delays being scheduled between a #save and #restore. If a new delay is scheduled after the #save, when it is #restore'd its resumptionTime would be wrong. Waiting in the wings for Pharo 6 I have changes that should help: * have #save/#restoreResumptionTimes *only* called from timing priority event loop (i.e. #handleTimerEvent) * shutDown/startUp suspends/resumes the timing priority event loop, instead of trying to block signals to timingSemaphore I haven't touched it for a few months so I'll need to chase it up to provide a preview. Mariano, can you try DelayMillisecondScheduler (which however is missing some fixes for other issues). cheers -ben
Re: [Pharo-dev] Random is not random at startup
On Thu, May 19, 2016 at 07:57:37AM +0800, Ben Coman wrote: > On Thu, May 19, 2016 at 7:05 AM, Peter Uhn??kwrote: > > > > Not so random??? not random at all. > > Obligitory cartoon... > https://xkcd.com/221/ > Perfect :-)
Re: [Pharo-dev] Random is not random at startup
On 05/18/2016 04:05 PM, Peter Uhnák wrote: My questions: 1) do we really want to have global fixed seed? No! 2) Random new should actually setup a usable seed so I don't need to first run it N times before I can use the value Yes. 3) Should we switch to what UUIDGenerator is using… reading /dev/urandom for the initial seed setup? Yes. Though this only works on Unix, so on Windows it uses the current time as a seed. It might get better results using #microsecondClockValue instead of #millisecondClockValue. And I'd think about just taking the microsecond value and sending it #hashMultiply instead of the weird things it's doing now. (bitXor with the identity hash of the UUIDGenerator instance? That depends on the randomness of identity hashes, which may or may not be very good.) It seems likely that Windows has a built-in random number generator, as well, which would probably be better. While we're at it, the class Random is a Park-Miller generator, which has quite poor randomness by modern standards. Most other Smalltalks have upgraded -- GemStone uses CMWC (pure Smalltalk, very simple and quite fast; I wrote that one), VW I believe uses Lagged Fibonacci, and Squeak has moved to Mersenne Twister last I heard. I've tested all three against statistical tests of randomness -- generated about 650GB of random bytes from each, ran them through the tests (which require that much data to get good statistics). All three are pretty good, only failing a few tests. The only generator I tested that passed *all* tests was Linux /dev/urandom. Which is also fast. If you're on Linux, and don't need a repeatable random sequence, I'd use /dev/urandom. If you do need to be able to have a repeatable sequence with good randomness properties, I'd use one of the three generators I mentioned above. Of the three, the simplest and fastest is CMWC. Regards, -Martin
Re: [Pharo-dev] Random is not random at startup
On Thu, May 19, 2016 at 7:05 AM, Peter Uhnákwrote: > Hi, > > (cc-ing Robert Withers as he seems to be working with cryptography and > security... as this seems related and may have some implications, but I am > likely wrong about the implications) > > yesterday I've encountered a very surprising behavior > > I executed the same script `10 atRandom` on the same image without saving it > and got the same output: > > while true; do > pharo-vm --nodisplay latest.image --no-default-preferences eval '10 > atRandom' > done > 10 > 10 > 10 > 10 > 10 > 10 > > Not so random… not random at all. Obligitory cartoon... https://xkcd.com/221/ cheers -ben
[Pharo-dev] Random is not random at startup
Hi, (cc-ing Robert Withers as he seems to be working with cryptography and security... as this seems related and may have some implications, but I am likely wrong about the implications) yesterday I've encountered a very surprising behavior I executed the same script `10 atRandom` on the same image without saving it and got the same output: while true; do pharo-vm --nodisplay latest.image --no-default-preferences eval '10 atRandom' done 10 10 10 10 10 10 Not so random… not random at all. Apparently the default random generator uses SharedRandom pool, that is initialized only once… so every time you start an image you get the EXACT same random seed... I think this is stupid, and I am not sure what are the security implications of this (e.g. when opening an SSL connection… having fixed world-wide initial seed seems like an awful, awful idea), but whatever… So instead I tried to explicitly specify the Random generator… which I can do while true; do pharo-vm --nodisplay latest.image --no-default-preferences eval '10 atRandom: Random new' done 5 5 5 5 5 Still not random… what? while true; do pharo-vm --nodisplay latest.image --no-default-preferences eval 'Random new instVarNamed: #seed' done 426306047 426305545 426305546 426306010 So the seed is different but thanks to the magic of masking the seed, I always get the same first several bits… thus the same result for small numbers. So if I actually want what seems like a random value… I have to at least once run the generator… while true; do pharo-vm --nodisplay latest.image --no-default-preferences eval '10 atRandom: (Random new next; yourself)' done 7 3 4 9 6 7 Once I start to use it the properties of the algo kick in so it's pseudo-random… but I need to run it once to initialize it, which is wtf. My questions: 1) do we really want to have global fixed seed? 2) Random new should actually setup a usable seed so I don't need to first run it N times before I can use the value 3) Should we switch to what UUIDGenerator is using… reading /dev/urandom for the initial seed setup? Peter
Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
On Wed, May 18, 2016 at 7:28 PM, Martin McClurewrote: > On 05/18/2016 02:46 PM, Paul DeBruicker wrote: > >> the reason I asked about OSProcess in Pharo 5 was that >> >> OSProcess waitForCommand: 'ls' >> >> >> never returned. >> >> >> Maybe its another instance of this problem. And it happens everytime. >> >> There is a 50ms delay in the #waitForCommand: method >> >> I'm currently having a problem with an OSProcess of a chmod never > returning. And that's in Pharo 4! Never seen a problem there before. > Investigating. > > Thanks Martin. I cannot tell about 4.0 as OSSubprocess only works in 5.0... What I know is that in 5.0 there have been changes in the wait delay (that's why Ben answered). > Regards, > > -Martin > > -- Mariano http://marianopeck.wordpress.com
Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
On Wed, May 18, 2016 at 6:46 PM, Paul DeBruickerwrote: > the reason I asked about OSProcess in Pharo 5 was that > > OSProcess waitForCommand: 'ls' > > > never returned. > > > Maybe its another instance of this problem. And it happens everytime. > > There is a 50ms delay in the #waitForCommand: method > It looks quite similar indeed. And... both, OSProcess and OSSubprocess have a similar child watcher (I based mine in OSProcess one). Paul could you inspect the child process from the process browser tool, do an inspect, and check the suspended process? Check the wait time to see if it is 50ms or 20ms etc...that way we can see which part is the "hunging". > > > hope this helps > > Paul > > > > > Mariano Martinez Peck wrote > > On Wed, May 18, 2016 at 2:10 PM, Ben Coman > > > btc@ > > > wrote: > > > >> I don't have time to look at this properly until tomorrow. > >> In the meantime, could you just post the result of... > >> > >>Delay delaySchedulerClass > >> it should be "DelayExperimentalSpinScheduler" *** > >> > >> > > Yes, it is. > > > > > >> Also could you try a few of the other options from > >> World > System > Settings > System ... > >> > >> > > Do you know which is the "Safest" to use? Or at least which was used in > > say, 4.0? > > > > > > > > > >> > >> ***whoops, the Experimental tag should have been dropped for Pharo 5 > >> Release. Its been fine for months (unless this is a fault :) ] > >> > >> > > Yes, I found that strange too. > > > > > >> > > >> > Maybe it is wrong to keep and re-use same instance of Delay? (note it > >> is > >> > outside the closure) (this was not a problem in the past). > >> > >> Not sure. I've heard others say Delays should only be used once. To > >> experiment, could you try creating a delay each time. > >> > >> > > Ok, I will try this. But again, it would take some some time to test and > > it > > happens to me every in while only. > > > > Thanks!! > > > > > > > > -- > > Mariano > > http://marianopeck.wordpress.com > > > > > > -- > View this message in context: > http://forum.world.st/Problem-with-delay-waiting-OSSubprocess-code-on-Pharo-5-0-tp4895780p4895890.html > Sent from the Pharo Smalltalk Developers mailing list archive at > Nabble.com. > > -- Mariano http://marianopeck.wordpress.com
Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
On 05/18/2016 02:46 PM, Paul DeBruicker wrote: the reason I asked about OSProcess in Pharo 5 was that OSProcess waitForCommand: 'ls' never returned. Maybe its another instance of this problem. And it happens everytime. There is a 50ms delay in the #waitForCommand: method I'm currently having a problem with an OSProcess of a chmod never returning. And that's in Pharo 4! Never seen a problem there before. Investigating. Regards, -Martin
Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
the reason I asked about OSProcess in Pharo 5 was that OSProcess waitForCommand: 'ls' never returned. Maybe its another instance of this problem. And it happens everytime. There is a 50ms delay in the #waitForCommand: method hope this helps Paul Mariano Martinez Peck wrote > On Wed, May 18, 2016 at 2:10 PM, Ben Coman > btc@ > wrote: > >> I don't have time to look at this properly until tomorrow. >> In the meantime, could you just post the result of... >> >>Delay delaySchedulerClass >> it should be "DelayExperimentalSpinScheduler" *** >> >> > Yes, it is. > > >> Also could you try a few of the other options from >> World > System > Settings > System ... >> >> > Do you know which is the "Safest" to use? Or at least which was used in > say, 4.0? > > > > >> >> ***whoops, the Experimental tag should have been dropped for Pharo 5 >> Release. Its been fine for months (unless this is a fault :) ] >> >> > Yes, I found that strange too. > > >> > >> > Maybe it is wrong to keep and re-use same instance of Delay? (note it >> is >> > outside the closure) (this was not a problem in the past). >> >> Not sure. I've heard others say Delays should only be used once. To >> experiment, could you try creating a delay each time. >> >> > Ok, I will try this. But again, it would take some some time to test and > it > happens to me every in while only. > > Thanks!! > > > > -- > Mariano > http://marianopeck.wordpress.com -- View this message in context: http://forum.world.st/Problem-with-delay-waiting-OSSubprocess-code-on-Pharo-5-0-tp4895780p4895890.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
On 05/18/2016 08:49 AM, Mariano Martinez Peck wrote: Hi guys, I am seeing a problem in Pharo 5.0 regarding Delay >> wait. I cannot explain how this could happened but it does, and it happened to me a couple of times (but not fully reproducible). Hmm. The schedulerResumptionTime is, somehow, being (approximately) doubled. It's not clear how that can happen, but I'll look a little more. -Martin
Re: [Pharo-dev] TEXT drag and drop
Hi Liang Bing, nice! Could be a nice addition to the standard image if others like it too. Did you already sign as contributor? Thx T. Gesendet: Mittwoch, 18. Mai 2016 um 19:09 Uhr Von: lbAn: pharo-dev@lists.pharo.org Betreff: [Pharo-dev] TEXT drag and drop Hi, I have made a little tool for draging and dropping text selection. like windows Word. It can work in Pharo 40 50 and 60. Have a fun! LiangBing MCHttpRepository location: 'http://www.smalltalkhub.com/mc/liangbing/Text-DragDrop/main' user: '' password: ''
[Pharo-dev] [pharo-project/pharo-core] 2e3347: 60019
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: 2e33473541b3c4497a1e6c1e10384d35e3341758 https://github.com/pharo-project/pharo-core/commit/2e33473541b3c4497a1e6c1e10384d35e3341758 Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: A Morphic-Base.package/StringMorph.class/instance/accessing/stringBounds.st A Morphic-Base.package/StringMorph.class/instance/accessing/stringColor.st M Morphic-Base.package/StringMorph.class/instance/drawing/drawOn_.st M Morphic-Widgets-Basic.package/LabelMorph.class/class/examples/example.st M Morphic-Widgets-Basic.package/LabelMorph.class/class/examples/exampleDisable.st A Morphic-Widgets-Basic.package/LabelMorph.class/class/examples/exampleDisableInset.st A Morphic-Widgets-Basic.package/LabelMorph.class/instance/accessing/stringColor.st M Morphic-Widgets-Basic.package/LabelMorph.class/instance/drawing/drawOn_.st A Polymorph-Widgets.package/extension/LabelMorph/instance/themeChanged.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60018.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60019.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60018.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60019.st M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: --- 60019 18245 StringMorph and Label morph lack #themeChanged https://pharo.fogbugz.com/f/cases/18245 http://files.pharo.org/image/60/60019.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/60019 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
On Wed, May 18, 2016 at 2:10 PM, Ben Comanwrote: > I don't have time to look at this properly until tomorrow. > In the meantime, could you just post the result of... > >Delay delaySchedulerClass > it should be "DelayExperimentalSpinScheduler" *** > > Yes, it is. > Also could you try a few of the other options from > World > System > Settings > System ... > > Do you know which is the "Safest" to use? Or at least which was used in say, 4.0? > > ***whoops, the Experimental tag should have been dropped for Pharo 5 > Release. Its been fine for months (unless this is a fault :) ] > > Yes, I found that strange too. > > > > Maybe it is wrong to keep and re-use same instance of Delay? (note it is > > outside the closure) (this was not a problem in the past). > > Not sure. I've heard others say Delays should only be used once. To > experiment, could you try creating a delay each time. > > Ok, I will try this. But again, it would take some some time to test and it happens to me every in while only. Thanks!! -- Mariano http://marianopeck.wordpress.com
Re: [Pharo-dev] From a mooc user: method source with it' take so long in Pharo 5
Le 18/05/2016 19:12, stepharo a écrit : > I am wondering why does the search 'method source with it' take so long > in Pharo 5? On my PC, When I select the text 'menu' and search for all > 'method source with it', in Squeak 5 it takes 3 seconds. In Pharo 5 it > takes 21 seconds. > > Did you try with the same computer? It depends a lot of the OS. On my Mac it takes 20sec, on my windows it takes 7-8sec and on my linux it takes 3-5sec. -- Cyril Ferlicot http://www.synectique.eu 165 Avenue Bretagne Lille 59000 France signature.asc Description: OpenPGP digital signature
[Pharo-dev] From a mooc user: method source with it' take so long in Pharo 5
I am wondering why does the search 'method source with it' take so long in Pharo 5? On my PC, When I select the text 'menu' and search for all 'method source with it', in Squeak 5 it takes 3 seconds. In Pharo 5 it takes 21 seconds.
[Pharo-dev] TEXT drag and drop
Hi, I have made a little tool for draging and dropping text selection. like windows Word. It can work in Pharo 40 50 and 60. Have a fun! LiangBing MCHttpRepository location: 'http://www.smalltalkhub.com/mc/liangbing/Text-DragDrop/main' user: '' password: ''
Re: [Pharo-dev] Problem with delay waiting (OSSubprocess code) on Pharo 5.0
I don't have time to look at this properly until tomorrow. In the meantime, could you just post the result of... Delay delaySchedulerClass it should be "DelayExperimentalSpinScheduler" *** Also could you try a few of the other options from World > System > Settings > System ... ***whoops, the Experimental tag should have been dropped for Pharo 5 Release. Its been fine for months (unless this is a fault :) ] On Wed, May 18, 2016 at 11:49 PM, Mariano Martinez Peckwrote: > Hi guys, > > I am seeing a problem in Pharo 5.0 regarding Delay >> wait. I cannot explain > how this could happened but it does, and it happened to me a couple of times > (but not fully reproducible). > > In OSSubprocess I have this child watcher: > > initializeChildWatcher > "This is a process which waits for the death of a child processes. Use > SIGCHLD events rather than a Delay to poll." > > | processSynchronizationDelay | > processSynchronizationDelay := Delay forMilliseconds: 20. > childWatcher ifNil: [ > childWatcher := [[ > "OSProcess authors suspected that there were various ways in which OS > signals > could be missed under conditions of heavy load. For that reason, we use > #waitTimeoutMSecs: with the semaphore, so that if a signal is missed, > we time out and rescan occasionally anyway > (#updateActiveChildrenAndNotifyDead > sends queryExitStatus which sends waitpid() ) > " > self sigChldSemaphore waitTimeoutMSecs: 1000. > processSynchronizationDelay wait. "Avoids lost signals in heavy process > switching" > self updateActiveChildrenAndNotifyDead. > ] repeat] newProcess. > > childWatcher resume. > "name selected to look reasonable in the process browser" > childWatcher name: ((ReadStream on: childWatcher hash asString) next: 5) > , ': the OSSubprocess child watcher' > ] > > > The problem is that now above process is hung on the > "processSynchronizationDelay wait.". At least that's what I can see from the > process browser. That should not hung, of course, and should stop waiting > after 20 ms. > > If I inspect the Delay instance in question (doing the wait) I see that the > print string is bad "a Delay(20 msecs; 3641032396485 msecs remaining)". > WTF? 20ms and you remain 3641032396485 to wait??? I attach an screenshot of > the Delay instance in case there could be something wrong. > > Maybe it is wrong to keep and re-use same instance of Delay? (note it is > outside the closure) (this was not a problem in the past). Not sure. I've heard others say Delays should only be used once. To experiment, could you try creating a delay each time. cheers -ben
[Pharo-dev] Scrollable Spec Model
Hi, anyone has any experience with scrollable (arbitrary) Spec Model? e.g. I have a long list of buttons and fixed outer container window… As far as I can see scrolling is only available on morphic side, so I am not sure how to augment it… (Although we should probably allow scrolling on Spec side in some way) Thanks, Peter
[Pharo-dev] [pharo-project/pharo-core] bb7482: 60018
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: bb7482e0c33cec9e6ad4ae2f364a56bf99ddb3b5 https://github.com/pharo-project/pharo-core/commit/bb7482e0c33cec9e6ad4ae2f364a56bf99ddb3b5 Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: A Kernel-Tests.package/IntegerTest.class/instance/tests - basic/testDigitsAccess.st M Kernel.package/Integer.class/instance/accessing/decimalDigitAt_.st M Kernel.package/Integer.class/instance/accessing/decimalDigitLength.st M Kernel.package/Integer.class/instance/accessing/digitAt_base_.st A Kernel.package/Message.class/instance/converting/asSendTo_.st A Kernel.package/MessageSend.class/class/instance creation/message_to_.st A Kernel.package/MessageSend.class/instance/accessing/message.st A Network-Kernel.package/HTTPProgress.class/README.md A Network-Kernel.package/HTTPProgress.class/class/examples/example.st A Network-Kernel.package/HTTPProgress.class/class/exceptioninstantiator/signalAmount_total_.st A Network-Kernel.package/HTTPProgress.class/class/exceptioninstantiator/signal_amount_total_.st A Network-Kernel.package/HTTPProgress.class/definition.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/amount.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/amountLeft.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/amountLeft_.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/amount_.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/beComplete.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/fraction.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/percentage.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/total.st A Network-Kernel.package/HTTPProgress.class/instance/accessing/total_.st A Network-Kernel.package/HTTPProgress.class/instance/printing/printOn_.st A Network-Kernel.package/HTTPProgress.class/instance/testing/isComplete.st A Network-Kernel.package/HTTPProgress.class/instance/testing/isEmpty.st R Network-Protocols.package/HTTPProgress.class/README.md R Network-Protocols.package/HTTPProgress.class/class/examples/example.st R Network-Protocols.package/HTTPProgress.class/class/exceptioninstantiator/signalAmount_total_.st R Network-Protocols.package/HTTPProgress.class/class/exceptioninstantiator/signal_amount_total_.st R Network-Protocols.package/HTTPProgress.class/definition.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/amount.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/amountLeft.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/amountLeft_.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/amount_.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/beComplete.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/fraction.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/percentage.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/total.st R Network-Protocols.package/HTTPProgress.class/instance/accessing/total_.st R Network-Protocols.package/HTTPProgress.class/instance/printing/printOn_.st R Network-Protocols.package/HTTPProgress.class/instance/testing/isComplete.st R Network-Protocols.package/HTTPProgress.class/instance/testing/isEmpty.st R Network-Tests.package/UUIDPrimitivesTest.class/README.md R Network-Tests.package/UUIDPrimitivesTest.class/definition.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testComparison.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreation.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreationEquality.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreationFromString.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreationFromString36NotNil.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreationFromString36With0.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreationFromString36WithNillUUID.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreationFromStringNotNil.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreationNil.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testCreationNodeBased.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testDuplicationsKinda.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testOrder.st R Network-Tests.package/UUIDPrimitivesTest.class/instance/tests/testUniqueness.st R
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/60018 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] [pharo-project/pharo-core] dd5af6: 60017
> On 18 May 2016, at 16:56, GitHubwrote: > > Log Message: > --- > 60017 > 17451 Introducing Immutability > https://pharo.fogbugz.com/f/cases/17451 > The related tests are failing as we need a VM change for this which will be integrated later (1-2 weeks). We might put the failing tests on “expected failure” till then. Marcus
[Pharo-dev] [pharo-project/pharo-core] dd5af6: 60017
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: dd5af6faadcba665f76559e08c630d76a3a14aaf https://github.com/pharo-project/pharo-core/commit/dd5af6faadcba665f76559e08c630d76a3a14aaf Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: A Kernel.package/Object.class/instance/write barrier/attemptToAssign_withIndex_.st A Kernel.package/Object.class/instance/write barrier/beReadOnlyObject.st A Kernel.package/Object.class/instance/write barrier/beWritableObject.st A Kernel.package/Object.class/instance/write barrier/isReadOnlyObject.st A Kernel.package/Object.class/instance/write barrier/setIsReadOnlyObject_.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60016.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60017.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60016.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60017.st M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st A WriteBarrierTests.package/TTMirror.class/README.md A WriteBarrierTests.package/TTMirror.class/definition.st A WriteBarrierTests.package/TTMirror.class/instance/mirror-access/classOf_.st A WriteBarrierTests.package/TTMirror.class/instance/mirror-access/isReadOnlyObject_.st A WriteBarrierTests.package/TTMirror.class/instance/mirror-access/setIsReadOnlyObjectOf_to_.st A WriteBarrierTests.package/WriteBarrierTest.class/README.md A WriteBarrierTests.package/WriteBarrierTest.class/class/initialization/initialize.st A WriteBarrierTests.package/WriteBarrierTest.class/definition.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/guinea pigs/alwaysReadOnlyObjects.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/guinea pigs/alwaysWritableObjects.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/guinea pigs/maybeReadOnlyObjects.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/guinea pigs/mirror.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - helper/testObject_initialState_tuples_.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - helper/testObject_initialState_tuples_setReadOnlyBlock_.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - helper/testProxyObject_initialState_tuples_.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - object/testBasicReadOnly.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - object/testBasicWritable.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - object/testMutateIVObject.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - object/testMutateVariableObject.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - object/testSetIsReadOnlyFailure.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - object/testSetIsReadOnlyImmediate.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - object/testSetIsReadOnlySuccess.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - proxy/testBasicProxyReadOnly.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - proxy/testBasicProxyWritable.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - proxy/testSetIsReadOnlyFailureProxy.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - proxy/testSetIsReadOnlyImmediateProxy.st A WriteBarrierTests.package/WriteBarrierTest.class/instance/tests - proxy/testSetIsReadOnlySuccessProxy.st Log Message: --- 60017 17451 Introducing Immutability https://pharo.fogbugz.com/f/cases/17451 http://files.pharo.org/image/60/60017.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/60017 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] d9bb3e: 60016
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: d9bb3e31de43501e3893f40cb34de09e13e07a53 https://github.com/pharo-project/pharo-core/commit/d9bb3e31de43501e3893f40cb34de09e13e07a53 Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: A Kernel.package/CompiledBlock.class/README.md A Kernel.package/CompiledBlock.class/definition.st A Kernel.package/CompiledCode.class/README.md A Kernel.package/CompiledCode.class/definition.st M Kernel.package/CompiledMethod.class/definition.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60015.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60016.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60015.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60016.st M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: --- 60016 http://files.pharo.org/image/60/60016.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/60015 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] 271b32: 60015
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: 271b32929485b925d96787b0d8dbd3059ba15df1 https://github.com/pharo-project/pharo-core/commit/271b32929485b925d96787b0d8dbd3059ba15df1 Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: A ConfigurationOfFuel.package/ConfigurationOfFuel.class/instance/versions-2/version215_.st M FuelPlatform.package/FLPharo3Platform.class/README.md M FuelPlatform.package/FLPharo5Platform.class/class/private-hacks/addHacks.st M FuelPlatform.package/FLPharo5Platform.class/instance/accessing-files/deleteFileNamed_.st A FuelPlatform.package/FLPharo6Platform.class/README.md A FuelPlatform.package/FLPharo6Platform.class/class/private-hacks/addHacks.st A FuelPlatform.package/FLPharo6Platform.class/class/testing/isResponsibleForCurrentPlatform.st A FuelPlatform.package/FLPharo6Platform.class/definition.st A FuelPlatform.package/FLPharo6Platform.class/instance/accessing-files/deleteFileNamed_.st A FuelPlatform.package/FLPharo6Platform.class/instance/accessing-files/fileNamed_readStreamDo_.st A FuelPlatform.package/FLPharo6Platform.class/instance/accessing-files/fileNamed_writeStreamDo_.st A FuelPlatform.package/FLPharo6Platform.class/instance/testing/isBigEndian.st M Kernel.package/Object.class/instance/testing/isClassOrTrait.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60014.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60015.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60014.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60015.st M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st A System-Support.package/VirtualMachine.class/instance/testing/supportsMultipleBytecodeSets.st A System-Support.package/VirtualMachine.class/instance/testing/supportsWriteBarrier.st A Tests.package/ClassTraitTest.class/instance/testing/testIsClassOrTrait.st Log Message: --- 60015 18039 Missing testing methods on vmParameter https://pharo.fogbugz.com/f/cases/18039 18250 Fuel has no platform for Pharo 6.0 https://pharo.fogbugz.com/f/cases/18250 18235 isClassOrTrait is false for Metaclasses https://pharo.fogbugz.com/f/cases/18235 http://files.pharo.org/image/60/60015.zip
[Pharo-dev] [pharo-project/pharo-core] 02efc3: 60014
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: 02efc3f9d208db847aaf1e1e29b5bd9f1bb9efba https://github.com/pharo-project/pharo-core/commit/02efc3f9d208db847aaf1e1e29b5bd9f1bb9efba Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60013.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60014.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60013.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60014.st M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st M Spec-Core.package/FastTableModel.class/class/example/example.st M Spec-Core.package/IconListModel.class/class/example/example.st M Spec-Core.package/TabModel.class/instance/private/defaultIcon.st M Spec-Core.package/TreeModel.class/class/examples/exampleWithCustomColumnsAndNodes.st M Spec-Core.package/TreeModel.class/class/examples/exampleWithCustomColumnsAndNodesAndChildren.st M Spec-Examples.package/ApplicationWithToolbar.class/instance/initialization/addItem.st M Spec-Examples.package/ApplicationWithToolbar.class/instance/initialization/addItemTo_.st M Spec-Examples.package/ApplicationWithToolbar.class/instance/initialization/initializeWidgets.st M Spec-Examples.package/ApplicationWithToolbar.class/instance/initialization/subMenu.st M Spec-Examples.package/DropListExample.class/instance/initialization/initializeWidgets.st M Spec-Examples.package/TabsExample.class/instance/private/browserTab.st M Spec-Examples.package/TabsExample.class/instance/private/dynamicTab.st M Spec-Examples.package/TabsExample.class/instance/private/objectClassTab.st M Spec-Examples.package/TabsExample.class/instance/private/objectInspectorTab.st M Spec-Inspector.package/AbstractEyeElement.class/instance/menu/errorSubMenu_.st M Spec-Inspector.package/EyeAbstractInspector.class/class/accessing/taskbarIcon.st M Spec-Inspector.package/EyeTreeInspector.class/instance/api/iconFor_error_.st M Spec-PolyWidgets.package/DateModel.class/instance/private/iconMorph.st M Spec-Tests.package/TabManagerModelTest.class/instance/tabs creation/redMorphTab.st M Spec-Tests.package/TabModelTest.class/instance/instance creation/redMorphTab.st M Spec-Tools.package/DualChangeSorterApplication.class/class/menu/menuCommandOn_.st M Spec-Tools.package/KeymapBrowser.class/class/accessing/taskbarIcon.st M Spec-Tools.package/KeymapBrowser.class/instance/initialization/initializeWidgets.st M Spec-Tools.package/KeymapBrowser.class/instance/private/menu_shifted_.st M Spec-Tools.package/MessageBrowser.class/instance/icons/taskbarIcon.st Log Message: --- 60014 18047 Use iconNamed: instead of relying on DNU [Spec] https://pharo.fogbugz.com/f/cases/18047 http://files.pharo.org/image/60/60014.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/60014 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] 2442be: 60013
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: 2442bee1a05362dedd99ee51bbb57012f720b65d https://github.com/pharo-project/pharo-core/commit/2442bee1a05362dedd99ee51bbb57012f720b65d Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: R Network-Url.package/extension/Text/instance/asUrl.st A ScriptLoader60.package/ScriptLoader.class/instance/accessing/inboxRepository50.st A ScriptLoader60.package/ScriptLoader.class/instance/accessing/repository50.st M ScriptLoader60.package/ScriptLoader.class/instance/cleaning/addHomeRepositoryToAllPackagesExcept_.st M ScriptLoader60.package/ScriptLoader.class/instance/mc related utils/addHomeRepositoryToAllPackages.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60012.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60013.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60012.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60013.st M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: --- 60013 18197 Text asUrl makes the package Network-Url dependent on Text https://pharo.fogbugz.com/f/cases/18197 18251 add 50 repo for now so we can merge https://pharo.fogbugz.com/f/cases/18251 http://files.pharo.org/image/60/60013.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/60013 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] Mocketry names again
So at the end of week I will rename "should got" into "should receive" 2016-04-27 23:39 GMT+02:00 Carlos Lombardi: > Hi again, > > ok, just to have coherence between the names for the two possible outcomes > of a method, you could use #beReturnedBy instead of #beReturnedFrom: . You > would have #beReturnedBy: and #beRaisedBy: > > On Wed, Apr 27, 2016 at 10:00 AM, Denis Kudriashov > wrote: > >> >> 2016-04-27 0:33 GMT+02:00 Carlos Lombardi : >> >>> ... maybe >>> >>> #result should beTheResultOf: [mock someMessage]. >>> #result should not beTheResultOf: [mock anotherMessage]. >>> >> >> It's nice.I think "The" can be omitted: >> >> #result should beResultOf: [mock someMessage]. >> >> >> But anyway I use word #return because there are different types of >> result: value return and error signal. There is no expression for last case >> but it would be like: >> >> anError should beRaisedBy: [mock someMessage] >> >> >
[Pharo-dev] [pharo-project/pharo-core] 77a6da: 60012
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: 77a6dad0487acc19e18bc5dc5762c7ef68373112 https://github.com/pharo-project/pharo-core/commit/77a6dad0487acc19e18bc5dc5762c7ef68373112 Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60011.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60012.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60011.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60012.st M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: --- 60012 18228 Remove dependency of FinderUI in WorldState >>#mostUsedToolsOn: https://pharo.fogbugz.com/f/cases/18228 http://files.pharo.org/image/60/60012.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/60012 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] 5c0aa4: 60011
Branch: refs/heads/6.0 Home: https://github.com/pharo-project/pharo-core Commit: 5c0aa470ffb273f3568936bd3969ab51d3e1aa34 https://github.com/pharo-project/pharo-core/commit/5c0aa470ffb273f3568936bd3969ab51d3e1aa34 Author: Jenkins Build ServerDate: 2016-05-18 (Wed, 18 May 2016) Changed paths: M Morphic-Core.package/WorldState.class/class/world menu items/mostUsedToolsOn_.st M Morphic-Widgets-Taskbar.package/extension/SystemWindow/instance/taskbarButtonMenu_.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60010.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60011.st R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60010.st A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60011.st M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st M Text-Core.package/TextAction.class/instance/evaluating/actOnClick_for_in_editor_.st Log Message: --- 60011 18200 TextAction calls unimplemented method #cull:cull:cull:cull:cull: https://pharo.fogbugz.com/f/cases/18200 18199 "close all debuggers" could also be in the taskbar context menu https://pharo.fogbugz.com/f/cases/18199 http://files.pharo.org/image/60/60011.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/60011 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] about spurious conflicts
The reason is that the merge does not find the “last common” package. There is an issue that solves this (adding temporarily the Pharo5 repo). Marcus > On 17 May 2016, at 22:08, stepharowrote: > > Hi > > > while migrating some of the issues from 50 to 60, I noticed that many of the > conflicts are > > not conflicts since the code of both methods and the protocols are the same. > > Does anybody experienced the same? > > Here are some examples and I'm puzzled. > > https://ci.inria.fr/pharo/job/Pharo-6.0-Issue-Validator/417//artifact/validationReport.html > > https://ci.inria.fr/pharo/job/Pharo-6.0-Issue-Validator/418//artifact/validationReport.html > > > Stef > >
Re: [Pharo-dev] fogbugz process Check seems to be stuck
Hi Sven, On Wed, May 18, 2016 at 07:33:10AM +0200, Sven Van Caekenberghe wrote: > Hi Alistair, > > Everything is OK. > > Once Issue Validation succeeds, your slice is ready to be integrated (a > review by another human would help too). Integration itself is a manual > process done by an integrator. > > The reason there was a second check is that every time a new build is done, > all open issues are rechecked. > > It got stuck, but also unstuck automatically. Thanks for the clarification, so I'll just wait for the issue to make its way through the system. Cheers, Alistair > > On 18 May 2016, at 07:03, Alistair Grantwrote: > > > > Hi All, > > > > Would someone mind clarifying the issue process for me. > > > > pharo.org states: > > > > In success, the state will be "Fix Reviewed by the Monkey". This is > > where humans come into the picture: your code needs to be reviewed, if > > possible by 2-3 people. If they accept it, the state moves to "Fix to > > Include", after which it will be committed to the development branch as > > soon as possible. > > > > After I submitted the slice to issue 18248 the monkey successfully > > reviewed it and then assigned it back to me. > > > > Then a little while later the monkey complained that the "Check seems to > > be stuck. I will try again". It looks like the second validation also > > succeeded. > > > > Do I need to do something to initiate the human review, or should I be > > taking some other action? > > > > Thanks, > > Alistair