Custom Query (58 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (7 - 9 of 58)

1 2 3 4 5 6 7 8 9 10 11 12 13
Ticket Resolution Summary Owner Reporter
#1530 worksforme Can not install Nagare following QuickStart apoirier prokher

Reported by prokher, 4 years ago.

Description

Everything were going well until I tries to install nagare itself. I've got this error message:

$ ./bin/easy_install 'nagare[full]'
Searching for nagare[full]
Reading http://pypi.python.org/simple/nagare/
Download error: unknown url type: https -- Some packages may not be found!
Couldn't find index page for 'nagare' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading http://pypi.python.org/simple/
Download error: unknown url type: https -- Some packages may not be found!
No local packages or download links found for nagare[full]
Best match: None
Traceback (most recent call last):
  File "./bin/easy_install", line 8, in <module>
    load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')()
  File "/home/prokher/dev/bb/BmP/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1712, in main
  File "/home/prokher/dev/bb/BmP/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1700, in with_ei_usage
  File "/home/prokher/dev/bb/BmP/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1716, in <lambda>
  File "/home/prokher/dev/bb/slpy/lib/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/home/prokher/dev/bb/slpy/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/home/prokher/dev/bb/slpy/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/prokher/dev/bb/BmP/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 211, in run
  File "/home/prokher/dev/bb/BmP/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 434, in easy_install
  File "/home/prokher/dev/bb/BmP/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/package_index.py", line 475, in fetch_distribution
AttributeError: 'NoneType' object has no attribute 'clone'
#24 fixed Can't append a '<type 'long'>' to element apoirier bertrand.croq

Reported by bertrand.croq, 9 years ago.

Description

In nagare/namespaces/xml.py, there is no add_child for type long.

#1502 fixed channels and tasklets not serializable under memory session manager, which breaks component.Task - at least apoirier pjnagel

Reported by pjnagel, 7 years ago.

Description

The following little app works fine under the default pickling session manager, but fails when using the memory session manager:

from nagare import component, util

class Oops(component.Task):
    def go(self, comp):
        comp.call(util.Confirm('Please click'))
        comp.call(util.Confirm('This is never reached under memory session type'))

def app():
    return Oops()

After the first click, the following stacktrace is dumped:

Exception happened during processing of request from ('127.0.0.1', 58311)
Traceback (most recent call last):
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/paste/httpserver.py", line 1056, in process_request_in_thread
    self.finish_request(request, client_address)
  File "/usr/local/stackless/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/stackless/lib/python2.7/SocketServer.py", line 639, in __init__
    self.handle()
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/paste/httpserver.py", line 432, in handle
    BaseHTTPRequestHandler.handle(self)
  File "/usr/local/stackless/lib/python2.7/BaseHTTPServer.py", line 337, in handle
    self.handle_one_request()
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/paste/httpserver.py", line 427, in handle_one_request
    self.wsgi_execute()
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/paste/httpserver.py", line 287, in wsgi_execute
    self.wsgi_start_response)
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/paste/urlmap.py", line 202, in __call__
    return app(environ, start_response)
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/nagare/wsgi.py", line 379, in __call__
    response = self.on_exception(request, response)
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/nagare/wsgi.py", line 345, in __call__
    session = self.sessions.get(request, response, xhr_request)
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/nagare/sessions/common.py", line 209, in get
    session_secure_id = state.get()
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/nagare/sessions/common.py", line 83, in get
    (new_state_id, self.lock, self.secure_id, self.data) = self.sessions_manager.get_state(self.session_id, self.state_id, self.use_same_state)
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/nagare/sessions/common.py", line 279, in get_state
    data = self.deserialize(session_data, state_data)
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/site-packages/nagare/sessions/memory_sessions.py", line 208, in deserialize
    return copy.deepcopy(state_data) if self.states_history else state_data
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 237, in _deepcopy_tuple
    y.append(deepcopy(a, memo))
  File "/usr/local/stackless/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 237, in _deepcopy_tuple
    y.append(deepcopy(a, memo))
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 230, in _deepcopy_list
    y.append(deepcopy(a, memo))
  File "/usr/local/stackless/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 237, in _deepcopy_tuple
    y.append(deepcopy(a, memo))
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 230, in _deepcopy_list
    y.append(deepcopy(a, memo))
  File "/usr/local/stackless/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 237, in _deepcopy_tuple
    y.append(deepcopy(a, memo))
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/local/stackless/lib/python2.7/copy.py", line 329, in _reconstruct
    y = callable(*args)
  File "/home/pnagel/Projects/eots/.tox/stackless-py27/lib/python2.7/copy_reg.py", line 100, in __newobj__
    return cls.__new__(cls, *args)
TypeError: object.__new__(NotImplementedType) is not safe, use NotImplementedType.__new__()

By instrumenting /usr/local/stackless/lib/python2.7/copy.py to add "print x" to the start of _reconstruct(), so that the object being deepcopied is printed as the deepcopy traverses the object graph, we get the following output:

<component at 3063510 on object <nagare.util.Confirm object at 0x30689d0>>
<stackless.channel object at 0x3057230>
<stackless.tasklet object at 0x3067590>
<frame object at 0x3138150>
<module 'stackless' (built-in)>
Type help() for interactive help, or help(object) for help about object.
Copyright (c) 2001-2010 Python Software Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved.
Use exit() or Ctrl-D (i.e. EOF) to exit
    Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
    for supporting Python development.  See www.python.org for more information.
See http://www.python.org/2.7/license.html
Use quit() or Ctrl-D (i.e. EOF) to exit
NotImplemented

As I understand it, this is a seriously limits the viability of the memory session manager for Nagare.

The proximate problem is that channels cannot be deepcopied, which is serious enough since they play a central role in Stackless.

But the deeper problem is that pickling and deepcopying depend on totally different code paths. Problematic Third party library objects may override getstate and setstate to make themselves pickleable, but then they still need to override deepcopy to render them deepcopyable.

And since the Stackless project has a deep commitment to pickling, it is likely that they will make pickling work for everything but that the effort to make deepcopying work will fall on the shoulders of the Nagare project itself. In other words, having created the memory session manager, the Nagare project is now at risk of playing whack-a-mole with deepcopying bugs in third party code.

It might be better to just remove the memory session manager totally to conserve development energy. If there is a deficiency with the pickling session manager, which was the reason that the memory session manager was created in the first place, then it might be more beneficial to rather expend energy on solving and mitigating those problems in the context of the pickling session manager.

1 2 3 4 5 6 7 8 9 10 11 12 13
Note: See TracQuery for help on using queries.