Issue with PRFullTextSearch - WideString

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

Issue with PRFullTextSearch - WideString

Reza Razavi
Hi,

Congratulations for the release of Pharo 1.0!

I'd also like to report a confusing issue encountered in following setting:
- VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179]
- Image: PharoCore1.0rc1 [Latest update: #10505]

In the stack traces, I can see the following
string 'Ambient Activity Systems ????????????????

However, that string is in reality 'Ambient
Activity Systems – Key Features', which I can
re-obtain by copying & pasting the string above
to any other text processor, like Word. But, if I
copy & past it into another editor in Pharo, it
shows 'Ambient Activity Systems ? Key Features'.
Now again, if I copy & past this latter string to
another editor, it shows the original one, that
is 'Ambient Activity Systems – Key Features'.

The full stack is copied below. I tried to report
this issue via "Mister Postman" so as you get the
full details of the stack, but got a
*ConnectionTimeOut*, raised via SMTPClient >>
fetchNextResponse, then SocketStream nextLine. If
more details are needed, please tell me.

How the above differences could be explained, and
could they explain the "subscript is out of bounds: 8212" error?
Regards,
Reza Razavi


--- The full stack ---
ByteArray(Object)>>error:
ByteArray(Object)>>errorSubscriptBounds:
ByteArray(Object)>>at:
WideString(String)>>findSubstring:in:startingAt:matchTable:
WideString(String)>>findString:startingAt:caseSensitive:
WideString(String)>>includesSubstring:caseSensitive:
[] in [] in PRFullTextSearch>>visitStructure:
[] in Set(Collection)>>anySatisfy:
Set>>do:
Set(Collection)>>anySatisfy:
[] in PRFullTextSearch>>visitStructure:
SortedCollection(OrderedCollection)>>do:
MAPriorityContainer(MAContainer)>>do:
PRFullTextSearch>>visitStructure:
PRFullTextSearch(PRVisitor)>>visitCase:
PRFullTextSearch(PRVisitor)>>visitPage:
PRPage>>accept:
PRPage(Object)>>acceptDecorated:
[] in PRPage(PRDecorated)>>acceptDecorated:
PRPage(PRDecorated)>>decorationsDo:ownerDo:
PRPage(PRDecorated)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRFullTextSearch(PRVisitor)>>visitAll:
Array(SequenceableCollection)>>do:
PRFullTextSearch(PRVisitor)>>visitAll:
PRFullTextSearch>>visitChildren:
PRChildren>>accept:
PRChildren(Object)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRPage(PRDecorated)>>acceptDecorated:
[] in PRPage(PRDecorated)>>decorationsDo:ownerDo:
Array(SequenceableCollection)>>do:
PRPage(PRDecorated)>>decorationsDo:ownerDo:
PRPage(PRDecorated)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRFullTextSearch(PRVisitor)>>visitAll:
Array(SequenceableCollection)>>do:
PRFullTextSearch(PRVisitor)>>visitAll:
PRFullTextSearch>>visitChildren:
  - - - - - - - - - - - - - - -
                        - - - - - - - - - - - - - - - - - -
PRChildren>>accept:
PRChildren(Object)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRPage(PRDecorated)>>acceptDecorated:
[] in PRPage(PRDecorated)>>decorationsDo:ownerDo:
Array(SequenceableCollection)>>do:
PRPage(PRDecorated)>>decorationsDo:ownerDo:
PRPage(PRDecorated)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
PRFullTextSearch(PRVisitor)>>start:
PRFullTextSearch>>start:
PRFullTextSearch(PREnumerableVisitor)>>do:
[] in PRFullTextSearch(PREnumerableVisitor)>>collect:
Array class(SequenceableCollection class)>>streamContents:
PRFullTextSearch(PREnumerableVisitor)>>collect:
PRFullTextSearch(PREnumerableVisitor)>>contents
PRAjaxSearchWidget>>findItems
PRAjaxSearchWidget>>unfilteredItems
PRAjaxSearchWidget(PRStructuresWidget)>>items
[] in PRAjaxSearchWidget>>renderItemsOn:for:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
[] in WAUnorderedListTag(WATagBrush)>>with:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
WARenderCanvas(WACanvas)>>nest:
WAUnorderedListTag(WABrush)>>with:
WAUnorderedListTag(WATagBrush)>>with:
WARenderCanvas(WAHtmlCanvas)>>unorderedList:
PRAjaxSearchWidget>>renderItemsOn:for:
GRUnboundDelayedSend>>valueWithArguments:
[] in SUAutocompleter(PTUpdater)>>processOn:with:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
[] in SUAutocompleter(JSObject)>>render:on:
[] in WARenderContext>>document:during:
BlockClosure>>ensure:
WARenderContext>>document:during:
SUAutocompleter(JSObject)>>render:on:
SUAutocompleter(PTUpdater)>>processOn:with:
[] in SUAutocompleter(PTAjax)>>processWith:
WARequestContext>>respond:
SUAutocompleter(PTAjax)>>processWith:
[] in SUAutocompleter>>registerCallbackIn:
BlockClosure>>valueWithPossibleArguments:
JSAjaxCallback>>evaluateWithArgument:
JSAjaxCallback(WACallback)>>evaluateWithFieldValues:
[] in WACallbackRegistry>>handle:
Array(SequenceableCollection)>>do:
WACallbackRegistry>>handle:
[] in [] in WAActionPhaseContinuation>>runCallbacks
BlockClosure>>on:do:
WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo:
[] in WAActionPhaseContinuation>>runCallbacks
BlockClosure>>ensure:
WAActionPhaseContinuation>>runCallbacks
WAActionPhaseContinuation>>handleRequest
[] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue
BlockClosure>>on:do:
WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo:
WAActionPhaseContinuation(WASessionContinuation)>>basicValue
WAActionPhaseContinuation(WASessionContinuation)>>value
WASession>>handleFiltered:
PRContextFilter(WARequestFilter)>>handleFiltered:
[] in PRContextFilter>>handleFiltered:
BlockClosure>>on:do:
PRCurrentContext class>>use:during:
PRContextFilter>>handleFiltered:
WAMutualExclusionFilter(WARequestFilter)>>handleFiltered:
[] in WAMutualExclusionFilter>>handleFiltered:
BlockClosure>>ensure:
[] in WAMutex>>critical:
[] in Semaphore>>critical:
BlockClosure>>ensure:
Semaphore>>critical:
WAMutex>>critical:
WAMutualExclusionFilter>>handleFiltered:
[] in WASession(WARequestHandler)>>handle:
BlockClosure>>on:do:
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
[] in WARequestContext>>push:while:
BlockClosure>>ensure:
WARequestContext>>push:while:
WASession(WARequestHandler)>>handle:
WAApplication(WARegistry)>>dispatch:to:
WAApplication(WARegistry)>>handleKeyed:with:
WAApplication(WARegistry)>>handleFiltered:
WAApplication>>handleFiltered:
WAAuthenticationFilter(WARequestFilter)>>handleFiltered:
WAAuthenticationFilter>>handleFiltered:
WAExceptionFilter(WARequestFilter)>>handleFiltered:
[] in WAExceptionFilter>>handleFiltered:
BlockClosure>>on:do:
WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring:
WAWalkbackErrorHandler class(WAExceptionHandler
class)>>handleExceptionsDuring:context:
WAExceptionFilter>>handleFiltered:
[] in WAApplication(WARequestHandler)>>handle:
BlockClosure>>on:do:
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
[] in WARequestContext>>push:while:
BlockClosure>>ensure:
WARequestContext>>push:while:
WAApplication(WARequestHandler)>>handle:
WADispatcher>>handleFiltered:named:
WADispatcher>>handleFiltered:
[] in WADispatcher(WARequestHandler)>>handle:
BlockClosure>>on:do:
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
[] in WARequestContext>>push:while:
BlockClosure>>ensure:
WARequestContext>>push:while:
WADispatcher(WARequestHandler)>>handle:
WADispatcher>>handleFiltered:named:
WADispatcher>>handleFiltered:
[] in WADispatcher(WARequestHandler)>>handle:
BlockClosure>>on:do:
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
[] in WARequestContext>>push:while:
BlockClosure>>ensure:
WARequestContext>>push:while:
WADispatcher(WARequestHandler)>>handle:
[] in WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
BlockClosure>>on:do:
WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
WAComancheAdaptor(WAServerAdaptor)>>handle:
[] in WAComancheAdaptor(WAServerAdaptor)>>process:
BlockClosure>>ensure:
WAComancheAdaptor(WAServerAdaptor)>>process:
WAComancheAdaptor>>processHttpRequest:
HttpService>>processHttpRequest:
[] in HttpAdaptor>>dispatchRequest:
BlockClosure>>on:do:
HttpService>>handleDispatchErrorsIn:
HttpAdaptor>>dispatchRequest:
[] in [] in HttpAdaptor>>beginConversation
BlockClosure>>on:do:
BlockClosure>>valueWithBindingsContext:
BlockClosure>>valueWithBindings:
BindingsAccessor>>clamp:
[] in HttpAdaptor>>beginConversation
BlockClosure>>ensure:
HttpAdaptor>>beginConversation
HttpAdaptor class>>readAndWriteTo:service:
HttpAdaptor class>>readAndWriteToSocket:service:
HttpService>>serve:
[] in HttpService(TcpService)>>value:
BlockClosure>>on:do:
BlockClosure>>valueWithBindingsContext:
BlockClosure>>valueWithBindings:
BindingsAccessor>>clamp:
[] in BlockClosure>>newProcessWithClampedBindings:
BlockClosure>>on:do:
BlockClosure>>valueWithBindingsContext:
BlockClosure>>valueWithBindings:
[] in BlockClosure>>newProcessWithBindings:
[] in BlockClosure>>newProcess


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Issue with PRFullTextSearch - WideString

Lukas Renggli
This is likely a problem of the server adaptor you selected in your
seaside setup. Do you use WAKomEncoded in Seaside 2.8 or the UTF-8
codex in Seaside 3?

Lukas

On 15 April 2010 17:54, Reza RAZAVI <[hidden email]> wrote:

> Hi,
>
> Congratulations for the release of Pharo 1.0!
>
> I'd also like to report a confusing issue encountered in following setting:
> - VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update:
> #7179]
> - Image: PharoCore1.0rc1 [Latest update: #10505]
>
> In the stack traces, I can see the following string 'Ambient Activity
> Systems ????????????????
>
> However, that string is in reality 'Ambient Activity Systems – Key
> Features', which I can re-obtain by copying & pasting the string above to
> any other text processor, like Word. But, if I copy & past it into another
> editor in Pharo, it shows 'Ambient Activity Systems ? Key Features'. Now
> again, if I copy & past this latter string to another editor, it shows the
> original one, that is 'Ambient Activity Systems – Key Features'.
>
> The full stack is copied below. I tried to report this issue via "Mister
> Postman" so as you get the full details of the stack, but got a
> *ConnectionTimeOut*, raised via SMTPClient >> fetchNextResponse, then
> SocketStream nextLine. If more details are needed, please tell me.
>
> How the above differences could be explained, and could they explain the
> "subscript is out of bounds: 8212" error?
> Regards,
> Reza Razavi
>
>
> --- The full stack ---
> ByteArray(Object)>>error:
> ByteArray(Object)>>errorSubscriptBounds:
> ByteArray(Object)>>at:
> WideString(String)>>findSubstring:in:startingAt:matchTable:
> WideString(String)>>findString:startingAt:caseSensitive:
> WideString(String)>>includesSubstring:caseSensitive:
> [] in [] in PRFullTextSearch>>visitStructure:
> [] in Set(Collection)>>anySatisfy:
> Set>>do:
> Set(Collection)>>anySatisfy:
> [] in PRFullTextSearch>>visitStructure:
> SortedCollection(OrderedCollection)>>do:
> MAPriorityContainer(MAContainer)>>do:
> PRFullTextSearch>>visitStructure:
> PRFullTextSearch(PRVisitor)>>visitCase:
> PRFullTextSearch(PRVisitor)>>visitPage:
> PRPage>>accept:
> PRPage(Object)>>acceptDecorated:
> [] in PRPage(PRDecorated)>>acceptDecorated:
> PRPage(PRDecorated)>>decorationsDo:ownerDo:
> PRPage(PRDecorated)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRFullTextSearch(PRVisitor)>>visitAll:
> Array(SequenceableCollection)>>do:
> PRFullTextSearch(PRVisitor)>>visitAll:
> PRFullTextSearch>>visitChildren:
> PRChildren>>accept:
> PRChildren(Object)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRPage(PRDecorated)>>acceptDecorated:
> [] in PRPage(PRDecorated)>>decorationsDo:ownerDo:
> Array(SequenceableCollection)>>do:
> PRPage(PRDecorated)>>decorationsDo:ownerDo:
> PRPage(PRDecorated)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRFullTextSearch(PRVisitor)>>visitAll:
> Array(SequenceableCollection)>>do:
> PRFullTextSearch(PRVisitor)>>visitAll:
> PRFullTextSearch>>visitChildren:
>  - - - - - - - - - - - - - - -
>                        - - - - - - - - - - - - - - - - - -
> PRChildren>>accept:
> PRChildren(Object)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRPage(PRDecorated)>>acceptDecorated:
> [] in PRPage(PRDecorated)>>decorationsDo:ownerDo:
> Array(SequenceableCollection)>>do:
> PRPage(PRDecorated)>>decorationsDo:ownerDo:
> PRPage(PRDecorated)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> PRFullTextSearch(PRVisitor)>>start:
> PRFullTextSearch>>start:
> PRFullTextSearch(PREnumerableVisitor)>>do:
> [] in PRFullTextSearch(PREnumerableVisitor)>>collect:
> Array class(SequenceableCollection class)>>streamContents:
> PRFullTextSearch(PREnumerableVisitor)>>collect:
> PRFullTextSearch(PREnumerableVisitor)>>contents
> PRAjaxSearchWidget>>findItems
> PRAjaxSearchWidget>>unfilteredItems
> PRAjaxSearchWidget(PRStructuresWidget)>>items
> [] in PRAjaxSearchWidget>>renderItemsOn:for:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> [] in WAUnorderedListTag(WATagBrush)>>with:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> WARenderCanvas(WACanvas)>>nest:
> WAUnorderedListTag(WABrush)>>with:
> WAUnorderedListTag(WATagBrush)>>with:
> WARenderCanvas(WAHtmlCanvas)>>unorderedList:
> PRAjaxSearchWidget>>renderItemsOn:for:
> GRUnboundDelayedSend>>valueWithArguments:
> [] in SUAutocompleter(PTUpdater)>>processOn:with:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> [] in SUAutocompleter(JSObject)>>render:on:
> [] in WARenderContext>>document:during:
> BlockClosure>>ensure:
> WARenderContext>>document:during:
> SUAutocompleter(JSObject)>>render:on:
> SUAutocompleter(PTUpdater)>>processOn:with:
> [] in SUAutocompleter(PTAjax)>>processWith:
> WARequestContext>>respond:
> SUAutocompleter(PTAjax)>>processWith:
> [] in SUAutocompleter>>registerCallbackIn:
> BlockClosure>>valueWithPossibleArguments:
> JSAjaxCallback>>evaluateWithArgument:
> JSAjaxCallback(WACallback)>>evaluateWithFieldValues:
> [] in WACallbackRegistry>>handle:
> Array(SequenceableCollection)>>do:
> WACallbackRegistry>>handle:
> [] in [] in WAActionPhaseContinuation>>runCallbacks
> BlockClosure>>on:do:
> WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo:
> [] in WAActionPhaseContinuation>>runCallbacks
> BlockClosure>>ensure:
> WAActionPhaseContinuation>>runCallbacks
> WAActionPhaseContinuation>>handleRequest
> [] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue
> BlockClosure>>on:do:
> WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo:
> WAActionPhaseContinuation(WASessionContinuation)>>basicValue
> WAActionPhaseContinuation(WASessionContinuation)>>value
> WASession>>handleFiltered:
> PRContextFilter(WARequestFilter)>>handleFiltered:
> [] in PRContextFilter>>handleFiltered:
> BlockClosure>>on:do:
> PRCurrentContext class>>use:during:
> PRContextFilter>>handleFiltered:
> WAMutualExclusionFilter(WARequestFilter)>>handleFiltered:
> [] in WAMutualExclusionFilter>>handleFiltered:
> BlockClosure>>ensure:
> [] in WAMutex>>critical:
> [] in Semaphore>>critical:
> BlockClosure>>ensure:
> Semaphore>>critical:
> WAMutex>>critical:
> WAMutualExclusionFilter>>handleFiltered:
> [] in WASession(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [] in WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WASession(WARequestHandler)>>handle:
> WAApplication(WARegistry)>>dispatch:to:
> WAApplication(WARegistry)>>handleKeyed:with:
> WAApplication(WARegistry)>>handleFiltered:
> WAApplication>>handleFiltered:
> WAAuthenticationFilter(WARequestFilter)>>handleFiltered:
> WAAuthenticationFilter>>handleFiltered:
> WAExceptionFilter(WARequestFilter)>>handleFiltered:
> [] in WAExceptionFilter>>handleFiltered:
> BlockClosure>>on:do:
> WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring:
> WAWalkbackErrorHandler class(WAExceptionHandler
> class)>>handleExceptionsDuring:context:
> WAExceptionFilter>>handleFiltered:
> [] in WAApplication(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [] in WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WAApplication(WARequestHandler)>>handle:
> WADispatcher>>handleFiltered:named:
> WADispatcher>>handleFiltered:
> [] in WADispatcher(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [] in WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WADispatcher(WARequestHandler)>>handle:
> WADispatcher>>handleFiltered:named:
> WADispatcher>>handleFiltered:
> [] in WADispatcher(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [] in WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WADispatcher(WARequestHandler)>>handle:
> [] in WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
> BlockClosure>>on:do:
> WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
> WAComancheAdaptor(WAServerAdaptor)>>handle:
> [] in WAComancheAdaptor(WAServerAdaptor)>>process:
> BlockClosure>>ensure:
> WAComancheAdaptor(WAServerAdaptor)>>process:
> WAComancheAdaptor>>processHttpRequest:
> HttpService>>processHttpRequest:
> [] in HttpAdaptor>>dispatchRequest:
> BlockClosure>>on:do:
> HttpService>>handleDispatchErrorsIn:
> HttpAdaptor>>dispatchRequest:
> [] in [] in HttpAdaptor>>beginConversation
> BlockClosure>>on:do:
> BlockClosure>>valueWithBindingsContext:
> BlockClosure>>valueWithBindings:
> BindingsAccessor>>clamp:
> [] in HttpAdaptor>>beginConversation
> BlockClosure>>ensure:
> HttpAdaptor>>beginConversation
> HttpAdaptor class>>readAndWriteTo:service:
> HttpAdaptor class>>readAndWriteToSocket:service:
> HttpService>>serve:
> [] in HttpService(TcpService)>>value:
> BlockClosure>>on:do:
> BlockClosure>>valueWithBindingsContext:
> BlockClosure>>valueWithBindings:
> BindingsAccessor>>clamp:
> [] in BlockClosure>>newProcessWithClampedBindings:
> BlockClosure>>on:do:
> BlockClosure>>valueWithBindingsContext:
> BlockClosure>>valueWithBindings:
> [] in BlockClosure>>newProcessWithBindings:
> [] in BlockClosure>>newProcess
>
>
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>



--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Issue with PRFullTextSearch - WideString

Reza Razavi
At 18:56 15/04/2010, you wrote:
>Do you use WAKomEncoded in Seaside 2.8

I use WAKomEncoded in Seaside 3.0.

>or the UTF-8
>codex in Seaside 3?

Good point! Actually, I forgot (sorry for that) to mention that the
bug has happened on a Debian server, where the VM has been launched
with the following parm: "-encoding latin1".

However, I've saved the image on Debian, with the debugger already
triggered. Then, I moved the image to Win/Vista, where I had the
observations reported previously.

Otherwise I'm basically using default Pharo/Seaside/Pier configs.

Thanks again for your insight,
Regards,
Reza

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Issue with PRFullTextSearch - WideString

Reza Razavi
In reply to this post by Lukas Renggli
At 18:56 15/04/2010, Lukas Renggli wrote:
>This is likely a problem of the server adaptor you selected in your
>seaside setup. Do you use WAKomEncoded in Seaside 2.8 or the UTF-8
>codex in Seaside 3?

Hi Lukas,

I repeated the above issue a few days before on an (experimental)
Pier-based distribution (PharoCore1.0rc1 - Latest update: #10505).
Thanks to the VNC, I then examined the stack directly on a Debian server.

Now, I re-examined the issue and just realised that it happens when I
copy and paste text from Word. Like, in the example below, the simple
quote in *o'clock* that causes problem to the Search Tool, is copied from Word.

My sequence of actions to reproduce the issue, and the full execution
stack are attached below.

Hoping this helps,
Regards,
Reza
-----------

Here is what I did:
1) Add a post to the blog with the exact following content:
Saturday 8th May 2010 from 10 to 5
o'clock

2) Went to the home page, and entered *events* in the Search area.

Here is what I observe in the debugger:
1) The error is raised in PRFullTextSearch >> visitStructure:,
specifically in the 2nd occurrence of the following call:
         #includesSubstring:caseSensitive:

that calls then *WideString
(String) >>findSubstring:in:startingAt:matchTable:*,
which raises #errorSubscriptBounds: upon a call to *matchTable at:
8217 asciiValue +1*

2) The argument to this method is the above PBPost
3) The PRDocument attached to that Post contains the followings:
         - aPRText on: 'Saturday 8th May 2010 from 10 to 5'
         - aPRLineBreak
         - aPRText on: 'o???????
4) #toString: returns then the following:
'Saturday 8th May 2010 from 10 to 5
o???????
5) The above call where the error is raised starts then exactly as follows:
'Saturday 8th May 2010 from 10 to 5
o???????
' includesSubstring: 'events' caseSensitive: false

And, here is the execution stack:
---
20 April 2010 11:07:12 pm

VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179]
Image: PharoCore1.0 - PontoonCore1.0a [Latest update: #10517]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true

ByteArray(Object)>>error:
         Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc...
         Arguments and temporary variables:
                 aString:        'subscript is out of bounds: 8218'
         Receiver's instance variables:
#[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32...etc...

ByteArray(Object)>>errorSubscriptBounds:
         Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc...
         Arguments and temporary variables:
                 index:  8218
         Receiver's instance variables:
#[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32...etc...

ByteArray(Object)>>at:
         Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc...
         Arguments and temporary variables:
                 index:  8218
         Receiver's instance variables:
#[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32...etc...

WideString(String)>>findSubstring:in:startingAt:matchTable:
         Receiver: ''
         Arguments and temporary variables:
                 key:    'e'
                 body:   'Saturday 8th May 2010 from 10 to 5
o'clock
'
                 start:  1
                 matchTable:     #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19 20 21 22 23 24 ...etc...
                 index:  1
                 c1:     $'
                 c2:     $e
                 startIndex:     nil
                 startIndexLimiT:        nil
                 startIndex:     37
                 startIndexLimiT:        43
         Receiver's instance variables:
''

WideString(String)>>findString:startingAt:caseSensitive:
         Receiver: 'Saturday 8th May 2010 from 10 to 5
o'clock
'
         Arguments and temporary variables:
                 key:    'e'
                 start:  1
                 caseSensitive:  false
         Receiver's instance variables:
'Saturday 8th May 2010 from 10 to 5
o'clock
'

WideString(String)>>includesSubstring:caseSensitive:
         Receiver: 'Saturday 8th May 2010 from 10 to 5
o'clock
'
         Arguments and temporary variables:
                 aString:        'e'
                 caseSensitive:  false
         Receiver's instance variables:
'Saturday 8th May 2010 from 10 to 5
o'clock
'

[] in [] in PRFullTextSearch>>visitStructure:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
<<error during printing>
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

[] in Set(Collection)>>anySatisfy:
         Receiver: a Set('e')
         Arguments and temporary variables:
                 aBlock:         'e'
                 each:   [closure] in [] in PRFullTextSearch>>visitStructure:
         Receiver's instance variables:
                 tally:  1
                 array:  #(nil nil nil nil 'e')

Set>>do:
         Receiver: a Set('e')
         Arguments and temporary variables:
                 aBlock:         [closure] in Set(Collection)>>anySatisfy:
                 index:  5
                 each:   'e'
                 indexLimiT:     5
         Receiver's instance variables:
                 tally:  1
                 array:  #(nil nil nil nil 'e')

Set(Collection)>>anySatisfy:
         Receiver: a Set('e')
         Arguments and temporary variables:
                 aBlock:         [closure] in [] in
PRFullTextSearch>>visitStructure:
         Receiver's instance variables:
                 tally:  1
                 array:  #(nil nil nil nil 'e')

[] in PRFullTextSearch>>visitStructure:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
<<error during printing>
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

SortedCollection(OrderedCollection)>>do:
         Receiver: a SortedCollection(a MAStringDescription label:
'Name' comment: nil a MABooleanDescription...etc...
         Arguments and temporary variables:
                 aBlock:         [closure] in PRFullTextSearch>>visitStructure:
                 index:  13
         Receiver's instance variables:
                 array:  an Array(a MAStringDescription label: 'Name'
comment: nil a MABooleanDes...etc...
                 firstIndex:     1
                 lastIndex:      17
                 sortBlock:      nil

MAPriorityContainer(MAContainer)>>do:
         Receiver: a MAPriorityContainer label: 'Blog Post' comment: nil
         Arguments and temporary variables:
                 aBlock:         [closure] in PRFullTextSearch>>visitStructure:
         Receiver's instance variables:
                 properties:     a Dictionary(#label->'Blog Post' )
                 accessor:       nil
                 children:       a SortedCollection(a
MAStringDescription label: 'Name' comment: nil a...etc...

PRFullTextSearch>>visitStructure:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
<<error during printing>
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

PRFullTextSearch(PRVisitor)>>visitCase:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 anObject:       a PBPost[4068] name: 'School-Fair'
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

PRFullTextSearch(PRVisitor)>>visitEntry:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 anObject:       a PBPost[4068] name: 'School-Fair'
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

PRFullTextSearch(PRVisitor)>>visitPost:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 anObject:       a PBPost[4068] name: 'School-Fair'
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

PBPost>>accept:
         Receiver: a PBPost[4068] name: 'School-Fair'
         Arguments and temporary variables:
                 aVisitor:       a PRFullTextSearch
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false )
                 decorations:    an Array(a PUSecurity[3493])
                 parent:         a PBBlog[235] name: 'blog'
                 name:   'School-Fair'
                 title:  'School-Fair'
                 tags:   #('School' 'Fair')
                 document:       a PRDocument[3732]
                 uuid:   nil
                 author:         'Siemon'
                 publication:    16 April 2010 5:43:02 pm
                 sourceUrl:      nil
                 sourceTitle:    nil
                 enclosure:      nil

PBPost(Object)>>acceptDecorated:
         Receiver: a PBPost[4068] name: 'School-Fair'
         Arguments and temporary variables:
                 aVisitor:       a PRFullTextSearch
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false )
                 decorations:    an Array(a PUSecurity[3493])
                 parent:         a PBBlog[235] name: 'blog'
                 name:   'School-Fair'
                 title:  'School-Fair'
                 tags:   #('School' 'Fair')
                 document:       a PRDocument[3732]
                 uuid:   nil
                 author:         'Siemon'
                 publication:    16 April 2010 5:43:02 pm
                 sourceUrl:      nil
                 sourceTitle:    nil
                 enclosure:      nil

[] in PBPost(PRDecorated)>>acceptDecorated:
         Receiver: a PBPost[4068] name: 'School-Fair'
         Arguments and temporary variables:
                 aVisitor:       a PBPost[4068] name: 'School-Fair'
                 each:   a PRFullTextSearch
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false )
                 decorations:    an Array(a PUSecurity[3493])
                 parent:         a PBBlog[235] name: 'blog'
                 name:   'School-Fair'
                 title:  'School-Fair'
                 tags:   #('School' 'Fair')
                 document:       a PRDocument[3732]
                 uuid:   nil
                 author:         'Siemon'
                 publication:    16 April 2010 5:43:02 pm
                 sourceUrl:      nil
                 sourceTitle:    nil
                 enclosure:      nil

PBPost(PRDecorated)>>decorationsDo:ownerDo:
         Receiver: a PBPost[4068] name: 'School-Fair'
         Arguments and temporary variables:
                 aBlock:         [closure] in
PBPost(PRDecorated)>>acceptDecorated:
                 anOwnerBlock:   [closure] in
PBPost(PRDecorated)>>acceptDecorated:
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false )
                 decorations:    an Array(a PUSecurity[3493])
                 parent:         a PBBlog[235] name: 'blog'
                 name:   'School-Fair'
                 title:  'School-Fair'
                 tags:   #('School' 'Fair')
                 document:       a PRDocument[3732]
                 uuid:   nil
                 author:         'Siemon'
                 publication:    16 April 2010 5:43:02 pm
                 sourceUrl:      nil
                 sourceTitle:    nil
                 enclosure:      nil

PBPost(PRDecorated)>>acceptDecorated:
         Receiver: a PBPost[4068] name: 'School-Fair'
         Arguments and temporary variables:
                 aVisitor:       a PRFullTextSearch
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false )
                 decorations:    an Array(a PUSecurity[3493])
                 parent:         a PBBlog[235] name: 'blog'
                 name:   'School-Fair'
                 title:  'School-Fair'
                 tags:   #('School' 'Fair')
                 document:       a PRDocument[3732]
                 uuid:   nil
                 author:         'Siemon'
                 publication:    16 April 2010 5:43:02 pm
                 sourceUrl:      nil
                 sourceTitle:    nil
                 enclosure:      nil

PRFullTextSearch(PRVisitor)>>visit:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 anObject:       a PBPost[4068] name: 'School-Fair'
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

[] in PRFullTextSearch(PRVisitor)>>visitAll:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 each:   a PBPost[4068] name: 'School-Fair'
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

Array(SequenceableCollection)>>do:
         Receiver: an Array(a PBPost[1367] name:
'third-meeting-info-wg' a PBPost[1597] name: 'Visit-to-the-c...etc...
         Arguments and temporary variables:
                 aBlock:         [closure] in
PRFullTextSearch(PRVisitor)>>visitAll:
                 index:  4
                 indexLimiT:     4
         Receiver's instance variables:
an Array(a PBPost[1367] name: 'third-meeting-info-wg' a PBPost[1597]
name: 'Visit-to-the-c...etc...

PRFullTextSearch(PRVisitor)>>visitAll:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 aCollection:    an Array(a PBPost[1367] name:
'third-meeting-info-wg' a PBPost[159...etc...
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

PRFullTextSearch>>visitChildren:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 anObject:       a PRChildren[1445]
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

PRChildren>>accept:
         Receiver: a PRChildren[1445]
         Arguments and temporary variables:
                 aVisitor:       a PRFullTextSearch
         Receiver's instance variables:
                 properties:     nil
                 decorated:      a PBBlog[235] name: 'blog'
                 children:       an Array(a PBPost[1367] name:
'third-meeting-info-wg' a PBPost[1597] ...etc...

PRChildren(Object)>>acceptDecorated:
         Receiver: a PRChildren[1445]
         Arguments and temporary variables:
                 aVisitor:       a PRFullTextSearch
         Receiver's instance variables:
                 properties:     nil
                 decorated:      a PBBlog[235] name: 'blog'
                 children:       an Array(a PBPost[1367] name:
'third-meeting-info-wg' a PBPost[1597] ...etc...

PRFullTextSearch(PRVisitor)>>visit:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 anObject:       a PRChildren[1445]
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

[] in PBBlog(PRDecorated)>>acceptDecorated:
         Receiver: a PBBlog[235] name: 'blog'
         Arguments and temporary variables:
                 aVisitor:       a PRChildren[1445]
                 each:   a PRFullTextSearch
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false #loca...etc...
                 decorations:    an Array(a PUSecurity[888] a PRChildren[1445])
                 parent:         a PRPage[3287] name: 'home'
                 name:   'blog'
                 title:  'APEEE Blog'
                 tags:   #()
                 document:       a PRDocument[2055]
                 managingEditor:         nil
                 webMaster:      nil
                 copyright:      nil
                 language:       nil
                 itemCount:      nil
                 feedTitle:      nil
                 commentTimeout:         14:00:00:00
                 feedForward:    nil

[] in PBBlog(PRDecorated)>>decorationsDo:ownerDo:
         Receiver: a PBBlog[235] name: 'blog'
         Arguments and temporary variables:
                 aBlock:         a PRChildren[1445]
                 each:   [closure] in PBBlog(PRDecorated)>>acceptDecorated:
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false #loca...etc...
                 decorations:    an Array(a PUSecurity[888] a PRChildren[1445])
                 parent:         a PRPage[3287] name: 'home'
                 name:   'blog'
                 title:  'APEEE Blog'
                 tags:   #()
                 document:       a PRDocument[2055]
                 managingEditor:         nil
                 webMaster:      nil
                 copyright:      nil
                 language:       nil
                 itemCount:      nil
                 feedTitle:      nil
                 commentTimeout:         14:00:00:00
                 feedForward:    nil

Array(SequenceableCollection)>>do:
         Receiver: an Array(a PUSecurity[888] a PRChildren[1445])
         Arguments and temporary variables:
                 aBlock:         [closure] in
PBBlog(PRDecorated)>>decorationsDo:ownerDo:
                 index:  2
                 indexLimiT:     2
         Receiver's instance variables:
an Array(a PUSecurity[888] a PRChildren[1445])

PBBlog(PRDecorated)>>decorationsDo:ownerDo:
         Receiver: a PBBlog[235] name: 'blog'
         Arguments and temporary variables:
                 aBlock:         [closure] in
PBBlog(PRDecorated)>>acceptDecorated:
                 anOwnerBlock:   [closure] in
PBBlog(PRDecorated)>>acceptDecorated:
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false #loca...etc...
                 decorations:    an Array(a PUSecurity[888] a PRChildren[1445])
                 parent:         a PRPage[3287] name: 'home'
                 name:   'blog'
                 title:  'APEEE Blog'
                 tags:   #()
                 document:       a PRDocument[2055]
                 managingEditor:         nil
                 webMaster:      nil
                 copyright:      nil
                 language:       nil
                 itemCount:      nil
                 feedTitle:      nil
                 commentTimeout:         14:00:00:00
                 feedForward:    nil

PBBlog(PRDecorated)>>acceptDecorated:
         Receiver: a PBBlog[235] name: 'blog'
         Arguments and temporary variables:
                 aVisitor:       a PRFullTextSearch
         Receiver's instance variables:
                 properties:     a Dictionary(#documents->a
Dictionary() #hideFromMenus->false #loca...etc...
                 decorations:    an Array(a PUSecurity[888] a PRChildren[1445])
                 parent:         a PRPage[3287] name: 'home'
                 name:   'blog'
                 title:  'APEEE Blog'
                 tags:   #()
                 document:       a PRDocument[2055]
                 managingEditor:         nil
                 webMaster:      nil
                 copyright:      nil
                 language:       nil
                 itemCount:      nil
                 feedTitle:      nil
                 commentTimeout:         14:00:00:00
                 feedForward:    nil

PRFullTextSearch(PRVisitor)>>visit:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 anObject:       a PBBlog[235] name: 'blog'
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

[] in PRFullTextSearch(PRVisitor)>>visitAll:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 each:   a PBBlog[235] name: 'blog'
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false

Array(SequenceableCollection)>>do:
         Receiver: an Array(a PRPage[2483] name: 'system' a
PRPage[2161] name: 'about' a PRPage[707] name: 'r...etc...
         Arguments and temporary variables:
                 aBlock:         [closure] in
PRFullTextSearch(PRVisitor)>>visitAll:
                 index:  4
                 indexLimiT:     11
         Receiver's instance variables:
an Array(a PRPage[2483] name: 'system' a PRPage[2161] name: 'about' a
PRPage[707] name: 'r...etc...

PRFullTextSearch(PRVisitor)>>visitAll:
         Receiver: a PRFullTextSearch
         Arguments and temporary variables:
                 aCollection:    an Array(a PRPage[2483] name:
'system' a PRPage[2161] name: 'about...etc...
         Receiver's instance variables:
                 escaper:        nil
                 block:  [closure] in [] in
PRFullTextSearch(PREnumerableVisitor)>>collect:
                 structure:      a PRPage[1922] name: 'home'
                 acceptToken:    a Set('e')
                 rejectToken:    a Set()
                 caseSensitive:  false


--- The full stack ---
ByteArray(Object)>>error:
ByteArray(Object)>>errorSubscriptBounds:
ByteArray(Object)>>at:
WideString(String)>>findSubstring:in:startingAt:matchTable:
WideString(String)>>findString:startingAt:caseSensitive:
WideString(String)>>includesSubstring:caseSensitive:
[] in [] in PRFullTextSearch>>visitStructure:
[] in Set(Collection)>>anySatisfy:
Set>>do:
Set(Collection)>>anySatisfy:
[] in PRFullTextSearch>>visitStructure:
SortedCollection(OrderedCollection)>>do:
MAPriorityContainer(MAContainer)>>do:
PRFullTextSearch>>visitStructure:
PRFullTextSearch(PRVisitor)>>visitCase:
PRFullTextSearch(PRVisitor)>>visitEntry:
PRFullTextSearch(PRVisitor)>>visitPost:
PBPost>>accept:
PBPost(Object)>>acceptDecorated:
[] in PBPost(PRDecorated)>>acceptDecorated:
PBPost(PRDecorated)>>decorationsDo:ownerDo:
PBPost(PRDecorated)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRFullTextSearch(PRVisitor)>>visitAll:
Array(SequenceableCollection)>>do:
PRFullTextSearch(PRVisitor)>>visitAll:
PRFullTextSearch>>visitChildren:
PRChildren>>accept:
PRChildren(Object)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PBBlog(PRDecorated)>>acceptDecorated:
[] in PBBlog(PRDecorated)>>decorationsDo:ownerDo:
Array(SequenceableCollection)>>do:
PBBlog(PRDecorated)>>decorationsDo:ownerDo:
PBBlog(PRDecorated)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRFullTextSearch(PRVisitor)>>visitAll:
Array(SequenceableCollection)>>do:
PRFullTextSearch(PRVisitor)>>visitAll:
  - - - - - - - - - - - - - - -
                         - - - - - - - - - - - - - - - - - -
PRFullTextSearch>>visitChildren:
PRChildren>>accept:
PRChildren(Object)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRPage(PRDecorated)>>acceptDecorated:
[] in PRPage(PRDecorated)>>decorationsDo:ownerDo:
Array(SequenceableCollection)>>do:
PRPage(PRDecorated)>>decorationsDo:ownerDo:
PRPage(PRDecorated)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRFullTextSearch(PRVisitor)>>visitAll:
Array(SequenceableCollection)>>do:
PRFullTextSearch(PRVisitor)>>visitAll:
PRFullTextSearch>>visitChildren:
PRChildren>>accept:
PRChildren(Object)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
[] in PRPage(PRDecorated)>>acceptDecorated:
[] in PRPage(PRDecorated)>>decorationsDo:ownerDo:
Array(SequenceableCollection)>>do:
PRPage(PRDecorated)>>decorationsDo:ownerDo:
PRPage(PRDecorated)>>acceptDecorated:
PRFullTextSearch(PRVisitor)>>visit:
PRFullTextSearch(PRVisitor)>>start:
PRFullTextSearch>>start:
PRFullTextSearch(PREnumerableVisitor)>>do:
[] in PRFullTextSearch(PREnumerableVisitor)>>collect:
Array class(SequenceableCollection class)>>streamContents:
PRFullTextSearch(PREnumerableVisitor)>>collect:
PRFullTextSearch(PREnumerableVisitor)>>contents
PRAjaxSearchWidget>>findItems
PRAjaxSearchWidget>>unfilteredItems
PRAjaxSearchWidget(PRStructuresWidget)>>items
[] in PRAjaxSearchWidget>>renderItemsOn:for:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
[] in WAUnorderedListTag(WATagBrush)>>with:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
WARenderCanvas(WACanvas)>>nest:
WAUnorderedListTag(WABrush)>>with:
WAUnorderedListTag(WATagBrush)>>with:
WARenderCanvas(WAHtmlCanvas)>>unorderedList:
PRAjaxSearchWidget>>renderItemsOn:for:
GRUnboundDelayedSend>>valueWithArguments:
[] in SUAutocompleter(PTUpdater)>>processOn:with:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
[] in SUAutocompleter(JSObject)>>render:on:
[] in WARenderContext>>document:during:
BlockClosure>>ensure:
WARenderContext>>document:during:
SUAutocompleter(JSObject)>>render:on:
SUAutocompleter(PTUpdater)>>processOn:with:
[] in SUAutocompleter(PTAjax)>>processWith:
WARequestContext>>respond:
SUAutocompleter(PTAjax)>>processWith:
[] in SUAutocompleter>>registerCallbackIn:
BlockClosure>>valueWithPossibleArguments:
JSAjaxCallback>>evaluateWithArgument:
JSAjaxCallback(WACallback)>>evaluateWithFieldValues:
[] in WACallbackRegistry>>handle:
OrderedCollection>>do:
WACallbackRegistry>>handle:
[] in [] in WAActionPhaseContinuation>>runCallbacks
BlockClosure>>on:do:
WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo:
[] in WAActionPhaseContinuation>>runCallbacks
BlockClosure>>ensure:
WAActionPhaseContinuation>>runCallbacks
WAActionPhaseContinuation>>handleRequest
[] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue
BlockClosure>>on:do:
WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo:
WAActionPhaseContinuation(WASessionContinuation)>>basicValue
WAActionPhaseContinuation(WASessionContinuation)>>value
WASession>>handleFiltered:
PRContextFilter(WARequestFilter)>>handleFiltered:
[] in PRContextFilter>>handleFiltered:
BlockClosure>>on:do:
PRCurrentContext class>>use:during:
PRContextFilter>>handleFiltered:
WAMutualExclusionFilter(WARequestFilter)>>handleFiltered:
[] in WAMutualExclusionFilter>>handleFiltered:
BlockClosure>>ensure:
[] in WAMutex>>critical:
[] in Semaphore>>critical:
BlockClosure>>ensure:
Semaphore>>critical:
WAMutex>>critical:
WAMutualExclusionFilter>>handleFiltered:
[] in WASession(WARequestHandler)>>handle:
BlockClosure>>on:do:
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
[] in WARequestContext>>push:while:
BlockClosure>>ensure:
WARequestContext>>push:while:
WASession(WARequestHandler)>>handle:
WAApplication(WARegistry)>>dispatch:to:
WAApplication(WARegistry)>>handleKeyed:with:
WAApplication(WARegistry)>>handleFiltered:
WAApplication>>handleFiltered:
WAExceptionFilter(WARequestFilter)>>handleFiltered:
[] in WAExceptionFilter>>handleFiltered:
BlockClosure>>on:do:
WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring:
WAWalkbackErrorHandler class(WAExceptionHandler
class)>>handleExceptionsDuring:context:
WAExceptionFilter>>handleFiltered:
[] in WAApplication(WARequestHandler)>>handle:
BlockClosure>>on:do:
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
[] in WARequestContext>>push:while:
BlockClosure>>ensure:
WARequestContext>>push:while:
WAApplication(WARequestHandler)>>handle:
WADispatcher>>handleFiltered:named:
WADispatcher>>handleFiltered:
[] in WADispatcher(WARequestHandler)>>handle:
BlockClosure>>on:do:
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
[] in WARequestContext>>push:while:
BlockClosure>>ensure:
WARequestContext>>push:while:
WADispatcher(WARequestHandler)>>handle:
WADispatcher>>handleFiltered:named:
WADispatcher>>handleFiltered:
[] in WADispatcher(WARequestHandler)>>handle:
BlockClosure>>on:do:
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
[] in WARequestContext>>push:while:
BlockClosure>>ensure:
WARequestContext>>push:while:
WADispatcher(WARequestHandler)>>handle:
[] in WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
BlockClosure>>on:do:
WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
WAComancheAdaptor(WAServerAdaptor)>>handle:
[] in WAComancheAdaptor(WAServerAdaptor)>>process:
BlockClosure>>ensure:
WAComancheAdaptor(WAServerAdaptor)>>process:
WAComancheAdaptor>>processHttpRequest:
HttpService>>processHttpRequest:
[] in HttpAdaptor>>dispatchRequest:
BlockClosure>>on:do:
HttpService>>handleDispatchErrorsIn:
HttpAdaptor>>dispatchRequest:
[] in [] in HttpAdaptor>>beginConversation
BlockClosure>>on:do:
BlockClosure>>valueWithBindingsContext:
BlockClosure>>valueWithBindings:
BindingsAccessor>>clamp:
[] in HttpAdaptor>>beginConversation
BlockClosure>>ensure:
HttpAdaptor>>beginConversation
HttpAdaptor class>>readAndWriteTo:service:
HttpAdaptor class>>readAndWriteToSocket:service:
HttpService>>serve:
[] in HttpService(TcpService)>>value:
BlockClosure>>on:do:
-- and more not shown --


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Issue with PRFullTextSearch - WideString

Lukas Renggli
This seems to be a problem related to Pharo and WideStrings? What
image are you using? What VM?

Can you send me the WideString instance (4th receiver from the top)
that causes the error as a byte array?

     self asByteArray -> #[0 0 0 83 0 0 0 97 0 0 0 116 ...

I tried to copy a quote from Word into Pier and I cannot reproduce the problem.

Lukas

On 24 April 2010 00:18, Reza Razavi <[hidden email]> wrote:

> At 18:56 15/04/2010, Lukas Renggli wrote:
>>
>> This is likely a problem of the server adaptor you selected in your
>> seaside setup. Do you use WAKomEncoded in Seaside 2.8 or the UTF-8
>> codex in Seaside 3?
>
> Hi Lukas,
>
> I repeated the above issue a few days before on an (experimental) Pier-based
> distribution (PharoCore1.0rc1 - Latest update: #10505). Thanks to the VNC, I
> then examined the stack directly on a Debian server.
>
> Now, I re-examined the issue and just realised that it happens when I copy
> and paste text from Word. Like, in the example below, the simple quote in
> *o'clock* that causes problem to the Search Tool, is copied from Word.
>
> My sequence of actions to reproduce the issue, and the full execution stack
> are attached below.
>
> Hoping this helps,
> Regards,
> Reza
> -----------
>
> Here is what I did:
> 1) Add a post to the blog with the exact following content:
> Saturday 8th May 2010 from 10 to 5
> o'clock
>
> 2) Went to the home page, and entered *events* in the Search area.
>
> Here is what I observe in the debugger:
> 1) The error is raised in PRFullTextSearch >> visitStructure:, specifically
> in the 2nd occurrence of the following call:
>        #includesSubstring:caseSensitive:
>
> that calls then *WideString (String)
>>>findSubstring:in:startingAt:matchTable:*,
> which raises #errorSubscriptBounds: upon a call to *matchTable at: 8217
> asciiValue +1*
>
> 2) The argument to this method is the above PBPost
> 3) The PRDocument attached to that Post contains the followings:
>        - aPRText on: 'Saturday 8th May 2010 from 10 to 5'
>        - aPRLineBreak
>        - aPRText on: 'o???????
> 4) #toString: returns then the following:
> 'Saturday 8th May 2010 from 10 to 5
> o???????
> 5) The above call where the error is raised starts then exactly as follows:
> 'Saturday 8th May 2010 from 10 to 5
> o???????
> ' includesSubstring: 'events' caseSensitive: false
>
> And, here is the execution stack:
> ---
> 20 April 2010 11:07:12 pm
>
> VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179]
> Image: PharoCore1.0 - PontoonCore1.0a [Latest update: #10517]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
>
> ByteArray(Object)>>error:
>        Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
> 22 23 24 25 26 27 28 29 30 31 32...etc...
>        Arguments and temporary variables:
>                aString:        'subscript is out of bounds: 8218'
>        Receiver's instance variables:
> #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
> 28 29 30 31 32...etc...
>
> ByteArray(Object)>>errorSubscriptBounds:
>        Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
> 22 23 24 25 26 27 28 29 30 31 32...etc...
>        Arguments and temporary variables:
>                index:  8218
>        Receiver's instance variables:
> #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
> 28 29 30 31 32...etc...
>
> ByteArray(Object)>>at:
>        Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
> 22 23 24 25 26 27 28 29 30 31 32...etc...
>        Arguments and temporary variables:
>                index:  8218
>        Receiver's instance variables:
> #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
> 28 29 30 31 32...etc...
>
> WideString(String)>>findSubstring:in:startingAt:matchTable:
>        Receiver: ''
>        Arguments and temporary variables:
>                key:    'e'
>                body:   'Saturday 8th May 2010 from 10 to 5
> o'clock
> '
>                start:  1
>                matchTable:     #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
> 18 19 20 21 22 23 24 ...etc...
>                index:  1
>                c1:     $'
>                c2:     $e
>                startIndex:     nil
>                startIndexLimiT:        nil
>                startIndex:     37
>                startIndexLimiT:        43
>        Receiver's instance variables:
> ''
>
> WideString(String)>>findString:startingAt:caseSensitive:
>        Receiver: 'Saturday 8th May 2010 from 10 to 5
> o'clock
> '
>        Arguments and temporary variables:
>                key:    'e'
>                start:  1
>                caseSensitive:  false
>        Receiver's instance variables:
> 'Saturday 8th May 2010 from 10 to 5
> o'clock
> '
>
> WideString(String)>>includesSubstring:caseSensitive:
>        Receiver: 'Saturday 8th May 2010 from 10 to 5
> o'clock
> '
>        Arguments and temporary variables:
>                aString:        'e'
>                caseSensitive:  false
>        Receiver's instance variables:
> 'Saturday 8th May 2010 from 10 to 5
> o'clock
> '
>
> [] in [] in PRFullTextSearch>>visitStructure:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
> <<error during printing>
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> [] in Set(Collection)>>anySatisfy:
>        Receiver: a Set('e')
>        Arguments and temporary variables:
>                aBlock:         'e'
>                each:   [closure] in [] in PRFullTextSearch>>visitStructure:
>        Receiver's instance variables:
>                tally:  1
>                array:  #(nil nil nil nil 'e')
>
> Set>>do:
>        Receiver: a Set('e')
>        Arguments and temporary variables:
>                aBlock:         [closure] in Set(Collection)>>anySatisfy:
>                index:  5
>                each:   'e'
>                indexLimiT:     5
>        Receiver's instance variables:
>                tally:  1
>                array:  #(nil nil nil nil 'e')
>
> Set(Collection)>>anySatisfy:
>        Receiver: a Set('e')
>        Arguments and temporary variables:
>                aBlock:         [closure] in [] in
> PRFullTextSearch>>visitStructure:
>        Receiver's instance variables:
>                tally:  1
>                array:  #(nil nil nil nil 'e')
>
> [] in PRFullTextSearch>>visitStructure:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
> <<error during printing>
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> SortedCollection(OrderedCollection)>>do:
>        Receiver: a SortedCollection(a MAStringDescription label: 'Name'
> comment: nil a MABooleanDescription...etc...
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> PRFullTextSearch>>visitStructure:
>                index:  13
>        Receiver's instance variables:
>                array:  an Array(a MAStringDescription label: 'Name' comment:
> nil a MABooleanDes...etc...
>                firstIndex:     1
>                lastIndex:      17
>                sortBlock:      nil
>
> MAPriorityContainer(MAContainer)>>do:
>        Receiver: a MAPriorityContainer label: 'Blog Post' comment: nil
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> PRFullTextSearch>>visitStructure:
>        Receiver's instance variables:
>                properties:     a Dictionary(#label->'Blog Post' )
>                accessor:       nil
>                children:       a SortedCollection(a MAStringDescription
> label: 'Name' comment: nil a...etc...
>
> PRFullTextSearch>>visitStructure:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
> <<error during printing>
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> PRFullTextSearch(PRVisitor)>>visitCase:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                anObject:       a PBPost[4068] name: 'School-Fair'
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> PRFullTextSearch(PRVisitor)>>visitEntry:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                anObject:       a PBPost[4068] name: 'School-Fair'
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> PRFullTextSearch(PRVisitor)>>visitPost:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                anObject:       a PBPost[4068] name: 'School-Fair'
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> PBPost>>accept:
>        Receiver: a PBPost[4068] name: 'School-Fair'
>        Arguments and temporary variables:
>                aVisitor:       a PRFullTextSearch
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false )
>                decorations:    an Array(a PUSecurity[3493])
>                parent:         a PBBlog[235] name: 'blog'
>                name:   'School-Fair'
>                title:  'School-Fair'
>                tags:   #('School' 'Fair')
>                document:       a PRDocument[3732]
>                uuid:   nil
>                author:         'Siemon'
>                publication:    16 April 2010 5:43:02 pm
>                sourceUrl:      nil
>                sourceTitle:    nil
>                enclosure:      nil
>
> PBPost(Object)>>acceptDecorated:
>        Receiver: a PBPost[4068] name: 'School-Fair'
>        Arguments and temporary variables:
>                aVisitor:       a PRFullTextSearch
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false )
>                decorations:    an Array(a PUSecurity[3493])
>                parent:         a PBBlog[235] name: 'blog'
>                name:   'School-Fair'
>                title:  'School-Fair'
>                tags:   #('School' 'Fair')
>                document:       a PRDocument[3732]
>                uuid:   nil
>                author:         'Siemon'
>                publication:    16 April 2010 5:43:02 pm
>                sourceUrl:      nil
>                sourceTitle:    nil
>                enclosure:      nil
>
> [] in PBPost(PRDecorated)>>acceptDecorated:
>        Receiver: a PBPost[4068] name: 'School-Fair'
>        Arguments and temporary variables:
>                aVisitor:       a PBPost[4068] name: 'School-Fair'
>                each:   a PRFullTextSearch
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false )
>                decorations:    an Array(a PUSecurity[3493])
>                parent:         a PBBlog[235] name: 'blog'
>                name:   'School-Fair'
>                title:  'School-Fair'
>                tags:   #('School' 'Fair')
>                document:       a PRDocument[3732]
>                uuid:   nil
>                author:         'Siemon'
>                publication:    16 April 2010 5:43:02 pm
>                sourceUrl:      nil
>                sourceTitle:    nil
>                enclosure:      nil
>
> PBPost(PRDecorated)>>decorationsDo:ownerDo:
>        Receiver: a PBPost[4068] name: 'School-Fair'
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> PBPost(PRDecorated)>>acceptDecorated:
>                anOwnerBlock:   [closure] in
> PBPost(PRDecorated)>>acceptDecorated:
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false )
>                decorations:    an Array(a PUSecurity[3493])
>                parent:         a PBBlog[235] name: 'blog'
>                name:   'School-Fair'
>                title:  'School-Fair'
>                tags:   #('School' 'Fair')
>                document:       a PRDocument[3732]
>                uuid:   nil
>                author:         'Siemon'
>                publication:    16 April 2010 5:43:02 pm
>                sourceUrl:      nil
>                sourceTitle:    nil
>                enclosure:      nil
>
> PBPost(PRDecorated)>>acceptDecorated:
>        Receiver: a PBPost[4068] name: 'School-Fair'
>        Arguments and temporary variables:
>                aVisitor:       a PRFullTextSearch
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false )
>                decorations:    an Array(a PUSecurity[3493])
>                parent:         a PBBlog[235] name: 'blog'
>                name:   'School-Fair'
>                title:  'School-Fair'
>                tags:   #('School' 'Fair')
>                document:       a PRDocument[3732]
>                uuid:   nil
>                author:         'Siemon'
>                publication:    16 April 2010 5:43:02 pm
>                sourceUrl:      nil
>                sourceTitle:    nil
>                enclosure:      nil
>
> PRFullTextSearch(PRVisitor)>>visit:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                anObject:       a PBPost[4068] name: 'School-Fair'
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> [] in PRFullTextSearch(PRVisitor)>>visitAll:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                each:   a PBPost[4068] name: 'School-Fair'
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> Array(SequenceableCollection)>>do:
>        Receiver: an Array(a PBPost[1367] name: 'third-meeting-info-wg' a
> PBPost[1597] name: 'Visit-to-the-c...etc...
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> PRFullTextSearch(PRVisitor)>>visitAll:
>                index:  4
>                indexLimiT:     4
>        Receiver's instance variables:
> an Array(a PBPost[1367] name: 'third-meeting-info-wg' a PBPost[1597] name:
> 'Visit-to-the-c...etc...
>
> PRFullTextSearch(PRVisitor)>>visitAll:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                aCollection:    an Array(a PBPost[1367] name:
> 'third-meeting-info-wg' a PBPost[159...etc...
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> PRFullTextSearch>>visitChildren:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                anObject:       a PRChildren[1445]
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> PRChildren>>accept:
>        Receiver: a PRChildren[1445]
>        Arguments and temporary variables:
>                aVisitor:       a PRFullTextSearch
>        Receiver's instance variables:
>                properties:     nil
>                decorated:      a PBBlog[235] name: 'blog'
>                children:       an Array(a PBPost[1367] name:
> 'third-meeting-info-wg' a PBPost[1597] ...etc...
>
> PRChildren(Object)>>acceptDecorated:
>        Receiver: a PRChildren[1445]
>        Arguments and temporary variables:
>                aVisitor:       a PRFullTextSearch
>        Receiver's instance variables:
>                properties:     nil
>                decorated:      a PBBlog[235] name: 'blog'
>                children:       an Array(a PBPost[1367] name:
> 'third-meeting-info-wg' a PBPost[1597] ...etc...
>
> PRFullTextSearch(PRVisitor)>>visit:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                anObject:       a PRChildren[1445]
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> [] in PBBlog(PRDecorated)>>acceptDecorated:
>        Receiver: a PBBlog[235] name: 'blog'
>        Arguments and temporary variables:
>                aVisitor:       a PRChildren[1445]
>                each:   a PRFullTextSearch
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false #loca...etc...
>                decorations:    an Array(a PUSecurity[888] a
> PRChildren[1445])
>                parent:         a PRPage[3287] name: 'home'
>                name:   'blog'
>                title:  'APEEE Blog'
>                tags:   #()
>                document:       a PRDocument[2055]
>                managingEditor:         nil
>                webMaster:      nil
>                copyright:      nil
>                language:       nil
>                itemCount:      nil
>                feedTitle:      nil
>                commentTimeout:         14:00:00:00
>                feedForward:    nil
>
> [] in PBBlog(PRDecorated)>>decorationsDo:ownerDo:
>        Receiver: a PBBlog[235] name: 'blog'
>        Arguments and temporary variables:
>                aBlock:         a PRChildren[1445]
>                each:   [closure] in PBBlog(PRDecorated)>>acceptDecorated:
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false #loca...etc...
>                decorations:    an Array(a PUSecurity[888] a
> PRChildren[1445])
>                parent:         a PRPage[3287] name: 'home'
>                name:   'blog'
>                title:  'APEEE Blog'
>                tags:   #()
>                document:       a PRDocument[2055]
>                managingEditor:         nil
>                webMaster:      nil
>                copyright:      nil
>                language:       nil
>                itemCount:      nil
>                feedTitle:      nil
>                commentTimeout:         14:00:00:00
>                feedForward:    nil
>
> Array(SequenceableCollection)>>do:
>        Receiver: an Array(a PUSecurity[888] a PRChildren[1445])
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> PBBlog(PRDecorated)>>decorationsDo:ownerDo:
>                index:  2
>                indexLimiT:     2
>        Receiver's instance variables:
> an Array(a PUSecurity[888] a PRChildren[1445])
>
> PBBlog(PRDecorated)>>decorationsDo:ownerDo:
>        Receiver: a PBBlog[235] name: 'blog'
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> PBBlog(PRDecorated)>>acceptDecorated:
>                anOwnerBlock:   [closure] in
> PBBlog(PRDecorated)>>acceptDecorated:
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false #loca...etc...
>                decorations:    an Array(a PUSecurity[888] a
> PRChildren[1445])
>                parent:         a PRPage[3287] name: 'home'
>                name:   'blog'
>                title:  'APEEE Blog'
>                tags:   #()
>                document:       a PRDocument[2055]
>                managingEditor:         nil
>                webMaster:      nil
>                copyright:      nil
>                language:       nil
>                itemCount:      nil
>                feedTitle:      nil
>                commentTimeout:         14:00:00:00
>                feedForward:    nil
>
> PBBlog(PRDecorated)>>acceptDecorated:
>        Receiver: a PBBlog[235] name: 'blog'
>        Arguments and temporary variables:
>                aVisitor:       a PRFullTextSearch
>        Receiver's instance variables:
>                properties:     a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false #loca...etc...
>                decorations:    an Array(a PUSecurity[888] a
> PRChildren[1445])
>                parent:         a PRPage[3287] name: 'home'
>                name:   'blog'
>                title:  'APEEE Blog'
>                tags:   #()
>                document:       a PRDocument[2055]
>                managingEditor:         nil
>                webMaster:      nil
>                copyright:      nil
>                language:       nil
>                itemCount:      nil
>                feedTitle:      nil
>                commentTimeout:         14:00:00:00
>                feedForward:    nil
>
> PRFullTextSearch(PRVisitor)>>visit:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                anObject:       a PBBlog[235] name: 'blog'
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> [] in PRFullTextSearch(PRVisitor)>>visitAll:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                each:   a PBBlog[235] name: 'blog'
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
> Array(SequenceableCollection)>>do:
>        Receiver: an Array(a PRPage[2483] name: 'system' a PRPage[2161] name:
> 'about' a PRPage[707] name: 'r...etc...
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> PRFullTextSearch(PRVisitor)>>visitAll:
>                index:  4
>                indexLimiT:     11
>        Receiver's instance variables:
> an Array(a PRPage[2483] name: 'system' a PRPage[2161] name: 'about' a
> PRPage[707] name: 'r...etc...
>
> PRFullTextSearch(PRVisitor)>>visitAll:
>        Receiver: a PRFullTextSearch
>        Arguments and temporary variables:
>                aCollection:    an Array(a PRPage[2483] name: 'system' a
> PRPage[2161] name: 'about...etc...
>        Receiver's instance variables:
>                escaper:        nil
>                block:  [closure] in [] in
> PRFullTextSearch(PREnumerableVisitor)>>collect:
>                structure:      a PRPage[1922] name: 'home'
>                acceptToken:    a Set('e')
>                rejectToken:    a Set()
>                caseSensitive:  false
>
>
> --- The full stack ---
> ByteArray(Object)>>error:
> ByteArray(Object)>>errorSubscriptBounds:
> ByteArray(Object)>>at:
> WideString(String)>>findSubstring:in:startingAt:matchTable:
> WideString(String)>>findString:startingAt:caseSensitive:
> WideString(String)>>includesSubstring:caseSensitive:
> [] in [] in PRFullTextSearch>>visitStructure:
> [] in Set(Collection)>>anySatisfy:
> Set>>do:
> Set(Collection)>>anySatisfy:
> [] in PRFullTextSearch>>visitStructure:
> SortedCollection(OrderedCollection)>>do:
> MAPriorityContainer(MAContainer)>>do:
> PRFullTextSearch>>visitStructure:
> PRFullTextSearch(PRVisitor)>>visitCase:
> PRFullTextSearch(PRVisitor)>>visitEntry:
> PRFullTextSearch(PRVisitor)>>visitPost:
> PBPost>>accept:
> PBPost(Object)>>acceptDecorated:
> [] in PBPost(PRDecorated)>>acceptDecorated:
> PBPost(PRDecorated)>>decorationsDo:ownerDo:
> PBPost(PRDecorated)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRFullTextSearch(PRVisitor)>>visitAll:
> Array(SequenceableCollection)>>do:
> PRFullTextSearch(PRVisitor)>>visitAll:
> PRFullTextSearch>>visitChildren:
> PRChildren>>accept:
> PRChildren(Object)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PBBlog(PRDecorated)>>acceptDecorated:
> [] in PBBlog(PRDecorated)>>decorationsDo:ownerDo:
> Array(SequenceableCollection)>>do:
> PBBlog(PRDecorated)>>decorationsDo:ownerDo:
> PBBlog(PRDecorated)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRFullTextSearch(PRVisitor)>>visitAll:
> Array(SequenceableCollection)>>do:
> PRFullTextSearch(PRVisitor)>>visitAll:
>  - - - - - - - - - - - - - - -
>                        - - - - - - - - - - - - - - - - - -
> PRFullTextSearch>>visitChildren:
> PRChildren>>accept:
> PRChildren(Object)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRPage(PRDecorated)>>acceptDecorated:
> [] in PRPage(PRDecorated)>>decorationsDo:ownerDo:
> Array(SequenceableCollection)>>do:
> PRPage(PRDecorated)>>decorationsDo:ownerDo:
> PRPage(PRDecorated)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRFullTextSearch(PRVisitor)>>visitAll:
> Array(SequenceableCollection)>>do:
> PRFullTextSearch(PRVisitor)>>visitAll:
> PRFullTextSearch>>visitChildren:
> PRChildren>>accept:
> PRChildren(Object)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> [] in PRPage(PRDecorated)>>acceptDecorated:
> [] in PRPage(PRDecorated)>>decorationsDo:ownerDo:
> Array(SequenceableCollection)>>do:
> PRPage(PRDecorated)>>decorationsDo:ownerDo:
> PRPage(PRDecorated)>>acceptDecorated:
> PRFullTextSearch(PRVisitor)>>visit:
> PRFullTextSearch(PRVisitor)>>start:
> PRFullTextSearch>>start:
> PRFullTextSearch(PREnumerableVisitor)>>do:
> [] in PRFullTextSearch(PREnumerableVisitor)>>collect:
> Array class(SequenceableCollection class)>>streamContents:
> PRFullTextSearch(PREnumerableVisitor)>>collect:
> PRFullTextSearch(PREnumerableVisitor)>>contents
> PRAjaxSearchWidget>>findItems
> PRAjaxSearchWidget>>unfilteredItems
> PRAjaxSearchWidget(PRStructuresWidget)>>items
> [] in PRAjaxSearchWidget>>renderItemsOn:for:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> [] in WAUnorderedListTag(WATagBrush)>>with:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> WARenderCanvas(WACanvas)>>nest:
> WAUnorderedListTag(WABrush)>>with:
> WAUnorderedListTag(WATagBrush)>>with:
> WARenderCanvas(WAHtmlCanvas)>>unorderedList:
> PRAjaxSearchWidget>>renderItemsOn:for:
> GRUnboundDelayedSend>>valueWithArguments:
> [] in SUAutocompleter(PTUpdater)>>processOn:with:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> [] in SUAutocompleter(JSObject)>>render:on:
> [] in WARenderContext>>document:during:
> BlockClosure>>ensure:
> WARenderContext>>document:during:
> SUAutocompleter(JSObject)>>render:on:
> SUAutocompleter(PTUpdater)>>processOn:with:
> [] in SUAutocompleter(PTAjax)>>processWith:
> WARequestContext>>respond:
> SUAutocompleter(PTAjax)>>processWith:
> [] in SUAutocompleter>>registerCallbackIn:
> BlockClosure>>valueWithPossibleArguments:
> JSAjaxCallback>>evaluateWithArgument:
> JSAjaxCallback(WACallback)>>evaluateWithFieldValues:
> [] in WACallbackRegistry>>handle:
> OrderedCollection>>do:
> WACallbackRegistry>>handle:
> [] in [] in WAActionPhaseContinuation>>runCallbacks
> BlockClosure>>on:do:
> WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo:
> [] in WAActionPhaseContinuation>>runCallbacks
> BlockClosure>>ensure:
> WAActionPhaseContinuation>>runCallbacks
> WAActionPhaseContinuation>>handleRequest
> [] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue
> BlockClosure>>on:do:
> WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo:
> WAActionPhaseContinuation(WASessionContinuation)>>basicValue
> WAActionPhaseContinuation(WASessionContinuation)>>value
> WASession>>handleFiltered:
> PRContextFilter(WARequestFilter)>>handleFiltered:
> [] in PRContextFilter>>handleFiltered:
> BlockClosure>>on:do:
> PRCurrentContext class>>use:during:
> PRContextFilter>>handleFiltered:
> WAMutualExclusionFilter(WARequestFilter)>>handleFiltered:
> [] in WAMutualExclusionFilter>>handleFiltered:
> BlockClosure>>ensure:
> [] in WAMutex>>critical:
> [] in Semaphore>>critical:
> BlockClosure>>ensure:
> Semaphore>>critical:
> WAMutex>>critical:
> WAMutualExclusionFilter>>handleFiltered:
> [] in WASession(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [] in WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WASession(WARequestHandler)>>handle:
> WAApplication(WARegistry)>>dispatch:to:
> WAApplication(WARegistry)>>handleKeyed:with:
> WAApplication(WARegistry)>>handleFiltered:
> WAApplication>>handleFiltered:
> WAExceptionFilter(WARequestFilter)>>handleFiltered:
> [] in WAExceptionFilter>>handleFiltered:
> BlockClosure>>on:do:
> WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring:
> WAWalkbackErrorHandler class(WAExceptionHandler
> class)>>handleExceptionsDuring:context:
> WAExceptionFilter>>handleFiltered:
> [] in WAApplication(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [] in WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WAApplication(WARequestHandler)>>handle:
> WADispatcher>>handleFiltered:named:
> WADispatcher>>handleFiltered:
> [] in WADispatcher(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [] in WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WADispatcher(WARequestHandler)>>handle:
> WADispatcher>>handleFiltered:named:
> WADispatcher>>handleFiltered:
> [] in WADispatcher(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [] in WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WADispatcher(WARequestHandler)>>handle:
> [] in WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
> BlockClosure>>on:do:
> WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
> WAComancheAdaptor(WAServerAdaptor)>>handle:
> [] in WAComancheAdaptor(WAServerAdaptor)>>process:
> BlockClosure>>ensure:
> WAComancheAdaptor(WAServerAdaptor)>>process:
> WAComancheAdaptor>>processHttpRequest:
> HttpService>>processHttpRequest:
> [] in HttpAdaptor>>dispatchRequest:
> BlockClosure>>on:do:
> HttpService>>handleDispatchErrorsIn:
> HttpAdaptor>>dispatchRequest:
> [] in [] in HttpAdaptor>>beginConversation
> BlockClosure>>on:do:
> BlockClosure>>valueWithBindingsContext:
> BlockClosure>>valueWithBindings:
> BindingsAccessor>>clamp:
> [] in HttpAdaptor>>beginConversation
> BlockClosure>>ensure:
> HttpAdaptor>>beginConversation
> HttpAdaptor class>>readAndWriteTo:service:
> HttpAdaptor class>>readAndWriteToSocket:service:
> HttpService>>serve:
> [] in HttpService(TcpService)>>value:
> BlockClosure>>on:do:
> -- and more not shown --
>
>
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>



--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Issue with PRFullTextSearch - WideString

Reza Razavi
At 09:45 24/04/2010, you wrote:
>This seems to be a problem related to Pharo and WideStrings? What
>image are you using?

PharoCore1.0
Latest update: #10517

With the latest Seaside and Pier packages.

>What VM?

The one for Linux included in Pier-1.2:
http://www.piercms.com/download

Cheers,
Reza


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki