Discussion:
[BitPim-devel] Fetch failure on SPH-A660 - internal error
Eric S. Raymond
2008-02-26 00:25:25 UTC
Permalink
BitPim version: BitPim Version 1.0.0 (Debian)
OS: Ubuntu 7.10 with updates:
Cellphone: SPH-A660 (VI660) badged for Sprint
Cable: USB to mini-USB adaptor cable specialized for the phone

The adaptor cable is known good, as I have another phone of the same
model (the bug was triggered by my wife's phone) which I have queried
successfully. This also tells me that the bug is not generic to the
phone type but has something to do with the specific data in my
wife's phone.

To reproduce, I simply plug in the phone and attempt to get the phone
directory. The error is repeatable, and I have reproduced it under
two instances of BitPim running on different machines.

I am available to perform experiments on both phones.

Stack trace follows:

BitPim version: 1.0.0-Debian
An unexpected exception has occurred.
Please see the help for details on what to do.

Traceback (most recent call last):
File "/usr/share/bitpim/code/gui.py", line 283, in run
res=call()
File "/usr/share/bitpim/code/gui.py", line 158, in __call__
return apply(self.method, self.args+args, d)
File "/usr/share/bitpim/code/gui.py", line 1896, in getdata
i[1](results)
File "/usr/share/bitpim/code/phones/com_samsung_packet.py", line 250, in getphonebook
entry=self.extractphonebookentry(res[0].entry, result)
File "/usr/share/bitpim/code/phones/com_samsung_packet.py", line 287, in extractphonebookentry
speeddialtype=entry.speeddial
File "/usr/share/bitpim/code/phones/p_samsungspha620.py", line 210, in __getfield_speeddial
return self.__field_speeddial.getvalue()
File "/usr/share/bitpim/code/prototypes.py", line 1045, in getvalue
raise ValueException("The field '%s' is not an integer" % (val))
ValueException: The field '' is not an integer

Variables by last 8 frames, innermost last

Frame run in /usr/share/bitpim/code/gui.py at line 276
resultcb = <gui.Callback instance at 0x26c5440>
res = None
self = <WorkerThread(BitPim helper, started daemon)>
item = (<gui.Request instance at 0x26c58c0>, <gui.Callback instance at 0x26c5440>)
call = <gui.Request instance at 0x26c58c0>
ex = ValueException("The field '' is not an integer",)
e = ValueException("The field '' is not an integer",)
first = 0

Frame __call__ in /usr/share/bitpim/code/gui.py at line 158
self = <gui.Request instance at 0x26c58c0>
args = ()
d = Keys []
{}
kwargs = Keys []
{}

Frame getdata in /usr/share/bitpim/code/gui.py at line 1896
count = 1
i = (<bound method GetPhoneDialog.GetPhoneBookSetting of <guiwidgets.GetPhoneDialog;
self = <WorkerThread(BitPim helper, started daemon)>
req = <guiwidgets.GetPhoneDialog; proxy of C++ wxDialog instance at _0000050200000000_
willcall = [(<bound method GetPhoneDialog.GetPhoneBookSetting of <guiwidgets.GetPhoneDialog
results = Keys ['groups', 'ringtone-index', 'sync', 'uniqueserial', 'wallpaper-index']
{'sync': {'phonebook': 'MERGE'}, 'wallpaper-index': {}, 'uniqueserial': 'c76407c
sync = Keys ['phonebook']
{'phonebook': 'MERGE'}
st = 0
todo = [(<bound method WorkerThread.rebootcheck of <WorkerThread(BitPim helper, started

Frame getphonebook in /usr/share/bitpim/code/phones/com_samsung_packet.py at line 250
slot = 9
count = 8
pbook = Keys [0, 1, 2, 3, 4, 5, 6, 7]
{0: {'serials': [{'slot': 1, 'sourcetype': 'spha660', 'sourceuniqueid': 'c76407c
lastname = 'Lisa Gentry'
self = <phones.com_samsungspha660.Phone object at 0x26c6990>
req = <phones.p_samsung_packet.phonebookslotrequest object at 0x3142e90>
result = Keys ['groups', 'ringtone-index', 'sync', 'uniqueserial', 'wallpaper-index']
{'sync': {'phonebook': 'MERGE'}, 'wallpaper-index': {}, 'uniqueserial': 'c76407c
res = [<phones.p_samsungspha620.phonebookslotresponse object at 0x26d3b50>]
entry = Keys ['flags', 'names', 'numbers', 'serials']
{'serials': [{'slot': 8, 'sourcetype': 'spha660', 'sourceuniqueid': 'c76407c7503

Frame extractphonebookentry in /usr/share/bitpim/code/phones/com_samsung_packet.py at line 287
fundamentals = Keys ['groups', 'ringtone-index', 'sync', 'uniqueserial', 'wallpaper-index']
{'sync': {'phonebook': 'MERGE'}, 'wallpaper-index': {}, 'uniqueserial': 'c76407c
res = Keys ['names', 'numbers', 'serials']
{'serials': [{'slot': 9, 'sourcetype': 'spha660', 'sourceuniqueid': 'c76407c7503
self = <phones.com_samsungspha660.Phone object at 0x26c6990>
cat = 'Unassigned'
secret = 0
entry = <phones.p_samsungspha620.pbentry object at 0x31429d0>

Frame __getfield_speeddial in /usr/share/bitpim/code/phones/p_samsungspha620.py at line 210
self = <phones.p_samsungspha620.pbentry object at 0x31429d0>

Frame getvalue in /usr/share/bitpim/code/prototypes.py at line 1045
self = <prototypes.CSVINT object at 0x3142890>
val = ''
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

I cannot undertake to lay my finger on that article of the
Constitution which grant[s] a right to Congress of expending, on
objects of benevolence, the money of their constituents.
-- James Madison, 1794
Stephen Wood
2008-02-26 04:00:53 UTC
Permalink
On Mon, Feb 25, 2008 at 7:25 PM, Eric S. Raymond <***@snark.thyrsus.com> wrote:
... This also tells me that the bug is not generic to the
Post by Eric S. Raymond
phone type but has something to do with the specific data in my
wife's phone.
Probably something funny about the phonebook entry it is trying to
process. Turn on protocol logging and send the protocol log directly
to me. It is probably enough to send just the last bit before the
crash so that I can see the full AT response string that it was
working on.

Stephen

Loading...