[Stackless] how to check for C stack?
tismer at stackless.com
Mon Feb 23 14:44:59 CET 2004
Giovanni Bajo wrote:
> Christian Tismer wrote:
>>So, testing for "t.nesting_level == 0" gives you a safe criterion
>>whether the unpickle will be runnable.
>>I agree this should better be available via an extra property.
>>If you can give me a reasonable name for that property, I'm
>>happy to add it.
>>Maybe "clonable"? Bad, since we can clone but not run. Hmm.
> I think I've already asked, but I still can't get my mind around it: why should
> one want to clone a tasklet which can't be run?
Well, I was thinking of ways to run even those pickles in
some future, given that we invent a tool that does a cstack
analysis and creates the "right code". This might be possible
at least for many of the internal Python calls.
Kind of a backdoor to have many more useful tasklets, maybe
restricted to the machine architecture.
Simple but effective access to the cstack contents is given
by str(tasklet.cstate), which *is* the captured stack piece.
Now, given such a fictive stack analysis, one could take
the unpickle of a tasklet and create a "correct" new cstate
and make that really run.
I thought, by disallowing certain pickles, I would block this
opportunity. People also might just want to take snapshots
for other purposes like tracing, debugging etc.
> It looks like totally useless to me, it creates a "broken" clone.
Well, as said, it could at least be great debugger input,
and this would allow to do remote debugging, for instance.
> Maybe "safe_for_pickling" ?
Reminds me of the "safe_for_unpickling" attribute from Python 2.2
and earlier (that dropped security issue, you know?)
Maybe "clone" is good, since the other clone is more a "zombie".
Christian Tismer :^) <mailto:tismer at 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/
Stackless mailing list
Stackless at stackless.com
More information about the Stackless