By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,089 Members | 2,159 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,089 IT Pros & Developers. It's quick & easy.

Stackless 3.0 for Python 2.3: new binaries

P: n/a
New Win32 binaries have been uploaded to the Stackless website.

Some compatibility issues with certain constructors
have been solved.

Please let me know of any problems.

more to come soon - cheers -- chris
--
Christian Tismer :^) <mailto:ti****@stackless.com>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/
14109 Berlin : PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/


Jul 18 '05 #1
Share this Question
Share on Google+
7 Replies


P: n/a


Christian Tismer schrieb:
New Win32 binaries have been uploaded to the Stackless website.

Some compatibility issues with certain constructors
have been solved.

Please let me know of any problems.

Trying seriously to find out how to use stackless and what it is
good for ;-), I stumbled just in the beginning. While I was able to
execute some of my Python programs, among them Tkinter-programs
and even recursive ones,

(1) I was not able to use Stackless from IDLE:

Python 2.3.3 Stackless 3.0 040221 (#51, Feb 15 2004, 22:37:26) [MSC
v.1200 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

************************************************** **************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer's internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
************************************************** **************

IDLE 1.0.2
3*4

Traceback (most recent call last):
File "C:\Python23\lib\idlelib\rpc.py", line 233, in asyncqueue
self.putmessage((seq, request))
File "C:\Python23\lib\idlelib\rpc.py", line 322, in putmessage
s = pickle.dumps(message)
RuntimeError: maximum recursion depth exceeded

(2) I don't know where to put python23.exp (and what it is good
for). Maybe this is the reason for problem (1) ??

Regards, Gregor
more to come soon - cheers -- chris

Jul 18 '05 #2

P: n/a


Christian Tismer schrieb:
New Win32 binaries have been uploaded to the Stackless website.

Some compatibility issues with certain constructors
have been solved.

Please let me know of any problems.

Trying seriously to find out how to use stackless and what it is
good for ;-), I stumbled just in the beginning. While I was able to
execute some of my Python programs, among them Tkinter-programs
and even recursive ones,

(1) I was not able to use Stackless from IDLE:

Python 2.3.3 Stackless 3.0 040221 (#51, Feb 15 2004, 22:37:26) [MSC
v.1200 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

************************************************** **************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer's internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
************************************************** **************

IDLE 1.0.2
3*4

Traceback (most recent call last):
File "C:\Python23\lib\idlelib\rpc.py", line 233, in asyncqueue
self.putmessage((seq, request))
File "C:\Python23\lib\idlelib\rpc.py", line 322, in putmessage
s = pickle.dumps(message)
RuntimeError: maximum recursion depth exceeded

(2) I don't know where to put python23.exp (and what it is good
for). Maybe this is the reason for problem (1) ??

Regards, Gregor
more to come soon - cheers -- chris


Jul 18 '05 #3

P: n/a
Gregor Lingl wrote:
Christian Tismer schrieb:
New Win32 binaries have been uploaded to the Stackless website.

Some compatibility issues with certain constructors
have been solved.

Please let me know of any problems.

Trying seriously to find out how to use stackless and what it is
good for ;-),


Alaaf, you are cheating, right?
You must have known, partially, last August. ;-)
I stumbled just in the beginning. While I was able to
execute some of my Python programs, among them Tkinter-programs
and even recursive ones,

(1) I was not able to use Stackless from IDLE: ....
>>> 3*4

Traceback (most recent call last):
File "C:\Python23\lib\idlelib\rpc.py", line 233, in asyncqueue
self.putmessage((seq, request))
File "C:\Python23\lib\idlelib\rpc.py", line 322, in putmessage
s = pickle.dumps(message)
RuntimeError: maximum recursion depth exceeded


Yes, I tried this and I get the same problem.
Have to admit that I'm not a regular IDLE user.
Seriously, I have no idea what's going on.
Seriously, I have also no idea why Python must
try to pickle something, to compute 3*4 ???

Everything works with Python 2.2. I expect something
has changed dramatically with Idle, and there is some
compatability issue with all the new pickling support that
we had to add for Python 2.3. Eeek, how do I debug that!
(2) I don't know where to put python23.exp (and what it is good
for). Maybe this is the reason for problem (1) ??


Forget it. it is just a table of exported names which might help
with debugging.

ciao -- chris

p.s.: Stackless Sprint in Berlin: March 10-14, maybe one day less.
--
Christian Tismer :^) <mailto:ti****@stackless.com>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/
14109 Berlin : PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/
Jul 18 '05 #4

P: n/a
Bob Ippolito wrote:

....
This is not an authoritative response, because I don't actually know,
however here is my guess:
Good guess.
But I must reiterate that I have no idea.. never looked at the IDLE
source code, don't use IDLE, haven't been on python-dev long enough to
notice if/when this happened... I have however run into these sorts of
problems on my own plenty of times and solved them to various degrees
(but have not written a full out RPC mechanism, though I would like to
at some point if a good one doesn't yet exist).


I'm no IDLE or Tcl/Tk user, either. But I had Tcl problems,
before. What I really would hate is to have to build the Tcl
stuff and debug that.
What I'm probably going to try tomorrow is to disable all
pikcling extensions at all and see if it runs, then.
Then I will re-enable them, one after the other.
My guess is that something gets pickled because it shows
up as pickleable, through introspection.
Maybe a special case is hit again (like with cell objects)
that needs to use the ternary __reduce__ protocol. I don't know.

I need sleep. ciao - chris

--
Christian Tismer :^) <mailto:ti****@stackless.com>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/
14109 Berlin : PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/
Jul 18 '05 #5

P: n/a
Christian Tismer wrote:
OK got it: It must be functype which tends
to produce infinite recursion:
This works:

int init_prickelpit(void)
{
if (0
|| init_codetype()
// || init_functype()
|| init_celltype()
|| init_frametype()
|| init_tracebacktype()
|| init_moduletype()
|| init_moduledicttype()
|| init_itertype()
|| init_methodtype()
|| init_generatortype()
|| init_dictitertype()
|| init_enumtype()
|| init_enumfactorytype()
|| init_listitertype()
|| init_rangeitertype()
|| init_tupleitertype()
) return -1;
return 0;
}

So I think I have to change pickling of functions and we are there.
I guess this is not a Tkinter issue, but it would have hit us
at some time, later.

good night finally! :-) chris

(yes, hacks like this are my strength)

--
Christian Tismer :^) <mailto:ti****@stackless.com>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/
14109 Berlin : PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/
Jul 18 '05 #6

P: n/a
Christian Tismer wrote:
Bob Ippolito wrote:

...
This is not an authoritative response, because I don't actually know,
however here is my guess:

Good guess.
But I must reiterate that I have no idea.. never looked at the IDLE
source code, don't use IDLE, haven't been on python-dev long enough to
notice if/when this happened... I have however run into these sorts of
problems on my own plenty of times and solved them to various degrees
(but have not written a full out RPC mechanism, though I would like to
at some point if a good one doesn't yet exist).

I'm no IDLE or Tcl/Tk user, either. But I had Tcl problems,
before. What I really would hate is to have to build the Tcl
stuff and debug that.
What I'm probably going to try tomorrow is to disable all
pikcling extensions at all and see if it runs, then.
Then I will re-enable them, one after the other.
My guess is that something gets pickled because it shows
up as pickleable, through introspection.
Maybe a special case is hit again (like with cell objects)
that needs to use the ternary __reduce__ protocol. I don't know.


Hey, this is a hit!
First result: It works, if we do this:

int init_prickelpit(void)
{
if (0
// || init_codetype()
// || init_functype()
// || init_celltype()
// || init_frametype()
// || init_tracebacktype()
// || init_moduletype()
|| init_moduledicttype()
// || init_itertype()
// || init_methodtype()
// || init_generatortype()
// || init_dictitertype()
|| init_enumtype()
|| init_enumfactorytype()
// || init_listitertype()
// || init_rangeitertype()
// || init_tupleitertype()
) return -1;
return 0;
}

I will uncomment stuff tomorrow, then we'll see :-))

good knight -- chris

--
Christian Tismer :^) <mailto:ti****@stackless.com>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/
14109 Berlin : PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/
Jul 18 '05 #7

P: n/a
Christian Tismer wrote:

[IDLE was not running]
So I think I have to change pickling of functions and we are there.
I guess this is not a Tkinter issue, but it would have hit us
at some time, later.


Issue solved.
Stackless works fine with IDLE, now.
This was not IDLE-specific, but a forgotton adaption of
cPickle to Stackless.
At the same time, a real cPickle bug showed up, and I submitted
a patch.

If there are no further bugs showing up, I wish to freeze
Stackless for three weeks. Development will continue on
the Stackless Sprint in Berlin, March 10-14.

See the updated website at http://www.stackless.com/

cheers - chris

--
Christian Tismer :^) <mailto:ti****@stackless.com>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/
14109 Berlin : PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/
Jul 18 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.