Stackless 3.0 for Python 2.3: new binaries

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Christian Tismer

    Stackless 3.0 for Python 2.3: new binaries

    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:tismer@ 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/




  • Gregor Lingl

    #2
    Re: Stackless 3.0 for Python 2.3: new binaries



    Christian Tismer schrieb:[color=blue]
    > 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.
    >[/color]

    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[color=blue][color=green][color=darkred]
    >>> 3*4[/color][/color][/color]
    Traceback (most recent call last):
    File "C:\Python23\li b\idlelib\rpc.p y", line 233, in asyncqueue
    self.putmessage ((seq, request))
    File "C:\Python23\li b\idlelib\rpc.p y", line 322, in putmessage
    s = pickle.dumps(me ssage)
    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


    [color=blue]
    > more to come soon - cheers -- chris[/color]

    Comment

    • Gregor Lingl

      #3
      Re: Stackless 3.0 for Python 2.3: new binaries



      Christian Tismer schrieb:[color=blue]
      > 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.
      >[/color]

      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[color=blue][color=green][color=darkred]
      >>> 3*4[/color][/color][/color]
      Traceback (most recent call last):
      File "C:\Python23\li b\idlelib\rpc.p y", line 233, in asyncqueue
      self.putmessage ((seq, request))
      File "C:\Python23\li b\idlelib\rpc.p y", line 322, in putmessage
      s = pickle.dumps(me ssage)
      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


      [color=blue]
      > more to come soon - cheers -- chris[/color]

      Comment

      • Christian Tismer

        #4
        Re: [Stackless] Re: Stackless 3.0 for Python 2.3: new binaries

        Gregor Lingl wrote:
        [color=blue]
        > Christian Tismer schrieb:
        >[color=green]
        >> 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.
        >>[/color]
        >
        > Trying seriously to find out how to use stackless and what it is
        > good for ;-),[/color]

        Alaaf, you are cheating, right?
        You must have known, partially, last August. ;-)
        [color=blue]
        > 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:[/color]
        ....
        [color=blue][color=green][color=darkred]
        > >>> 3*4[/color][/color]
        > Traceback (most recent call last):
        > File "C:\Python23\li b\idlelib\rpc.p y", line 233, in asyncqueue
        > self.putmessage ((seq, request))
        > File "C:\Python23\li b\idlelib\rpc.p y", line 322, in putmessage
        > s = pickle.dumps(me ssage)
        > RuntimeError: maximum recursion depth exceeded[/color]

        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!
        [color=blue]
        > (2) I don't know where to put python23.exp (and what it is good
        > for). Maybe this is the reason for problem (1) ??[/color]

        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:tismer@ 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/


        Comment

        • Christian Tismer

          #5
          Re: [Stackless] Re: Stackless 3.0 for Python 2.3: new binaries

          Bob Ippolito wrote:

          ....
          [color=blue]
          > This is not an authoritative response, because I don't actually know,
          > however here is my guess:[/color]

          Good guess.
          [color=blue]
          > 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).[/color]

          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:tismer@ 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/


          Comment

          • Christian Tismer

            #6
            Re: [Stackless] Re: Stackless 3.0 for Python 2.3: new binaries

            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_tracebackt ype()
            || init_moduletype ()
            || init_moduledict type()
            || init_itertype()
            || init_methodtype ()
            || init_generatort ype()
            || init_dictiterty pe()
            || init_enumtype()
            || init_enumfactor ytype()
            || init_listiterty pe()
            || init_rangeitert ype()
            || init_tupleitert ype()
            ) 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:tismer@ 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/


            Comment

            • Christian Tismer

              #7
              Re: [Stackless] Re: Stackless 3.0 for Python 2.3: new binaries

              Christian Tismer wrote:
              [color=blue]
              > Bob Ippolito wrote:
              >
              > ...
              >[color=green]
              >> This is not an authoritative response, because I don't actually know,
              >> however here is my guess:[/color]
              >
              >
              > Good guess.
              >[color=green]
              >> 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).[/color]
              >
              >
              > 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.[/color]

              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_tracebackt ype()
              // || init_moduletype ()
              || init_moduledict type()
              // || init_itertype()
              // || init_methodtype ()
              // || init_generatort ype()
              // || init_dictiterty pe()
              || init_enumtype()
              || init_enumfactor ytype()
              // || init_listiterty pe()
              // || init_rangeitert ype()
              // || init_tupleitert ype()
              ) return -1;
              return 0;
              }

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

              good knight -- chris

              --
              Christian Tismer :^) <mailto:tismer@ 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/


              Comment

              • Christian Tismer

                #8
                Stackless update (was: [Stackless] Re: Stackless 3.0 for Python 2.3:new binaries)

                Christian Tismer wrote:

                [IDLE was not running]
                [color=blue]
                > 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.[/color]

                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:tismer@ 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/


                Comment

                Working...