Title: __ge__ or __gt__ of subclass of str --> StackOverflowError
Type: Severity: normal
Components: None Versions:
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: mehendran, pjenvey
Priority: normal Keywords:

Created on 2007-08-29.09:01:11 by mehendran, last changed 2008-11-07.22:41:16 by pjenvey.

msg1878 (view) Author: Mehendran (mehendran) Date: 2007-08-29.09:01:11
When the call is made to the methods of 
obj which is of type PyStringDerived, 
StackOverflowError is thrown. 

for example
class weirdstr(str):
  def __getitem__(self, index):
    return weirdstr(2*str.__getitem__(self,index))
filter(lambda x: x>="33", weirdstr("1234"))

If u run the above example, you will get 

Traceback (innermost last):
  File "", line 4, in ?
  File "", line 4, in <lambda>
msg1879 (view) Author: Mehendran (mehendran) Date: 2007-08-29.09:02:19
I am looking at this bug. 
I will come with a patch soon.
msg1880 (view) Author: Mehendran (mehendran) Date: 2007-08-30.10:55:43
I am sorry that this can not be reproducible. It is 
because it doesn't even call the __getitem__ method.
I found this bug while I was solving the bug 

[1768970] Jython uses special pyget method instead of 
__getitem__ for filter, __iter__

It is bug only anyway. I will update you with patch.

msg1881 (view) Author: Mehendran (mehendran) Date: 2007-08-31.10:12:39
Patch is been added.

[ 1785475 ] patch for bug IDs 1768970, 1782565 & 1783868
msg3756 (view) Author: Philip Jenvey (pjenvey) Date: 2008-11-07.22:41:16
Closing as per #1785475 -- I can't reproduce it on trunk either
Date User Action Args
2008-11-07 22:41:16pjenveysetstatus: open -> closed
resolution: fixed
messages: + msg3756
nosy: + pjenvey
title: __ge__ or __gt__ of subclass of str --> StackOverflowError -> __ge__ or __gt__ of subclass of str --> StackOverflowError
2007-08-29 09:01:11mehendrancreate