hugs/castro

Windows7 TightVNC issue - AssertionError pyvnc2swf\swf.py", line 545, in writebits assert 0 <= x and x < (1<<bits)

Opened this issue · 0 comments

python -c "import castro; castro.test()"

Recording a 10 second video...

10 Connected: localhost:5900, protocol_version=3.8, preferred_encoding=(0, -232, -239)
VNC Screen: size=4960x1921, name='beast'
Output movie size: 4960x1921
Creating movie: 'c:\users\matt\appdata\local\temp\castro-video.swf': version=5, size=4960x1921, framerate=12, compression=None
9 8 7 6 5 4 3 2 1 Process Process-2:
Traceback (most recent call last):
File "c:\python27\lib\multiprocessing\process.py", line 232, in _bootstrap
self.run()
File "c:\python27\lib\multiprocessing\process.py", line 88, in run
self._target(_self._args, *_self._kwargs)
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\vnc2swf.py", line 611, in main
merge=merge, debug=debug, reconnect=reconnect)
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\vnc2swf.py", line 429, in vnc2swf
client.loop()
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\rfb.py", line 489, in loop
if not self.loop1(): break
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\rfb.py", line 448, in loop1
self.finish_update()
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\rfb.py", line 136, in finish_update
self.fb.update_screen(time.time())
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\rfb.py", line 839, in update_screen
self.stream.next_frame()
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\output.py", line 564, in next_frame
self.add_object(self.screen.get_image(x0, y0, w, h), depth, x0, y0)
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\output.py", line 531, in add_object
self.place_object2(self.define_shape(w, h, data), x, y, depth)
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\output.py", line 431, in define_shape
self.writer.write_shape(3, [(0,(20,20)),(1,(w_20,0)),(1,(0,h_20)),(1,(-w_20,0)),(1,(0,-h_20))], fillstyle=1)
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\swf.py", line 708, in write_shape
self.writebits(4, n-2)
File "c:\python27\lib\site-packages\castro\lib\pyvnc2swf\swf.py", line 545, in writebits
assert 0 <= x and x < (1<<bits)
AssertionError

The swf file is created, (37k), but is unplayable.

It also creates a large number (1 per second, approximately) of python.exe processes until the original processes is terminated.