I have an event registration with three static arguments (nil, objectA, objectB). This event is triggered with a collection as the argument, making the call with arguments (collection,objectA,objectB).
The funny (well.... funny) thing is that if this just runs, it throws up. Something is messed up in WeakMessageSend>>valueWithArguments: so that the #perform:withArguments: in there is sent to the (dynamic) argument array, with selector being the intended recipient and argArray is messed up, it looks like there's even a methodContext in there (but with the wrong number of actual temps w.r.t. the selector name so that the method context won't print).
When single stepping, everything works like a charm. That makes it really strange...
This happens on my machine, on a colleague's machine, and also when I restart from my base image loading everything into it. I'm completely lost here - does anyone have an idea what this could be?
On Thu, 31 Mar 2005 13:31:40 +0200, Cees de Groot cg@cdegroot.com wrote:
This happens on my machine, on a colleague's machine, and also when I restart from my base image loading everything into it. I'm completely lost here - does anyone have an idea what this could be?
OBTW - this is in wxSqueak (0.5, based on 3.7-5989). I'll try to reproduce it in another Squeak, but that might be hard (I don't know what this bug depends on...)
On Thu, 31 Mar 2005 13:45:50 +0200, Cees de Groot cg@cdegroot.com wrote:
I'll try to reproduce it in another Squeak, but that might be hard (I don't know what this bug depends on...)
'From Squeak3.8gamma of ''24 November 2004'' [latest update: #6597] on 31 March 2005 at 2:05:10 pm'! Object subclass: #TestTest instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Test'!
!TestTest methodsFor: 'as yet unclassified' stamp: 'CdG 3/31/2005 14:03'! foo: one with: two with: three Transcript show: one printString, two printString, three printString; cr! !
!TestTest methodsFor: 'as yet unclassified' stamp: 'CdG 3/31/2005 14:02'! test self when: #foo send: #foo:with:with: to: self withArguments: {nil. 'one'. 2}. self triggerEvent: #foo with: $-! !
"TestTest new test" reproduces this issue. Is it a real bug or am I missing something (I'm betting on the former, but I have a reputation of overlooking the obvious ;))
Hi, I'm in the process of moving it to the Mantis.
But I thought I let you know right away that I am able to reproduce this issue in the latest Squeak image (3.9a with latest updates) so it is not just you. :-)
I seen this similar behaviour before in the IBM VisualAge Smalltalk product. I vaguely remember it might be due to event-handling or timing issues (at least for VisualAge Smalltalk) but I'll have to check with one of the programmers on my team at work.
Larry Trutter
Cees de Groot wrote:
On Thu, 31 Mar 2005 13:45:50 +0200, Cees de Groot cg@cdegroot.com wrote:
I'll try to reproduce it in another Squeak, but that might be hard (I don't know what this bug depends on...)
'From Squeak3.8gamma of ''24 November 2004'' [latest update: #6597] on 31 March 2005 at 2:05:10 pm'! Object subclass: #TestTest instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Test'!
!TestTest methodsFor: 'as yet unclassified' stamp: 'CdG 3/31/2005 14:03'! foo: one with: two with: three Transcript show: one printString, two printString, three printString; cr! !
!TestTest methodsFor: 'as yet unclassified' stamp: 'CdG 3/31/2005 14:02'! test self when: #foo send: #foo:with:with: to: self withArguments: {nil. 'one'. 2}. self triggerEvent: #foo with: $-! !
"TestTest new test" reproduces this issue. Is it a real bug or am I missing something (I'm betting on the former, but I have a reputation of overlooking the obvious ;))
On Thu, 31 Mar 2005 07:57:25 -0600, Larry Trutter ltrutter@onemain.com wrote:
But I thought I let you know right away that I am able to reproduce this issue in the latest Squeak image (3.9a with latest updates) so it is not just you. :-)
Good. That was the main reason I didn't throw it into Mantis myself. Thanks for taking the trouble to reproduce it.
#valueWithArgs got broken in VMMaker 3.7.b1 by some changes Andreas provided which didn't pop the stack properly. The VMMaker3.7b6 release includes a fix and the 3.8 VMMaker has always included it.
I strongly urge use of a VMMaker 3.7b6 or VMMaker 3.8b3 produced VM. So far as I am aware only the RISC OS VM is currently of that status.
tim -- Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim Useful random insult:- Puts a finger in his ear so the draft through his head isn't annoying.
On Thu, 31 Mar 2005 07:49:37 -0800, Tim Rowledge tim@sumeru.stanford.edu wrote:
I strongly urge use of a VMMaker 3.7b6 or VMMaker 3.8b3 produced VM. So far as I am aware only the RISC OS VM is currently of that status.
Thank, Tim. This is a homebrew VM anyway (for debugging purposes) so when opportunity comes I'll regenerate the sources with VMMaker <latest>.<greatest>
Useful random insult:- Puts a finger in his ear so the draft through his head isn't annoying.
I never do that - risk of too much pressure building up and your eyes popping out....
Thank you for your report. I have transferred your report to Squeak's Mantis Database and you can followup on the issue if desired by going to http://bugs.impara.de/view.php?id=1027 .
In the future please report new issues on Squeak's Mantis Database at http://bugs.impara.de/ .
Thanks!
Cees de Groot wrote:
On Thu, 31 Mar 2005 13:45:50 +0200, Cees de Groot cg@cdegroot.com wrote:
I'll try to reproduce it in another Squeak, but that might be hard (I don't know what this bug depends on...)
'From Squeak3.8gamma of ''24 November 2004'' [latest update: #6597] on 31 March 2005 at 2:05:10 pm'! Object subclass: #TestTest instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Test'!
!TestTest methodsFor: 'as yet unclassified' stamp: 'CdG 3/31/2005 14:03'! foo: one with: two with: three Transcript show: one printString, two printString, three printString; cr! !
!TestTest methodsFor: 'as yet unclassified' stamp: 'CdG 3/31/2005 14:02'! test self when: #foo send: #foo:with:with: to: self withArguments: {nil. 'one'. 2}. self triggerEvent: #foo with: $-! !
"TestTest new test" reproduces this issue. Is it a real bug or am I missing something (I'm betting on the former, but I have a reputation of overlooking the obvious ;))
squeak-dev@lists.squeakfoundation.org