Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
August 2018
- 226 messages
Re: [Pharo-dev] Minheadless trial
by Ben Coman
On 6 August 2018 at 13:22, Ben Coman <btc(a)openinworld.com> wrote:
> and ends up with 4 link errors (and 6600 warnings)
> Pharo.exe LNK1120 - 1 unresolved external
> Pharow.exe LNK1120 - 1unresolved external
> sqMain.c.obj LNK2019 - unresolved external symbol
_imp_osvm_main referenced in function main
> sqWin32Main.c.obj LNK2019 - unresolved external symbol _imp_osvm_main
referenced in function WinMain
>
> I do see osvm_main is defined here...
> https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/
minheadless/common/sqVirtualMachineInterface.c#L618
>
> but I'm stuck, I don't understand why its looking for "_imp_osvm_main"
I see that sqMain.c (
https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/minhea…
)
only defines a single function...
#include "OpenSmalltalkVM.h"
int
main(int argc, const char **argv)
{
return osvm_main(argc, argv);
}
To check that the osvm_main function is available to be linked, at the end
of CmakeLists.txt I see...
# Build the VM executable(s)
add_executable(${VM_EXECUTABLE_NAME}
platforms/minheadless/common/sqMain.c)
target_link_libraries(${VM_EXECUTABLE_NAME} ${VM_LIBRARY_NAME}
${VM_DEPENDENCIES_LIBRARIES})
Using
https://stackoverflow.com/questions/9298278/cmake-print-out-all-accessible-…
I found...
VM_LIBRARY_NAME=PharoVMCore
where that library is defined
VM_CORE_LIBRARY_TYPE=STATIC
add_library(${VM_LIBRARY_NAME} ${VM_CORE_LIBRARY_TYPE} ${VM_SOURCES}
${VM_INTERNAL_PLUGIN_SOURCES})
and an inspection of PharoVMCore.lib (using 7zip to expand it)
shows it contains function osvm_main symbol, but not the "_imp_" prefixed
symbol.
Regarding the "_imp_" prefix, the next to last comment in this thread
* https://software.intel.com/en-us/forums/intel-c-compiler/topic/673427,
gave a hint about the __declspec() needing to be dllexport instead of
dllimport.
The declaration for osvm_main() in OpenSmalltalkVM.h is effectively...
https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/include/OpenSmal…
# define OSVM_VM_EXPORT __declspec(dllexport)
# define OSVM_VM_IMPORT __declspec(dllimport)
#ifdef BUILD_VM_CORE
# define OSVM_VM_CORE_PUBLIC OSVM_VM_EXPORT
#else
# define OSVM_VM_CORE_PUBLIC OSVM_VM_IMPORT
#endif
OSVM_VM_CORE_PUBLIC OSVMError osvm_main(int argc, const char **argv);
So the following change to sqMain.c fixes the link error...
#define BUILD_VM_CORE
#include "OpenSmalltalkVM.h"
int
main(int argc, const char **argv)
{
return osvm_main(argc, argv);
}
and similar for sqWin32Main.c.
Aug. 6, 2018
Re: [Pharo-dev] Stdio>>#standardIOStreamNamed:forWrite: bug?
by Alistair Grant
On Mon, 6 Aug 2018 at 12:18, Damien Pollet <damien.pollet(a)gmail.com> wrote:
>
> Yes, they do, at least on my macOS.
>
> I have some doubt about #stdioIsAvailable though⦠before there was a possible value of 4 (cygwin terminal) for the file descriptor type, which is now out of the tested range, is that intentional
Yep. Pharo can't write to a cygwin terminal since it uses the Windows
Read/WriteConsole() functions.
cygwin terminals are actually written to through pipes, and we can get
the pipe information, and thus determine it is a cygwin terminal. But
that's it for now.
Cheers,
Alistair
> On Mon, 6 Aug 2018 at 12:00, Guillermo Polito <guillermopolito(a)gmail.com> wrote:
>>
>> Damien,
>>
>> Could you check that at least the proposed image-side changes fix your problem for *nixes?
>>
>> On Sat, Aug 4, 2018 at 7:13 PM Sean P. DeNigris <sean(a)clipperadams.com> wrote:
>>>
>>> Alistair Grant wrote
>>> >> Tracking issue:
>>> >> https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/274
>>> > The issue above is for the VM changes.
>>> >
>>> > The issue for image changes is:
>>> > https://pharo.fogbugz.com/f/cases/22296/Stdio-file-creation-fixes
>>>
>>> Thanks for looking into this, Alistair! Few are brave enough to dive into
>>> these dark corners of the system ;-)
>>>
>>>
>>>
>>> -----
>>> Cheers,
>>> Sean
>>> --
>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>>>
>>
>>
>> --
>>
>>
>>
>> Guille Polito
>>
>> Research Engineer
>>
>> Centre de Recherche en Informatique, Signal et Automatique de Lille
>>
>> CRIStAL - UMR 9189
>>
>> French National Center for Scientific Research - http://www.cnrs.fr
>>
>>
>> Web: http://guillep.github.io
>>
>> Phone: +33 06 52 70 66 13
>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
Aug. 6, 2018
Re: [Pharo-dev] Stdio>>#standardIOStreamNamed:forWrite: bug?
by Damien Pollet
Yes, they do, at least on my macOS.
I have some doubt about #stdioIsAvailable though⦠before there was a
possible value of 4 (cygwin terminal) for the file descriptor type, which
is now out of the tested range, is that intentional
On Mon, 6 Aug 2018 at 12:00, Guillermo Polito <guillermopolito(a)gmail.com>
wrote:
> Damien,
>
> Could you check that at least the proposed image-side changes fix your
> problem for *nixes?
>
> On Sat, Aug 4, 2018 at 7:13 PM Sean P. DeNigris <sean(a)clipperadams.com>
> wrote:
>
>> Alistair Grant wrote
>> >> Tracking issue:
>> >> https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/274
>> > The issue above is for the VM changes.
>> >
>> > The issue for image changes is:
>> > https://pharo.fogbugz.com/f/cases/22296/Stdio-file-creation-fixes
>>
>> Thanks for looking into this, Alistair! Few are brave enough to dive into
>> these dark corners of the system ;-)
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>>
>>
>
> --
>
>
>
> Guille Polito
>
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
>
> CRIStAL - UMR 9189
>
> French National Center for Scientific Research - *http://www.cnrs.fr
> <http://www.cnrs.fr>*
>
>
> *Web:* *http://guillep.github.io* <http://guillep.github.io>
>
> *Phone: *+33 06 52 70 66 13
>
--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet
Aug. 6, 2018
Re: [Pharo-dev] Stdio>>#standardIOStreamNamed:forWrite: bug?
by Guillermo Polito
Damien,
Could you check that at least the proposed image-side changes fix your
problem for *nixes?
On Sat, Aug 4, 2018 at 7:13 PM Sean P. DeNigris <sean(a)clipperadams.com>
wrote:
> Alistair Grant wrote
> >> Tracking issue:
> >> https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/274
> > The issue above is for the VM changes.
> >
> > The issue for image changes is:
> > https://pharo.fogbugz.com/f/cases/22296/Stdio-file-creation-fixes
>
> Thanks for looking into this, Alistair! Few are brave enough to dive into
> these dark corners of the system ;-)
>
>
>
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>
>
--
Guille Polito
Research Engineer
Centre de Recherche en Informatique, Signal et Automatique de Lille
CRIStAL - UMR 9189
French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <http://guillep.github.io>
*Phone: *+33 06 52 70 66 13
Aug. 6, 2018
Re: [Pharo-dev] [rmod] About the infinite debugger
by Stéphane Ducasse
> On 6 Aug 2018, at 09:54, Tim Mackinnon <tim(a)testit.works> wrote:
>
> Hey thanks - this is Pharo 6.1, with a zero conf downloaded yesterday, and a second image from a week ago. I guess its possible that I donât have those changes - is there an easy way to check?
These changes are not in Pharo 6.1 but they should because this is terrible!
And a new version of the mooc is coming.
> Iâm happy to try applying them - or use a different image to test with - as it seems that certain conditions really rear their head and then you just get the problem over and over.
>
> On the plus side - its rare that you crash you image and then have to recover changes - but its just annoying when it gets in the way of debugging.
No it is SUPER SUPER ANNOYING.
> ITs not just all the windows, its also the fact that none of the debugger windows actually puts you in a useful stack where you can see the problem - they are all stuck on DNU with a single line stack.
>
> Tim
>
>> On 6 Aug 2018, at 09:46, Guillermo Polito <guillermopolito(a)gmail.com <mailto:guillermopolito@gmail.com>> wrote:
>>
>> Hi Tim,
>>
>> Are you on Pharo 6 or 7? If in 7, what build are you using?
>>
>> Pablo and Santi have made a fix 2 fridays ago (that I presume got integrated last week). The fix consists on changing a bit the exception handling during exception handling.
>>
>> https://github.com/pharo-project/pharo/pull/1621/files <https://github.com/pharo-project/pharo/pull/1621/files>
>>
>> The fix seems simple, but it has a lot of information contained on it (like the fact that the system introduces exception handlers in the middle of the stack transparently to manage errors while stepping, or the fact that UnhandledError does another traversal of the stack but needs to start at the good place...). The Exception tests we had are still green, and we can now do stepping on code that raises exceptions. When stepping inside the DNU multiple times the debugging experience is not as smooth as the one in Pharo 3 (before it got broken) but this is FAR BETTER than Pharo7 since we have not experienced new infinite debuggers anymore :)...
>>
>> I'll let Pablo and Santi answer more properly with the technical details.
>>
>> On my side, I think we need to better document and do some more unit tests on that dark part of the system :).
>>
>> On Mon, Aug 6, 2018 at 8:50 AM Stéphane Ducasse <stephane.ducasse(a)inria.fr <mailto:stephane.ducasse@inria.fr>> wrote:
>> Hi tim
>>
>> We know and we made huge progress because before we could not even reproduce it.
>> We spent some times on it. I thought the solution found by pablo and santiago got integrated.
>>
>> Stef
>>
>>> Guys - this really needs attention - Iâve spend hours now trying to debug some code and most of it is in closing infinite debuggers. It makes a mockery of our tagline - âawesome debuggingâ. And the extra irony is that Iâm debugging some file path stuff for exercism, to make it easier for hopefully more people to learn Pharo.
>>>
>>> How can we get this fixed?
>>>
>>> Tim
>>>
>>>> On 2 Aug 2018, at 21:44, Norbert Hartl <norbert(a)hartl.name <mailto:norbert@hartl.name>> wrote:
>>>>
>>>> bump
>>>>
>>>>> Am 04.07.2018 um 02:28 schrieb Martin McClure <martin(a)hand2mouse.com <mailto:martin@hand2mouse.com>>:
>>>>>
>>>>>> On 07/03/2018 05:02 PM, Martin McClure wrote:
>>>>>>> On 06/29/2018 07:48 AM, Guillermo Polito wrote:
>>>>>>> I know that the exception handling/debugging has been modified several
>>>>>>> times in the latest years (some refactorings, hiding contexts...), we
>>>>>>> unfortunately don't have tests for it, so I'd like some more pair of
>>>>>>> eyes on it. Ben, Martin could you take a look?
>>>>>>>
>>>>>> Hi Guille,
>>>>>> I'm just back from vacation last week, and about to go on vacation for
>>>>>> another week, but I'll see what I can see.
>>>>>> About the primitive pragmas for context-marking, I think some of those
>>>>>> were changed for the exception handling fix that Andres and I did a few
>>>>>> years back, so *could* be involved in this. I'd hate to see regression
>>>>>> in the exception handling in an attempt to fix this bug.
>>>>>>
>>>>>
>>>>> After a look at at the pull request, I'm quite sure that removing the
>>>>> prim 199 marker is the wrong thing to do. Thanks, Pablo, for restoring
>>>>> it! The start of execution of exception handlers must be marked in order
>>>>> for #findNextHandlerContext to work correctly. If these contexts are not
>>>>> marked, exceptions signaled from inside an exception handler can find
>>>>> the wrong handler. See the code and comment in #findNextHandlerContext.
>>>>>
>>>>> I'm afraid that I cannot immediately help with the debugger problem,
>>>>> since I don't know the debugger nearly as well as I do the exception
>>>>> handling code, and I'm going on vacation for a week in 20 minutes. :-)
>>>>> Perhaps when I get back I can take a look at it if it is still a problem
>>>>> by then.
>>>>>
>>>>> Regards,
>>>>> -Martin
>>>>>
>>>>
>>>
>>
>> --------------------------------------------
>> Stéphane Ducasse
>> http://stephane.ducasse.free.fr <http://stephane.ducasse.free.fr/>
>> http://www.synectique.eu <http://www.synectique.eu/> / http://www.pharo.org <http://www.pharo.org/>
>> 03 59 35 87 52
>> Assistant: Julie Jonas
>> FAX 03 59 57 78 50
>> TEL 03 59 35 86 16
>> S. Ducasse - Inria
>> 40, avenue Halley,
>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
>> Villeneuve d'Ascq 59650
>> France
>>
>>
>>
>> --
>>
>> Guille Polito
>> Research Engineer
>>
>> Centre de Recherche en Informatique, Signal et Automatique de Lille
>> CRIStAL - UMR 9189
>> French National Center for Scientific Research - http://www.cnrs.fr <http://www.cnrs.fr/>
>>
>> Web: http://guillep.github.io <http://guillep.github.io/>
>> Phone: +33 06 52 70 66 13
>
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
Aug. 6, 2018
Re: [Pharo-dev] Iceberg: Cannot Clone Pharo Repository
by Guillermo Polito
As a workaround, maybe you can try updating your fork before cloning it
from Iceberg?
$ git clone yourFork
$ git pull from-pharo
$ git push
On Mon, Aug 6, 2018 at 10:26 AM Guillermo Polito <guillermopolito(a)gmail.com>
wrote:
> Hi Eric,
>
> Thanks for the report. I'm looking into it.
>
> On Sun, Aug 5, 2018 at 6:20 PM Eric Gade <eric.gade(a)gmail.com> wrote:
>
>> I am having (new) issues cloning my forked pharo repository in a fresh P7
>> image for development. Git objects are pulled from the repository
>> successfully, but during the checkout phase the error posted below occurs
>> (I can also provide a fuel dump by request).
>>
>> Here is my current system:
>> OSX 10.13.1 (High Sierra)
>> Pharo 7.0
>> Build information:
>> Pharo-7.0+alpha.build.1159.sha.65cff7b3c78af7ecf3728abdd2f44bf0cbc8a548 (32
>> Bit)
>>
>> My fork:
>> https://github.com/darth-cheney/pharo
>>
>> Error Stack:
>>
>> ```
>> IceUnknownCommit(Object)>>doesNotUnderstand: #adopt
>> IcePharoPlugin>>repositoryWillBeCreated:
>> [ :each | each repositoryWillBeCreated: aRepository ] in
>> IcePluginManager>>repositoryWillBeCreated: in Block: [ :each | each
>> repositoryWillBeCreated: aRepositor...etc...
>> Array(SequenceableCollection)>>do:
>> IcePluginManager>>repositoryWillBeCreated:
>> IceRepositoryCreator>>cloneRepository
>> [ self validate.
>> self isCloning
>> ifTrue: [ self cloneRepository ]
>> ifFalse: [ self addLocalRepository ] ] in
>> IceRepositoryCreator>>createRepository in Block: [ self validate....
>> BlockClosure>>on:do:
>> IceRepositoryCreator>>createRepository
>> [ ^ IceRepositoryCreator new
>> repository: repository;
>> remote: (IceGitRemote url: self remoteUrl);
>> location: self projectLocation location;
>> createRepository ] in
>> IceTipGitHubRepositoryPanel(IceTipGitRepositoryPanel)>>newRepository in
>> Block: [ ^ IceRepositoryCreator new...
>> [ :bar |
>> bar label: aString.
>> aBlock value ] in MorphicUIManager(UIManager)>>informUser:during: in
>> Block: [ :bar | ...
>> [ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring: in
>> Block: [ :bar | aBlock value: bar ]
>> BlockClosure>>cull:
>> [ ^ block cull: self ] in [ self prepareForRunning.
>> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
>> Block: [ ^ block cull: self ]
>> [ activeProcess psValueAt: index put: anObject.
>> aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [
>> activeProcess psValueAt: index put: anObject....
>> BlockClosure>>ensure:
>> CurrentJob(DynamicVariable)>>value:during:
>> CurrentJob class(DynamicVariable class)>>value:during:
>> [ self prepareForRunning.
>> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
>> Block: [ self prepareForRunning....
>> BlockClosure>>ensure:
>> Job>>run
>> MorphicUIManager(UIManager)>>displayProgress:from:to:during:
>> MorphicUIManager>>informUserDuring:
>> MorphicUIManager(UIManager)>>informUser:during:
>> IceTipGitHubRepositoryPanel(IceTipGitRepositoryPanel)>>newRepository
>> IceTipGitHubRepositoryPanel>>newRepository
>> IceTipRegisterRepositoryDialog>>doAccept
>> [ self doAccept.
>> true ] in IceTipRegisterRepositoryDialog(IceTipOptionDialog)>>accept in
>> Block: [ self doAccept....
>> BlockClosure>>on:do:
>> IceTipRegisterRepositoryDialog(IceTipOptionDialog)>>accept
>> ```
>>
>> --
>> Eric
>>
>
>
> --
>
>
>
> Guille Polito
>
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
>
> CRIStAL - UMR 9189
>
> French National Center for Scientific Research - *http://www.cnrs.fr
> <http://www.cnrs.fr>*
>
>
> *Web:* *http://guillep.github.io* <http://guillep.github.io>
>
> *Phone: *+33 06 52 70 66 13
>
--
Guille Polito
Research Engineer
Centre de Recherche en Informatique, Signal et Automatique de Lille
CRIStAL - UMR 9189
French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <http://guillep.github.io>
*Phone: *+33 06 52 70 66 13
Aug. 6, 2018
Re: [Pharo-dev] Iceberg: Cannot Clone Pharo Repository
by Guillermo Polito
Hi Eric,
Thanks for the report. I'm looking into it.
On Sun, Aug 5, 2018 at 6:20 PM Eric Gade <eric.gade(a)gmail.com> wrote:
> I am having (new) issues cloning my forked pharo repository in a fresh P7
> image for development. Git objects are pulled from the repository
> successfully, but during the checkout phase the error posted below occurs
> (I can also provide a fuel dump by request).
>
> Here is my current system:
> OSX 10.13.1 (High Sierra)
> Pharo 7.0
> Build information:
> Pharo-7.0+alpha.build.1159.sha.65cff7b3c78af7ecf3728abdd2f44bf0cbc8a548 (32
> Bit)
>
> My fork:
> https://github.com/darth-cheney/pharo
>
> Error Stack:
>
> ```
> IceUnknownCommit(Object)>>doesNotUnderstand: #adopt
> IcePharoPlugin>>repositoryWillBeCreated:
> [ :each | each repositoryWillBeCreated: aRepository ] in
> IcePluginManager>>repositoryWillBeCreated: in Block: [ :each | each
> repositoryWillBeCreated: aRepositor...etc...
> Array(SequenceableCollection)>>do:
> IcePluginManager>>repositoryWillBeCreated:
> IceRepositoryCreator>>cloneRepository
> [ self validate.
> self isCloning
> ifTrue: [ self cloneRepository ]
> ifFalse: [ self addLocalRepository ] ] in
> IceRepositoryCreator>>createRepository in Block: [ self validate....
> BlockClosure>>on:do:
> IceRepositoryCreator>>createRepository
> [ ^ IceRepositoryCreator new
> repository: repository;
> remote: (IceGitRemote url: self remoteUrl);
> location: self projectLocation location;
> createRepository ] in
> IceTipGitHubRepositoryPanel(IceTipGitRepositoryPanel)>>newRepository in
> Block: [ ^ IceRepositoryCreator new...
> [ :bar |
> bar label: aString.
> aBlock value ] in MorphicUIManager(UIManager)>>informUser:during: in
> Block: [ :bar | ...
> [ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring: in
> Block: [ :bar | aBlock value: bar ]
> BlockClosure>>cull:
> [ ^ block cull: self ] in [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
> Block: [ ^ block cull: self ]
> [ activeProcess psValueAt: index put: anObject.
> aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [
> activeProcess psValueAt: index put: anObject....
> BlockClosure>>ensure:
> CurrentJob(DynamicVariable)>>value:during:
> CurrentJob class(DynamicVariable class)>>value:during:
> [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
> Block: [ self prepareForRunning....
> BlockClosure>>ensure:
> Job>>run
> MorphicUIManager(UIManager)>>displayProgress:from:to:during:
> MorphicUIManager>>informUserDuring:
> MorphicUIManager(UIManager)>>informUser:during:
> IceTipGitHubRepositoryPanel(IceTipGitRepositoryPanel)>>newRepository
> IceTipGitHubRepositoryPanel>>newRepository
> IceTipRegisterRepositoryDialog>>doAccept
> [ self doAccept.
> true ] in IceTipRegisterRepositoryDialog(IceTipOptionDialog)>>accept in
> Block: [ self doAccept....
> BlockClosure>>on:do:
> IceTipRegisterRepositoryDialog(IceTipOptionDialog)>>accept
> ```
>
> --
> Eric
>
--
Guille Polito
Research Engineer
Centre de Recherche en Informatique, Signal et Automatique de Lille
CRIStAL - UMR 9189
French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <http://guillep.github.io>
*Phone: *+33 06 52 70 66 13
Aug. 6, 2018
Re: [Pharo-dev] About the infinite debugger
by Guillermo Polito
Hi Steven,
The thing about your fix was mainly that it only worked for the case of
running tests. We could however reproduce this bug from a playground too.
At first, replacing #pass to #debug looked like a hack to me :) Just
looking at the code of runCaseForDebug:, I felt the correct thing to do
there was to use #pass (and let any potential caller handle the exception
if he wants).
Otherwise, we should be able to understand:
- can #pass be used? is it buggy?
- does it work on any case or it should be avoided in some cases?
- and how can we fix it (or at least document it?)?
But still, I think you were in the right direction too, because your fix
shows a good intuition too: both #pass and #debug will do different things
with the exception.
- #pass will **resignal** it from the current context,
- #debug will just open a debugger on it.
So that means that probably there was a problem when the exception was
handled in a calling context.
On Mon, Aug 6, 2018 at 12:29 AM Steven Costiou <steven.costiou(a)kloum.io>
wrote:
> Hi,
>
> i had no answer to my comments on fogbuz (one of the first) so i assumed
> it was not a good idea.
>
> In the usecases i used to reproduce the bug, replacing "ex pass" by "ex
> debug" in runCaseForDebug:solved the problem. See the analysis on fogbuz.
>
> Did not have any side effect, but i do not know enough about the system
> and maybe it does. I think i already asked about that somewhere (here or on
> discord) but no answers.
>
> But maybe it is wrong to do that? I'd be happy to have feedback on that.
>
> Steven.
>
> Le 2018-08-05 22:27, Tim Mackinnon a écrit :
>
> Guys - this really needs attention - I've spend hours now trying to debug
> some code and most of it is in closing infinite debuggers. It makes a
> mockery of our tagline - "awesome debugging". And the extra irony is that
> I'm debugging some file path stuff for exercism, to make it easier for
> hopefully more people to learn Pharo.
>
> How can we get this fixed?
>
> Tim
>
> On 2 Aug 2018, at 21:44, Norbert Hartl <norbert(a)hartl.name> wrote:
>
> bump
>
> Am 04.07.2018 um 02:28 schrieb Martin McClure <martin(a)hand2mouse.com>:
>
> On 07/03/2018 05:02 PM, Martin McClure wrote:
>
> On 06/29/2018 07:48 AM, Guillermo Polito wrote:
> I know that the exception handling/debugging has been modified several
> times in the latest years (some refactorings, hiding contexts...), we
> unfortunately don't have tests for it, so I'd like some more pair of
> eyes on it. Ben, Martin could you take a look?
>
> Hi Guille,
> I'm just back from vacation last week, and about to go on vacation for
> another week, but I'll see what I can see.
> About the primitive pragmas for context-marking, I think some of those
> were changed for the exception handling fix that Andres and I did a few
> years back, so *could* be involved in this. I'd hate to see regression
> in the exception handling in an attempt to fix this bug.
>
>
> After a look at at the pull request, I'm quite sure that removing the
> prim 199 marker is the wrong thing to do. Thanks, Pablo, for restoring
> it! The start of execution of exception handlers must be marked in order
> for #findNextHandlerContext to work correctly. If these contexts are not
> marked, exceptions signaled from inside an exception handler can find
> the wrong handler. See the code and comment in #findNextHandlerContext.
>
> I'm afraid that I cannot immediately help with the debugger problem,
> since I don't know the debugger nearly as well as I do the exception
> handling code, and I'm going on vacation for a week in 20 minutes. :-)
> Perhaps when I get back I can take a look at it if it is still a problem
> by then.
>
> Regards,
> -Martin
>
>
>
>
--
Guille Polito
Research Engineer
Centre de Recherche en Informatique, Signal et Automatique de Lille
CRIStAL - UMR 9189
French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <http://guillep.github.io>
*Phone: *+33 06 52 70 66 13
Aug. 6, 2018
Re: [Pharo-dev] [rmod] About the infinite debugger
by Tim Mackinnon
Hey thanks - this is Pharo 6.1, with a zero conf downloaded yesterday, and a second image from a week ago. I guess its possible that I donât have those changes - is there an easy way to check?
Iâm happy to try applying them - or use a different image to test with - as it seems that certain conditions really rear their head and then you just get the problem over and over.
On the plus side - its rare that you crash you image and then have to recover changes - but its just annoying when it gets in the way of debugging. ITs not just all the windows, its also the fact that none of the debugger windows actually puts you in a useful stack where you can see the problem - they are all stuck on DNU with a single line stack.
Tim
> On 6 Aug 2018, at 09:46, Guillermo Polito <guillermopolito(a)gmail.com> wrote:
>
> Hi Tim,
>
> Are you on Pharo 6 or 7? If in 7, what build are you using?
>
> Pablo and Santi have made a fix 2 fridays ago (that I presume got integrated last week). The fix consists on changing a bit the exception handling during exception handling.
>
> https://github.com/pharo-project/pharo/pull/1621/files <https://github.com/pharo-project/pharo/pull/1621/files>
>
> The fix seems simple, but it has a lot of information contained on it (like the fact that the system introduces exception handlers in the middle of the stack transparently to manage errors while stepping, or the fact that UnhandledError does another traversal of the stack but needs to start at the good place...). The Exception tests we had are still green, and we can now do stepping on code that raises exceptions. When stepping inside the DNU multiple times the debugging experience is not as smooth as the one in Pharo 3 (before it got broken) but this is FAR BETTER than Pharo7 since we have not experienced new infinite debuggers anymore :)...
>
> I'll let Pablo and Santi answer more properly with the technical details.
>
> On my side, I think we need to better document and do some more unit tests on that dark part of the system :).
>
> On Mon, Aug 6, 2018 at 8:50 AM Stéphane Ducasse <stephane.ducasse(a)inria.fr <mailto:stephane.ducasse@inria.fr>> wrote:
> Hi tim
>
> We know and we made huge progress because before we could not even reproduce it.
> We spent some times on it. I thought the solution found by pablo and santiago got integrated.
>
> Stef
>
>> Guys - this really needs attention - Iâve spend hours now trying to debug some code and most of it is in closing infinite debuggers. It makes a mockery of our tagline - âawesome debuggingâ. And the extra irony is that Iâm debugging some file path stuff for exercism, to make it easier for hopefully more people to learn Pharo.
>>
>> How can we get this fixed?
>>
>> Tim
>>
>>> On 2 Aug 2018, at 21:44, Norbert Hartl <norbert(a)hartl.name <mailto:norbert@hartl.name>> wrote:
>>>
>>> bump
>>>
>>>> Am 04.07.2018 um 02:28 schrieb Martin McClure <martin(a)hand2mouse.com <mailto:martin@hand2mouse.com>>:
>>>>
>>>>> On 07/03/2018 05:02 PM, Martin McClure wrote:
>>>>>> On 06/29/2018 07:48 AM, Guillermo Polito wrote:
>>>>>> I know that the exception handling/debugging has been modified several
>>>>>> times in the latest years (some refactorings, hiding contexts...), we
>>>>>> unfortunately don't have tests for it, so I'd like some more pair of
>>>>>> eyes on it. Ben, Martin could you take a look?
>>>>>>
>>>>> Hi Guille,
>>>>> I'm just back from vacation last week, and about to go on vacation for
>>>>> another week, but I'll see what I can see.
>>>>> About the primitive pragmas for context-marking, I think some of those
>>>>> were changed for the exception handling fix that Andres and I did a few
>>>>> years back, so *could* be involved in this. I'd hate to see regression
>>>>> in the exception handling in an attempt to fix this bug.
>>>>>
>>>>
>>>> After a look at at the pull request, I'm quite sure that removing the
>>>> prim 199 marker is the wrong thing to do. Thanks, Pablo, for restoring
>>>> it! The start of execution of exception handlers must be marked in order
>>>> for #findNextHandlerContext to work correctly. If these contexts are not
>>>> marked, exceptions signaled from inside an exception handler can find
>>>> the wrong handler. See the code and comment in #findNextHandlerContext.
>>>>
>>>> I'm afraid that I cannot immediately help with the debugger problem,
>>>> since I don't know the debugger nearly as well as I do the exception
>>>> handling code, and I'm going on vacation for a week in 20 minutes. :-)
>>>> Perhaps when I get back I can take a look at it if it is still a problem
>>>> by then.
>>>>
>>>> Regards,
>>>> -Martin
>>>>
>>>
>>
>
> --------------------------------------------
> Stéphane Ducasse
> http://stephane.ducasse.free.fr <http://stephane.ducasse.free.fr/>
> http://www.synectique.eu <http://www.synectique.eu/> / http://www.pharo.org <http://www.pharo.org/>
> 03 59 35 87 52
> Assistant: Julie Jonas
> FAX 03 59 57 78 50
> TEL 03 59 35 86 16
> S. Ducasse - Inria
> 40, avenue Halley,
> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
> Villeneuve d'Ascq 59650
> France
>
>
>
> --
>
> Guille Polito
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
> CRIStAL - UMR 9189
> French National Center for Scientific Research - http://www.cnrs.fr <http://www.cnrs.fr/>
>
> Web: http://guillep.github.io <http://guillep.github.io/>
> Phone: +33 06 52 70 66 13
Aug. 6, 2018
Re: [Pharo-dev] [rmod] About the infinite debugger
by Guillermo Polito
Hi Tim,
Are you on Pharo 6 or 7? If in 7, what build are you using?
Pablo and Santi have made a fix 2 fridays ago (that I presume got
integrated last week). The fix consists on changing a bit the exception
handling during exception handling.
https://github.com/pharo-project/pharo/pull/1621/files
The fix seems simple, but it has a lot of information contained on it (like
the fact that the system introduces exception handlers in the middle of the
stack transparently to manage errors while stepping, or the fact that
UnhandledError does another traversal of the stack but needs to start at
the good place...). The Exception tests we had are still green, and we can
now do stepping on code that raises exceptions. When stepping inside the
DNU multiple times the debugging experience is not as smooth as the one in
Pharo 3 (before it got broken) but this is FAR BETTER than Pharo7 since we
have not experienced new infinite debuggers anymore :)...
I'll let Pablo and Santi answer more properly with the technical details.
On my side, I think we need to better document and do some more unit tests
on that dark part of the system :).
On Mon, Aug 6, 2018 at 8:50 AM Stéphane Ducasse <stephane.ducasse(a)inria.fr>
wrote:
> Hi tim
>
> We know and we made huge progress because before we could not even
> reproduce it.
> We spent some times on it. I thought the solution found by pablo and
> santiago got integrated.
>
> Stef
>
> Guys - this really needs attention - Iâve spend hours now trying to debug
> some code and most of it is in closing infinite debuggers. It makes a
> mockery of our tagline - âawesome debuggingâ. And the extra irony is that
> Iâm debugging some file path stuff for exercism, to make it easier for
> hopefully more people to learn Pharo.
>
> How can we get this fixed?
>
> Tim
>
> On 2 Aug 2018, at 21:44, Norbert Hartl <norbert(a)hartl.name> wrote:
>
> bump
>
> Am 04.07.2018 um 02:28 schrieb Martin McClure <martin(a)hand2mouse.com>:
>
> On 07/03/2018 05:02 PM, Martin McClure wrote:
>
> On 06/29/2018 07:48 AM, Guillermo Polito wrote:
> I know that the exception handling/debugging has been modified several
> times in the latest years (some refactorings, hiding contexts...), we
> unfortunately don't have tests for it, so I'd like some more pair of
> eyes on it. Ben, Martin could you take a look?
>
> Hi Guille,
> I'm just back from vacation last week, and about to go on vacation for
> another week, but I'll see what I can see.
> About the primitive pragmas for context-marking, I think some of those
> were changed for the exception handling fix that Andres and I did a few
> years back, so *could* be involved in this. I'd hate to see regression
> in the exception handling in an attempt to fix this bug.
>
>
> After a look at at the pull request, I'm quite sure that removing the
> prim 199 marker is the wrong thing to do. Thanks, Pablo, for restoring
> it! The start of execution of exception handlers must be marked in order
> for #findNextHandlerContext to work correctly. If these contexts are not
> marked, exceptions signaled from inside an exception handler can find
> the wrong handler. See the code and comment in #findNextHandlerContext.
>
> I'm afraid that I cannot immediately help with the debugger problem,
> since I don't know the debugger nearly as well as I do the exception
> handling code, and I'm going on vacation for a week in 20 minutes. :-)
> Perhaps when I get back I can take a look at it if it is still a problem
> by then.
>
> Regards,
> -Martin
>
>
>
>
> --------------------------------------------
> Stéphane Ducasse
> http://stephane.ducasse.free.fr
> http://www.synectique.eu / http://www.pharo.org
> 03 59 35 87 52
> Assistant: Julie Jonas
> FAX 03 59 57 78 50
> TEL 03 59 35 86 16
> S. Ducasse - Inria
> 40, avenue Halley,
> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
> Villeneuve d'Ascq 59650
> France
>
>
--
Guille Polito
Research Engineer
Centre de Recherche en Informatique, Signal et Automatique de Lille
CRIStAL - UMR 9189
French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <http://guillep.github.io>
*Phone: *+33 06 52 70 66 13
Aug. 6, 2018