Debugger hang when step throught

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Debugger hang when step throught

HilaireFernandes
Hello,

The faulty code bellow when debugged and 'step through' cause the
debugger to hang:

self inform: '1'.
#(2 3 4) select: [:i| i] thenDo: [:n| self inform: n printString ].
self inform: '5'.

It seems trapped in an infinite loop, you can more or less get control
back with Alt+[.]


When step in, the debugger properly report the error.

Pharo #60362.


I did not see similar bug report, shall I?

--
Dr. Geo
http://drgeo.eu


Reply | Threaded
Open this post in threaded view
|

Re: Debugger hang when step throught

Stephane Ducasse-3
tx for the report hilaire. 
Indeed I can reproduce your bug
- I pasted it
- I did debug it
over over and through trhough and my system froze. 

On Mon, Feb 6, 2017 at 7:04 PM, Hilaire <[hidden email]> wrote:
Hello,

The faulty code bellow when debugged and 'step through' cause the
debugger to hang:

self inform: '1'.
#(2 3 4) select: [:i| i] thenDo: [:n| self inform: n printString ].
self inform: '5'.

It seems trapped in an infinite loop, you can more or less get control
back with Alt+[.]


When step in, the debugger properly report the error.

Pharo #60362.


I did not see similar bug report, shall I?

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
|

Re: Debugger hang when step throught

Denis Kudriashov
More simple way to reproduce:

#(2) select: [:i| i]

Problem somehow related to mustBeBoolean error. If you try debug

#(2) select: [:i| i / 0]

Debugger will fallback into #/ method at ZeroDivide statement. But with mustBeBoolean trick it's not work.


2017-02-07 8:03 GMT+01:00 Stephane Ducasse <[hidden email]>:
tx for the report hilaire. 
Indeed I can reproduce your bug
- I pasted it
- I did debug it
over over and through trhough and my system froze. 

On Mon, Feb 6, 2017 at 7:04 PM, Hilaire <[hidden email]> wrote:
Hello,

The faulty code bellow when debugged and 'step through' cause the
debugger to hang:

self inform: '1'.
#(2 3 4) select: [:i| i] thenDo: [:n| self inform: n printString ].
self inform: '5'.

It seems trapped in an infinite loop, you can more or less get control
back with Alt+[.]


When step in, the debugger properly report the error.

Pharo #60362.


I did not see similar bug report, shall I?

--
Dr. Geo
http://drgeo.eu




Reply | Threaded
Open this post in threaded view
|

Re: Debugger hang when step throught

Denis Kudriashov

2017-02-07 10:30 GMT+01:00 Denis Kudriashov <[hidden email]>:
More simple way to reproduce:

#(2) select: [:i| i]

Problem somehow related to mustBeBoolean error. If you try debug

#(2) select: [:i| i / 0]

Debugger will fallback into #/ method at ZeroDivide statement. But with mustBeBoolean trick it's not work.

I open issue 19662.

Also I found another funny issue. Try debugIt following expression:
1 ifTrue: [2].
You will be wondering that debugger will not able to open.

Reply | Threaded
Open this post in threaded view
|

Re: Debugger hang when step throught

philippeback
I regularly got hit by this kind of lockup.

Do not know exactly why it locks up but then it is "kill pharo" "recover changes" and "change sorter" fun session... Got one an hour ago, drives me up the wall.

It is one of the reasons that made me add the Save with Timetag feature. 

Inline image 1

Will be nicer when the image compaction will work because this makes me a couple of huge files (space is cheap, but the size seems  to affect autocompletion speed for some reason).

Phil

On Tue, Feb 7, 2017 at 10:35 AM, Denis Kudriashov <[hidden email]> wrote:

2017-02-07 10:30 GMT+01:00 Denis Kudriashov <[hidden email]>:
More simple way to reproduce:

#(2) select: [:i| i]

Problem somehow related to mustBeBoolean error. If you try debug

#(2) select: [:i| i / 0]

Debugger will fallback into #/ method at ZeroDivide statement. But with mustBeBoolean trick it's not work.

I open issue 19662.

Also I found another funny issue. Try debugIt following expression:
1 ifTrue: [2].
You will be wondering that debugger will not able to open.