{"action":"closed","issue":{"url":"https://api.github.com/repos/rgalanakis/goless/issues/41","labels_url":"https://api.github.com/repos/rgalanakis/goless/issues/41/labels{/name}","comments_url":"https://api.github.com/repos/rgalanakis/goless/issues/41/comments","events_url":"https://api.github.com/repos/rgalanakis/goless/issues/41/events","html_url":"https://github.com/rgalanakis/goless/issues/41","id":60088160,"number":41,"title":"AttributeError on context switch","user":{"login":"Lukasa","id":1382556,"avatar_url":"https://avatars.githubusercontent.com/u/1382556?v=3","gravatar_id":"","url":"https://api.github.com/users/Lukasa","html_url":"https://github.com/Lukasa","followers_url":"https://api.github.com/users/Lukasa/followers","following_url":"https://api.github.com/users/Lukasa/following{/other_user}","gists_url":"https://api.github.com/users/Lukasa/gists{/gist_id}","starred_url":"https://api.github.com/users/Lukasa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lukasa/subscriptions","organizations_url":"https://api.github.com/users/Lukasa/orgs","repos_url":"https://api.github.com/users/Lukasa/repos","events_url":"https://api.github.com/users/Lukasa/events{/privacy}","received_events_url":"https://api.github.com/users/Lukasa/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-03-06T11:04:53Z","updated_at":"2015-03-15T21:54:38Z","closed_at":"2015-03-15T21:54:38Z","body":"Running 'goless' version 0.7.2 on Windows 7 under PyPy 2.5.0 in some very simple code leads to an `AttributeError` bubbling up out of stackless. The traceback is here:\r\n\r\n```\r\nC:\\Users\\cb2\\tmp>pypy golesstest.py\r\nCRITICAL:root:['Traceback (most recent call last):\\n', '  File \"C:\\\\pypy-2.5.0-win32\\\\site-packages\\\\goless\\\\__init__.py\", line 58, in safe_wrapped\\n    f(*args, **kwargs)\\n', \"TypeError: 'NoneType' object is not callable\\n\"]\r\nTraceback (most recent call last):\r\n  File \"app_main.py\", line 75, in run_toplevel\r\n  File \"golesstest.py\", line 37, in <module>\r\n    request_collation(inchan, outchan)\r\n  File \"golesstest.py\", line 29, in request_collation\r\n    for response in outchan:\r\n  File \"C:\\pypy-2.5.0-win32\\site-packages\\goless\\channels.py\", line 97, in next\r\n    return self._next()\r\n  File \"C:\\pypy-2.5.0-win32\\site-packages\\goless\\channels.py\", line 88, in _next\r\n    return self.recv()\r\n  File \"C:\\pypy-2.5.0-win32\\site-packages\\goless\\channels.py\", line 53, in recv\r\n    got = self._recv()\r\n  File \"C:\\pypy-2.5.0-win32\\site-packages\\goless\\channels.py\", line 153, in _recv\r\n    value = self.waiting_chan.receive()\r\n  File \"C:\\pypy-2.5.0-win32\\site-packages\\goless\\backends.py\", line 79, in receive\r\n    return stackless.channel.receive(self)\r\n  File \"C:\\pypy-2.5.0-win32\\lib_pypy\\stackless.py\", line 323, in receive\r\n    return self._channel_action(None, -1)\r\n  File \"C:\\pypy-2.5.0-win32\\lib_pypy\\stackless.py\", line 307, in _channel_action\r\n    schedule()\r\n  File \"C:\\pypy-2.5.0-win32\\lib_pypy\\stackless.py\", line 524, in schedule\r\n    _scheduler_switch(curr, task)\r\n  File \"C:\\pypy-2.5.0-win32\\lib_pypy\\stackless.py\", line 150, in _scheduler_switch\r\n    next.switch()\r\n  File \"C:\\pypy-2.5.0-win32\\lib_pypy\\stackless.py\", line 65, in switch\r\n    current._frame.switch(to=self._frame)\r\n  File \"C:\\pypy-2.5.0-win32\\lib_pypy\\stackless.py\", line 53, in run\r\n    return func(*argl, **argd)\r\n  File \"C:\\pypy-2.5.0-win32\\lib_pypy\\stackless.py\", line 415, in _func\r\n    func(*argl, **argd)\r\n  File \"C:\\pypy-2.5.0-win32\\site-packages\\goless\\__init__.py\", line 60, in safe_wrapped\r\n    on_panic(*_sys.exc_info())\r\n  File \"C:\\pypy-2.5.0-win32\\site-packages\\goless\\__init__.py\", line 41, in on_panic\r\n    _be.propagate_exc(SystemExit, 1)\r\n  File \"C:\\pypy-2.5.0-win32\\site-packages\\goless\\backends.py\", line 108, in propagate_exc\r\n    stackless.getmain().throw(errtype, *args)\r\nAttributeError: 'tasklet' object has no attribute 'throw'\r\n```\r\n\r\nIn practice, this is probably to do with `stackless.py` that PyPy 2.5.0 makes available. In particular, it really does seem not to have the `throw` method."}}