If I search using a wildcard using the VA Assist Pro method + Browse Methods + Including String... menu I get a stack overflow, so far no matter what I search for. This happens with a freshly installed VAST 8.5.2 image. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
Hi Carl,
what's the content of the String instance? Can you dig down the Stack to the beginning of the rec.ursion? I can't remember seeing this error... Joachim Am Freitag, 26. April 2013 14:30:34 UTC+2 schrieb Carl Gundel: -- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
On Friday, April 26, 2013 9:19:31 AM UTC-4, [hidden email] wrote: Hi Carl, Good point. Here is an example that causes the stack overflow. -Carl '*registry*' match: 'M; offset: 10));
-- orientation: 1. notebookPage3 tabLabel: (abtSeparatedConstants at: 2) " ''Tab 1'' " . pushButton3 object: (abtSeparatedConstants at: 3) " ''Push Button'' " ; framingSpec: (AbtViewAttachmentConstraint new leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 261); rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 128); topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 94); bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 52)). notebookPage1 tabLabel: (abtSeparatedConstants at: 4) " ''Tab 2'' " ; framingSpec: (AbtViewAttachmentConstraint new leftEdge: (AbtEdgeConstant new offset: 28); topEdge: (AbtEdgeConstant new offset: 18)). pushButton1 object: (abtSeparatedConstants at: 5) " ''Push Button'' " ; framingSpec: (AbtViewAttachmentConstraint new leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 122); rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHNONE); topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 86); bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHNONE)). notebookPage2 tabLabel: (abtSeparatedConstants at: 6) " ''Tab 3'' " ; framingSpec: (AbtViewAttachmentConstraint new leftEdge: (AbtEdgeConstant new offset: 398); topEdge: (AbtEdgeConstant new offset: 365)). pushButton2 object: (abtSeparatedConstants at: 7) " ''Push Button'' " ; framingSpec: (AbtViewAttachmentConstraint new leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 295); rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHNONE); topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 24); bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHNONE)). label1 object: (abtSeparatedConstants at: 8) " ''View the connections on ""Tab 2"" with ""Optimize'' " ; framingSpec: (AbtViewAttachmentConstraint new leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 10); rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 9); topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 4); bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 20)). label11 object: (abtSeparatedConstants at: 9) " ''Connection Display"" turned on and off.'' " ; framingSpec: (AbtViewAttachmentConstraint new leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 10); rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 9); topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 27); bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 20)). conn0 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn0 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn2 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn2 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn4 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn4 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn6 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn6 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn8 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn8 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn10 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn10 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn12 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn12 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn14 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn14 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn16 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn16 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn18 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn18 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn20 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn20 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn22 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn22 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn24 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn24 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn26 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn26 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn28 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn28 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn30 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn30 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn32 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn32 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn34 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn34 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn36 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn36 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn38 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn38 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn40 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn40 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn42 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn42 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn44 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn44 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn46 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn46 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn48 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn48 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn50 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn50 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn52 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn52 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn54 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn54 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn56 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn56 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn58 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn58 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn60 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn60 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn62 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn62 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn64 := AbtEventToActionConnection new connectSource: pushButton1 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #addAll: featureSelector: #IS_addAll_. conn64 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn66 := AbtEventToActionConnection new connectSource: pushButton2 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #removeAll: featureSelector: #IS_removeAll_. conn66 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). conn68 := AbtEventToActionConnection new connectSource: pushButton3 featureName: #clicked feature: AbtPushButtonView IS_clicked; actionProvider: object1 variableFeatureName: #removeAll: featureSelector: #IS_removeAll_. conn68 forParameter: #aCollection perform: (DirectedMessage new receiver: object2; selector: #abtGetValueOfAttribute:; arguments: (Array with: AbtVariable IS_self)). pushButton3 abtWhenPrimitive: #clicked perform: (conn70 := AbtEventToActionConnection new source: pushButton3; eventName: #clicked; actionProvider: pushButton3 featureName: #enabled feature: AbtPushButtonView IS_enabled). pushButton3 abtWhenPrimitive: #clicked perform: (conn71 := AbtEventToActionConnection new source: pushButton3; eventName: #clicked; actionProvider: pushButton3 featureName: #enabled feature: AbtPushButtonView IS_enabled). self initializeAttributeConnections. self finalInitialize. ' You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
Hi Carl,
so you are searching for the String '*registry*', right? I am not sure if that feature is considered to work with wildcards. I must admit I never tried... Can you try without the stars? I don't have an Image at hand right now, but I guess you will see it work as expected. Search Methods including String always searches for occurrences of a String as if you added * at both ends Joachim Am Freitag, 26. April 2013 15:26:21 UTC+2 schrieb Carl Gundel:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
In reply to this post by Carl Gundel-2
On Friday, April 26, 2013 8:30:34 AM UTC-4, Carl Gundel wrote:
It's actually pointless to search for anything string with a leading or trailing wild card - just searching for the string will have the same effect. You might want to search for a string with an embedded wild card; e.g. "registry*entry". This may well be desirable, but it does generate a stack overflow. As Joachim suggests, the method was probably never intended to work with wild cards... Tom You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
Tom,
but the interesting thing here is that this is just a send of#match: and thus has nothing to do with VA Assist... when I get back to a vast installation, i'll give it a try. I remeber using match: or match:ignoreCase: or such with wildcards (also like this: *string*)... neverthheless, I think Carl should try without wildcards and he'll get what he wants... Joachim Am Freitag, 26. April 2013 18:42:53 UTC+2 schrieb Thomas Koschate: On Friday, April 26, 2013 8:30:34 AM UTC-4, Carl Gundel wrote:-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
Hmm,
this is interesting. VA Assist does in fact add stars to the end and beginning of a search term if there aren't any before it tries to match a string. (see Object>>stsAllMethodsIncludingString:progressDialog:), so the stack Carl sent here does not necessarily mean he added stars to the search field. And it seems it shouldn't matter. I get the same stack overflow in 8.5.2 on Win 7 64 if I enter '*test*', after the progress dialog mentioned somewhat above 125 occurences... But searching for 'test' does work.... The method it breaks upon is also an Implementation of abtBuildInternals in my case (AbtApplicationPrefixesView>>#abtBuildInternals, to be exact, but it does probably not matter) and the method that fails is CompiledMethod>>#stsHasWildString:. Diving down into the cascade of starMatch:... and match:, you can see the match: method does indeed split the method and cut off the first x characters (maybe the "'test' size" characters) and try to matche the remaining string. So this sure is a case for Instantiations Support. Joachim Am Freitag, 26. April 2013 19:16:47 UTC+2 schrieb [hidden email]: Tom,-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
That's right. There's no reason why a debugger should ever open when searching for methods for any particular string the user might type in. -Carl On Monday, April 29, 2013 3:00:53 AM UTC-4, [hidden email] wrote: Hmm,-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
In reply to this post by jtuchel
Hello Joachim,
this is actually a known issue. We're working on in as case 49066. It is usually triggered by use of wild cards. Solveig On Monday, April 29, 2013 3:00:53 AM UTC-4, [hidden email] wrote: Hmm,-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk?hl=en. For more options, visit https://groups.google.com/groups/opt_out. |
Free forum by Nabble | Edit this page |