Discussion:
[Bitpim-devel] 0.7.16 is up
Roger Binns
2004-08-23 05:49:04 UTC
Permalink
0.7.16 is now up on the SourceForge download page (Windows and Linux).

Please post any successes or failures. If it works fine for everyone
then it will be formally announced on Tuesday.

There may be a -1 release if the issue Stephen found is serious.

Roger
Jim Smith
2004-08-23 13:58:10 UTC
Permalink
Post by Roger Binns
0.7.16 is now up on the SourceForge download page (Windows and Linux).
Please post any successes or failures. If it works fine for everyone
then it will be formally announced on Tuesday.
There may be a -1 release if the issue Stephen found is serious.
Roger
The good news is, I was able to read my Sanyo PM8200's calendar into BitPim
and write it back, and the alarm times are now displaying properly. Thanks
Stephen! :-)

The (perhaps) bad news is, the first two times I tried to read the calendar
I got two different exceptions. After rebooting the phone, the read was
successful. Here are those exceptions:

~~~~~~~~~~~~~~~~~~~~~~~~~~~
An unexpected exception has occurred.
Please see the help for details on what to do.

Traceback (most recent call last):
File "gui.pyo", line 152, in run
File "gui.pyo", line 92, in __call__
File "gui.pyo", line 1136, in getdata
File "gui.pyo", line 1130, in getfundamentals
File "com_sanyo.pyo", line 304, in getfundamentals
File "com_sanyomedia.pyo", line 67, in getmediaindices
File "com_sanyonewer.pyo", line 48, in sendpbcommand
File "com_sanyo.pyo", line 239, in sendpbcommand
CommsDataCorruption: PM8200: Sanyo packet failed CRC check

Variables by last 8 frames, innermost last

Frame run in gui.pyo at line 145
e = <common.CommsDataCorruption instance at 0x01EC9B48>
res = None
self = <WorkerThread(BitPim helper, started daemon)>
item = (<gui.Request instance at 0x01EC9B98>, <gui.Callback
instance at 0x01EC9BE8>)
call = <gui.Request instance at 0x01EC9B98>
ex = <common.CommsDataCorruption instance at 0x01EC9B48>
resultcb = <gui.Callback instance at 0x01EC9BE8>
first = 0

Frame __call__ in gui.pyo at line 92
self = <gui.Request instance at 0x01EC9B98>
args = ()
d = {}
kwargs = {}

Frame getdata in gui.pyo at line 1136
self = <WorkerThread(BitPim helper, started daemon)>
req = <guiwidgets.GetPhoneDialog instance; proxy of C++
wxDialog instance at _10a6960_

Frame getfundamentals in gui.pyo at line 1130
self = <WorkerThread(BitPim helper, started daemon)>
results = {'wallpaper-index': {2020: {'origin': 'images', 'name':
'Fenwick Light House.jpg

Frame getfundamentals in com_sanyo.pyo at line 304
self = <com_sanyo8200.Phone instance at 0x01EC9BC0>
results = {'wallpaper-index': {2020: {'origin': 'images', 'name':
'Fenwick Light House.jpg

Frame getmediaindices in com_sanyomedia.pyo at line 67
ifile = 98
idx = 2097
res = <p_sanyomedia.sanyomediafilenameresponse object at
0x01ECAE30>
idir = 2
req = <p_sanyomedia.sanyomediafilenamerequest object at
0x01ECA650>
ext = '.png'
results = {'wallpaper-index': {2020: {'origin': 'images', 'name':
'Fenwick Light House.jpg
iswallpaper = 1
ringermedia = {1: {'origin': 'builtin', 'name': 'None'}, 2: {'origin':
'builtin', 'name': 'Vib
imagemedia = {2020: {'origin': 'images', 'name': 'Fenwick Light
House.jpg'}, 2022: {'origin':
fname = 'Her.png'
nfiles = 116
self = <com_sanyo8200.Phone instance at 0x01EC9BC0>

Frame sendpbcommand in com_sanyonewer.pyo at line 48
numsendretry = 2
writemode = False
responseclass = <class 'p_sanyomedia.sanyomediafilenameresponse'>
callsetmode = True
returnerror = False
request = <p_sanyomedia.sanyomediafilenamerequest object at
0x01ECA650>
self = <com_sanyo8200.Phone instance at 0x01EC9BC0>

Frame sendpbcommand in com_sanyo.pyo at line 239
numsendretry = 2
isendretry = 1
origdata =
'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
0\x0
d = -1
responseclass = <class 'p_sanyomedia.sanyomediafilenameresponse'>
writemode = False
buffer = <prototypes.buffer instance at 0x01EC9940>
request = <p_sanyomedia.sanyomediafilenamerequest object at
0x01ECA650>
callsetmode = True
returnerror = False
firsttwo = '\xfa\x00'
crc = '\xf8a'
rdata =
'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
0\x0
data =
'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
0\x0
self = <com_sanyo8200.Phone instance at 0x01EC9BC0>
numretry = 0
crcok = False
~~~~~~~~~~~~~~~~~~~~~~~~~~~
An unexpected exception has occurred.
Please see the help for details on what to do.

Traceback (most recent call last):
File "gui.pyo", line 152, in run
File "gui.pyo", line 92, in __call__
File "gui.pyo", line 1136, in getdata
File "gui.pyo", line 1130, in getfundamentals
File "com_sanyo.pyo", line 300, in getfundamentals
File "com_brew.pyo", line 220, in getfilecontents
File "com_brew.pyo", line 373, in sendbrewcommand
File "p_brew.pyo", line 471, in readfrombuffer
File "prototypes.pyo", line 188, in readfrombuffer
File "prototypes.pyo", line 861, in getnextbyte
IndexError: trying to read one byte beyond end of 7 byte buffer

Variables by last 8 frames, innermost last

Frame getdata in gui.pyo at line 1136
self = <WorkerThread(BitPim helper, started daemon)>
req = <guiwidgets.GetPhoneDialog instance; proxy of C++
wxDialog instance at _10a6960_

Frame getfundamentals in gui.pyo at line 1130
self = <WorkerThread(BitPim helper, started daemon)>
results = {}

Frame getfundamentals in com_sanyo.pyo at line 300
self = <com_sanyo8200.Phone instance at 0x01EC9AD0>
results = {}

Frame getfilecontents in com_brew.pyo at line 220
self = <com_sanyo8200.Phone instance at 0x01EC9AD0>
req = <p_brew.readfilerequest object at 0x01ECAF10>
start = 1093268116.3900001
file = 'nvm/$SYS.ESN'
data = <cStringIO.StringO object at 0x01ECAE00>
desc = 'Reading nvm/$SYS.ESN'

Frame sendbrewcommand in com_brew.pyo at line 378
origdata = 'Y\x0c\x00`\xba\x0e\x00\xbet~'
d = -1
responseclass = <class 'p_brew.readfileresponse'>
buffer = <prototypes.buffer instance at 0x01EC9A58>
res = <p_brew.readfileresponse object at 0x01ECA710>
callsetmode = True
firsttwo = 'Y\x04'
request = <p_brew.readfilerequest object at 0x01ECAF10>
crc = '\xbet'
data = 'Y\x0c\x00`\xba\x0e\x00'
self = <com_sanyo8200.Phone instance at 0x01EC9AD0>

Frame readfrombuffer in p_brew.pyo at line 471
buf = <prototypes.buffer instance at 0x01EC9A58>
self = <p_brew.readfileresponse object at 0x01ECA710>
dict = {'sizeinbytes': 4}

Frame readfrombuffer in prototypes.pyo at line 188
shift = 16
self = <prototypes.UINTlsb object at 0x01ECA930>
dummy = 2
buf = <prototypes.buffer instance at 0x01EC9A58>
res = 14

Frame getnextbyte in prototypes.pyo at line 861
self = <prototypes.buffer instance at 0x01EC9A58>
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stephen Wood
2004-08-23 16:37:09 UTC
Permalink
Can you turn on protocol logging and try to reproduce these exceptions.
If you get them again, post/send the last few packets before the
exception.

Thanks, Stephen

On Mon, 2004-08-23 at 09:58, Jim Smith wrote:
...
Post by Jim Smith
The (perhaps) bad news is, the first two times I tried to read the calendar
I got two different exceptions. After rebooting the phone, the read was
Roger Binns
2004-08-23 18:40:48 UTC
Permalink
Post by Jim Smith
CommsDataCorruption: PM8200: Sanyo packet failed CRC check
That is exactly what it says it is. The escaping/unescaping
code was changed, but since you only get that intermittently
it is an indication of a cable/USB issue not a bug.

Roger
Steven Palm
2004-08-23 16:22:12 UTC
Permalink
Post by Roger Binns
0.7.16 is now up on the SourceForge download page (Windows and Linux).
Please post any successes or failures. If it works fine for everyone
then it will be formally announced on Tuesday.
Maybe we'll pass on the Mac build for this release... The PhoneBook
import screen is indeed blank, sorry I couldn't get around to testing
this sooner, but had to make the time to test it when I was doing the
build.

Since you are going to start the work on migrating things to the wx25
tree, maybe we'll just wait an iteration and see if that does anything
to fix the problem. I think that makes more sense than spending the
time trying to track down the reason at this point.

What say ye?

Steve
Roger Binns
2004-08-23 18:41:57 UTC
Permalink
Post by Steven Palm
Since you are going to start the work on migrating things to the wx25
tree, maybe we'll just wait an iteration and see if that does anything
to fix the problem. I think that makes more sense than spending the
time trying to track down the reason at this point.
What say ye?
Sounds fine to me. I assume there is no way of even guessing how to
press okay. If you change your mind then feel free to upload directly
to SourceForge.

Roger
Steven Palm
2004-08-23 19:02:17 UTC
Permalink
Post by Roger Binns
Post by Steven Palm
Since you are going to start the work on migrating things to the wx25
tree, maybe we'll just wait an iteration and see if that does anything
to fix the problem. I think that makes more sense than spending the
time trying to track down the reason at this point.
What say ye?
Sounds fine to me. I assume there is no way of even guessing how to
press okay. If you change your mind then feel free to upload directly
to SourceForge.
Well, you *can* close the window, and as I said, the next time it
seemed to come up fine. In fact, I continued to come up fine for me
after many tries, relaunching, etc... So maybe it was a fluke on the
first time, who knows...

Panther and Jaguar builds are on SourceForge.

Thanks!

Steve
Steven Palm
2004-08-23 16:26:09 UTC
Permalink
Post by Roger Binns
0.7.16 is now up on the SourceForge download page (Windows and Linux).
Well, the dialog came up blank the first time, but not the second
time... Strange. :-(

Maybe it's worth posting this build anyway to get some additional
feedback. I'll put it up in a little bit.

Anyway, the list of names came up with nothing in the "confidence"
column. I clicked on the "Unaltered" checkbox and got an exception:

An unexpected exception has occurred.
Please see the help for details on what to do.

Traceback (most recent call last):
File "/usr/local/src/bitpim/bitpim/phonebook.py", line 1609, in
OnCheckbox
self.table.OnDataUpdated()
File "/usr/local/src/bitpim/bitpim/phonebook.py", line 1391, in
OnDataUpdated
self.main.OnCellSelect()
File "/usr/local/src/bitpim/bitpim/phonebook.py", line 1704, in
OnCellSelect
row=self.table.GetRowData(self.grid.GetGridCursorRow())
File "/usr/local/src/bitpim/bitpim/phonebook.py", line 1124, in
GetRowData
return self.main.rowdata[self.rowkeys[row]]
IndexError: list index out of range

Variables by last 8 frames, innermost last

Frame __call__ in /usr/local/src/bitpim/bitpim/gui.py at line 73
self = <gui.Callback instance at 0x731cf80>
args = (None, {'phonebook': {0: {'serials': [{'serial2': 5,
'serial1': 5, 'sourcetype':
d = {}
kwargs = {}

Frame OnDataGetPhoneResults in /usr/local/src/bitpim/bitpim/gui.py at
line 756
self = <gui.MainWindow instance; proxy of C++ wxFrame
instance at _562a9d0_wxFrame_p>
merge = True
exception = None
results = {'phonebook': {0: {'serials': [{'serial2': 5,
'serial1': 5, 'sourcetype': 'lgvx6
v = 'MERGE'

Frame importdata in /usr/local/src/bitpim/bitpim/phonebook.py at line
870
dlg = <phonebook.ImportDialog instance; proxy of C++
wxDialog instance at _5607810_wxD
d = {0: {'numbers': [{'type': 'cell', 'number':
'*828155203935'}], 'serials': [{'ser
self = <phonebook.PhoneWidget instance; proxy of C++
wxPanel instance at _56b63a0_wxPan
merge = True
importdata = {0: {'serials': [{'serial2': 5, 'serial1': 5,
'sourcetype': 'lgvx6000', 'sourceu
categoriesinfo = ['Family', 'Friends', 'Colleagues', 'Business',
'School']
result = None

Frame ShowModal in
/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/
site-packages/wxPython/frames.py at line 184
_kwargs = {}
self = <phonebook.ImportDialog instance; proxy of C++
wxDialog instance at _5607810_wxD
_args = ()

Frame OnCheckbox in /usr/local/src/bitpim/bitpim/phonebook.py at line
1609
c = <wxPython.controls.wxCheckBox instance; proxy of C++
wxCheckBox instance at _6bf
self = <phonebook.ImportDialog instance; proxy of C++
wxDialog instance at _5607810_wxD
vclist = ((0, <wxPython.controls.wxCheckBox instance; proxy
of C++ wxCheckBox instance at
t = <class phonebook.ImportDataTable at 0x24c3f90>
v = 3
_ = <wxPython.events.wxCommandEventPtr instance; proxy
of C++ wxCommandEvent instanc

Frame OnDataUpdated in /usr/local/src/bitpim/bitpim/phonebook.py at
line 1391
sortcolumn = 1
newkeys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
c = 'Memo5'
colsused = ['Confidence']
ln = 0
items = []
k = 13
n = 13
colsavail = ['Name', 'Categories', 'Home', 'Home2', 'Home3',
'Office', 'Office2', 'Office3',
lo = 14
msg = <wxPython.grid.wxGridTableMessage instance; proxy of
C++ wxGridTableMessage inst
self = <phonebook.ImportDataTable instance; proxy of C++
wxPyGridTableBase instance at
oldrows = [8, 6, 11, 2, 10, 4, 9, 0, 7, 3, 5, 1, 12, 13]

Frame OnCellSelect in /usr/local/src/bitpim/bitpim/phonebook.py at line
1704
self = <phonebook.ImportDialog instance; proxy of C++
wxDialog instance at _5607810_wxD
event = None

Frame GetRowData in /usr/local/src/bitpim/bitpim/phonebook.py at line
1124
self = <phonebook.ImportDataTable instance; proxy of C++
wxPyGridTableBase instance at
row = -1
Roger Binns
2004-08-23 18:43:23 UTC
Permalink
Post by Steven Palm
return self.main.rowdata[self.rowkeys[row]]
IndexError: list index out of range
That happens if there is nothing to display. Of course I had caught
all the places where it happens, and then added some more code
which then gets bitten.

However you can just press ok in the exception dialog, so I won't
bother with a re-release and will instead just document this as
a "feature".

Roger
Jim Smith
2004-08-23 23:58:24 UTC
Permalink
Post by Roger Binns
Post by Jim Smith
CommsDataCorruption: PM8200: Sanyo packet failed CRC check
That is exactly what it says it is. The escaping/unescaping
code was changed, but since you only get that intermittently
it is an indication of a cable/USB issue not a bug.
Roger
Naturally you were right. ;^) I read and wrote the calendar several times
and wasn't able to reproduce it.

Loading...