PiRSquared17 / appsnap

Automatically exported from code.google.com/p/appsnap
0 stars 0 forks source link

crashes when db.ini copied to userdb.ini and then AppSnapGui launched #97

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. copy C:\Program Files\AppSnap\db.ini to userdb.ini in the same directory
2. launch AppSnapGui

What is the expected output? What do you see instead?

It is expected that AppSnapGui will launch as usual. Instead there is a
long error in a box:

A fatal exception has occurred. Please report this bug to the AppSnap issue
tracker: http://code.google.com/p/appsnap/issues/entry. Sorry for the
inconvenience.

========================
Thu Apr 10 19:44:18 2008
========================

AppSnap = 1.3.3
wxPython = 2.8.7.1
PyCurl = libcurl/7.16.4 OpenSSL/0.9.8e zlib/1.2.3 c-ares/1.4.0
Locale = en_US

>>> whitecolour = wx.Colour( blue=255,green=255,red=255 )
... (255, 255, 255, 255)
>>> lightgreycolour = wx.Colour( blue=240,green=240,red=240 )
... (240, 240, 240, 255)
>>> darkgreycolour = wx.Colour( blue=200,green=200,red=200 )
... (200, 200, 200, 255)
>>> lightredcolour = wx.Colour( blue=180,green=180,red=255 )
... (255, 180, 180, 255)
>>> lightbluecolour = wx.Colour( blue=255,green=200,red=180 )
... (180, 200, 255, 255)
>>> bluecolour = wx.Colour( blue=255 )
... (0, 0, 255, 255)
>>> sectionfont = wx.Font(
style=wx.FONTSTYLE_NORMAL,pointSize=10,weight=wx.FONTWEIGHT_BOLD,family=wx.FONTF
AMILY_DECORATIVE,face='Verdana'
)
... <wx._gdi.Font; proxy of <Swig Object of type 'wxFont *' at 0x2b88d00> >
>>> dropdownfont = wx.Font(
style=wx.FONTSTYLE_NORMAL,pointSize=10,weight=wx.FONTWEIGHT_NORMAL,family=wx.FON
TFAMILY_SWISS,face='Arial'
)
... <wx._gdi.Font; proxy of <Swig Object of type 'wxFont *' at 0x2b88d20> >
>>> filterfont = wx.Font(
style=wx.FONTSTYLE_NORMAL,pointSize=9,weight=wx.FONTWEIGHT_NORMAL,family=wx.FONT
FAMILY_SWISS,face='Arial'
)
... <wx._gdi.Font; proxy of <Swig Object of type 'wxFont *' at 0x2b88d10> >
>>> urlfont = wx.Font(
style=wx.FONTSTYLE_NORMAL,pointSize=6,weight=wx.FONTWEIGHT_BOLD,family=wx.FONTFA
MILY_TELETYPE,face='Courier
New' )
... <wx._gdi.Font; proxy of <Swig Object of type 'wxFont *' at 0x2b88d30> >
>>> cancelfont = wx.Font(
style=wx.FONTSTYLE_NORMAL,pointSize=8,weight=wx.FONTWEIGHT_NORMAL,family=wx.FONT
FAMILY_DEFAULT,underline=True
)
... <wx._gdi.Font; proxy of <Swig Object of type 'wxFont *' at 0x2b88cf0> >
>>> tbpanel = wx.Panel( pos=(0, 0),parent=self.objects['frame'] )
... <wx._windows.Panel; proxy of <Swig Object of type 'wxPanel *' at
0x1da27d8> >
>>> panel = wx.Panel( pos=(100, 1),parent=self.objects['frame'] )
... <wx._windows.Panel; proxy of <Swig Object of type 'wxPanel *' at
0x1da1e70> >
>>> dropdown = wx.Choice( parent=self.objects['panel'],pos=(0,
-1),size=(165, -1) )
... <wx._controls.Choice; proxy of <Swig Object of type 'wxChoice *' at
0x1bbd488> >
>>> filterbox = wx.TextCtrl( parent=self.objects['panel'],pos=(215,
3),size=(130, 19) )
... <wx._controls.TextCtrl; proxy of <Swig Object of type 'wxTextCtrl *' at
0x2a4cd10> >
>>> bsizer = wx.BoxSizer( orient=wx.VERTICAL )
... <wx._core.BoxSizer; proxy of <Swig Object of type 'wxBoxSizer *' at
0x1eab2b0> >
>>> scrollwindow = wx.ScrolledWindow( pos=(0,
25),parent=self.objects['panel'] )
... <wx._windows.ScrolledWindow; proxy of <Swig Object of type
'wxScrolledWindow *' at 0x1e5fba0> >
>>> icon = wx.Icon( type=wx.BITMAP_TYPE_ICO,name='appsnap.ico' )
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cb88> >
>>> downloadicon = wx.Icon(
type=wx.BITMAP_TYPE_ICO,desiredHeight=16,desiredWidth=16,name='%systemroot%\syst
em32\shell32.dll;18'
)
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cb98> >
>>> downloadbmp = wx.EmptyBitmap( width=16,height=16 )
... <wx._gdi.Bitmap; proxy of <Swig Object of type 'wxBitmap *' at 0x2b3cb78> >
>>> installicon = wx.Icon(
type=wx.BITMAP_TYPE_ICO,desiredHeight=16,desiredWidth=16,name='%systemroot%\syst
em32\shell32.dll;15'
)
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cbb8> >
>>> installbmp = wx.EmptyBitmap( width=16,height=16 )
... <wx._gdi.Bitmap; proxy of <Swig Object of type 'wxBitmap *' at 0x2b3cba8> >
>>> upgradeicon = wx.Icon(
type=wx.BITMAP_TYPE_ICO,desiredHeight=16,desiredWidth=16,name='%systemroot%\syst
em32\shell32.dll;19'
)
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cbd8> >
>>> upgradebmp = wx.EmptyBitmap( width=16,height=16 )
... <wx._gdi.Bitmap; proxy of <Swig Object of type 'wxBitmap *' at 0x2b3cbc8> >
>>> uninstallicon = wx.Icon(
type=wx.BITMAP_TYPE_ICO,desiredHeight=16,desiredWidth=16,name='%systemroot%\syst
em32\shell32.dll;32'
)
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cbf8> >
>>> uninstallbmp = wx.EmptyBitmap( width=16,height=16 )
... <wx._gdi.Bitmap; proxy of <Swig Object of type 'wxBitmap *' at 0x2b3cbe8> >
>>> updateicon = wx.Icon(
type=wx.BITMAP_TYPE_ICO,desiredHeight=16,desiredWidth=16,name='%systemroot%\syst
em32\shell32.dll;35'
)
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cc18> >
>>> updatebmp = wx.EmptyBitmap( width=16,height=16 )
... <wx._gdi.Bitmap; proxy of <Swig Object of type 'wxBitmap *' at 0x2b3cc08> >
>>> reloadicon = wx.Icon(
type=wx.BITMAP_TYPE_ICO,desiredHeight=16,desiredWidth=16,name='%systemroot%\syst
em32\shell32.dll;69'
)
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cc38> >
>>> reloadbmp = wx.EmptyBitmap( width=16,height=16 )
... <wx._gdi.Bitmap; proxy of <Swig Object of type 'wxBitmap *' at 0x2b3cc28> >
>>> reportbugicon = wx.Icon(
type=wx.BITMAP_TYPE_ICO,desiredHeight=16,desiredWidth=16,name='%systemroot%\syst
em32\shell32.dll;13'
)
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cc58> >
>>> reportbugbmp = wx.EmptyBitmap( width=16,height=16 )
... <wx._gdi.Bitmap; proxy of <Swig Object of type 'wxBitmap *' at 0x2b3cc48> >
>>> helpicon = wx.Icon(
type=wx.BITMAP_TYPE_ICO,desiredHeight=16,desiredWidth=16,name='%systemroot%\syst
em32\shell32.dll;23'
)
... <wx._gdi.Icon; proxy of <Swig Object of type 'wxIcon *' at 0x2b3cc78> >
>>> helpbmp = wx.EmptyBitmap( width=16,height=16 )
... <wx._gdi.Bitmap; proxy of <Swig Object of type 'wxBitmap *' at 0x2b3cc68> >
>>> toolbar = wx.ToolBar( style=wx.TB_TEXT |
wx.TB_VERTICAL,parent=self.objects['tbpanel'] )
... <wx._controls.ToolBar; proxy of <Swig Object of type 'wxToolBar *' at
0x2a4b178> >
>>> statusbar = wx.StatusBar( parent=self.objects['frame'] )
... <wx._windows.StatusBar; proxy of <Swig Object of type 'wxStatusBar *'
at 0x1bcd160> >
>>> self.objects['frame'].SetSizeHints( minH=590,minW=500 )
... None
>>> self.objects['frame'].SetIcon( icon=self.objects['icon'] )
... None
>>> self.objects['frame'].SetToolBar( toolbar=self.objects['toolbar'] )
... None
>>> self.objects['frame'].SetStatusBar( statBar=self.objects['statusbar'] )
... None
>>> self.objects['tbpanel'].SetBackgroundColour(
colour=self.objects['whitecolour'] )
... True
>>> self.objects['panel'].SetBackgroundColour(
colour=self.objects['whitecolour'] )
... True
>>> self.objects['dropdown'].SetFont( font=self.objects['dropdownfont'] )
... True
>>> self.objects['filterbox'].SetFont( font=self.objects['filterfont'] )
... True
>>> self.objects['filterbox'].SetValue( value=u"Filter" )
... None
>>> self.objects['filterbox'].SetForegroundColour(
colour=self.objects['darkgreycolour'] )
... True
>>> self.objects['scrollwindow'].SetBackgroundColour(
colour=self.objects['whitecolour'] )
... True
>>> self.objects['scrollwindow'].SetScrollRate( xstep=0,ystep=10 )
... None
>>> self.objects['scrollwindow'].SetSizer( sizer=self.objects['bsizer'] )
... None
>>> self.objects['scrollwindow'].EnableScrolling(
y_scrolling=True,x_scrolling=False )
... None
>>> self.objects['scrollwindow'].SetFocus( )
... None
>>> self.objects['downloadbmp'].CopyFromIcon(
icon=self.objects['downloadicon'] )
... True
>>> self.objects['installbmp'].CopyFromIcon( icon=self.objects['installicon'] )
... True
>>> self.objects['upgradebmp'].CopyFromIcon( icon=self.objects['upgradeicon'] )
... True
>>> self.objects['uninstallbmp'].CopyFromIcon(
icon=self.objects['uninstallicon'] )
... True
>>> self.objects['updatebmp'].CopyFromIcon( icon=self.objects['updateicon'] )
... True
>>> self.objects['reloadbmp'].CopyFromIcon( icon=self.objects['reloadicon'] )
... True
>>> self.objects['reportbugbmp'].CopyFromIcon(
icon=self.objects['reportbugicon'] )
... True
>>> self.objects['helpbmp'].CopyFromIcon( icon=self.objects['helpicon'] )
... True
>>> self.objects['toolbar'].SetBackgroundColour(
colour=self.objects['whitecolour'] )
... True
>>> self.objects['statusbar'].SetFieldsCount( number=2 )
... None
>>> ['wx.EVT_SIZE', '( ', "self.objects['frame'],",
'event_object.resize_all )']
>>> ['wx.EVT_CHOICE', '( ', "self.objects['frame'],
self.objects['dropdown'].GetId(),", 'event_object.category_chosen )']
>>> ['wx.EVT_TEXT', '( ', "self.objects['frame'],
self.objects['filterbox'].GetId(),", 'event_object.filter_section_list )']
>>> ['wx.EVT_SET_FOCUS', '( ', "self.objects['filterbox'],",
'event_object.adjust_filter_box_text )']
>>> ['wx.EVT_KILL_FOCUS', '( ', "self.objects['filterbox'],",
'event_object.adjust_filter_box_text )']

Traceback (most recent call last):
  File "appsnapgui.py", line 4, in <module>
  File "appsnap.pyo", line 43, in appsnap_main
  File ".\appsnaplib\gui.py", line 92, in appsnap_start
  File ".\appsnaplib\makegui.py", line 204, in parse_and_run
  File ".\appsnaplib\guisetup.py", line 363, in setup
  File ".\appsnaplib\config.py", line 152, in get_categories
  File ".\appsnaplib\config.py", line 139, in get_section_items
  File "ConfigParser.pyo", line 557, in items
  File "ConfigParser.pyo", line 593, in _interpolate
  File "ConfigParser.pyo", line 634, in _interpolate_some
InterpolationSyntaxError: '%' must be followed by '%' or '(', found:
'%2B-([0-9]\\.[0-9]+\\.[0-9]+[-0-9]*)-setup.exe'

What version of the product are you using? On what operating system?
AppSnapGui 1.3.3 on Windows Vista Ultimate.

Please provide any additional information below.
UAC is turned off. Problem goes away if I delete userdb.ini

Original issue reported on code.google.com by daddyd...@gmail.com on 10 Apr 2008 at 11:55

GoogleCodeExporter commented 9 years ago
Unable to reproduce with latest version of db.ini.

Original comment by ganesh...@gmail.com on 12 Apr 2008 at 3:20

GoogleCodeExporter commented 9 years ago
Uninstalled AppSnap and deleted C:\Program Files\AppSnap
Installed AppSnap.
New update detected. Updated.
Created blank userdb.ini in C:\Program Files\AppSnap and opened AppSnap -- no 
crash
Copied and pasted the 7-Zip section from C:\Program Files\AppSnap\db.ini into
C:\Program Files\AppSnap\userdb.ini and opened AppSnap -- no crash
Copied and pasted entire contents of C:\Program Files\AppSnap\db.ini into a 
clean
C:\Program Files\AppSnap\userdb.ini -- crash (previously I had just copied in 
Explorer)

Original comment by daddyd...@gmail.com on 12 Apr 2008 at 9:58

GoogleCodeExporter commented 9 years ago
Deleted userdb.ini and all copies of db.ini and repeated the experiment with
identical results.

Then...

Removed [GTK+] section from userdb.ini -- no more crash!!!!

The clue was the %2B at the bottom of the error message

[GTK+]

category        = Libraries
describe        = GUI Toolkit
website         = http://www.gtk.org/
scrape          = http://sourceforge.net/projects/gimp-win/download/
version         = gtk%%2B-([0-9]\.[0-9]+\.[0-9]+[-0-9]*)-setup.exe
download        = http://downloads.sourceforge.net/gimp-win/
filename        = gtk+-#VERSION#-setup.exe
instparam       = /sp- /silent /norestart
upgrades        = true
chinstdir       = /dir="#INSTALL_DIR#"
uninstparam     = /sp- /silent /norestart
instversion     = USE_UNINSTALL
uninstall       = REGISTRY_SEARCH:DisplayName=GTK+ Runtime
([0-9]\.[0-9]+\.[0-9]+[-0-9]*)*

Original comment by daddyd...@gmail.com on 12 Apr 2008 at 10:21

GoogleCodeExporter commented 9 years ago
How exactly are you doing the copy? Are there two % in both files? If not then 
the
.INI parser crashes. This is an issue if both files have two % in the version 
field
for GTK+.

Original comment by ganesh...@gmail.com on 14 Apr 2008 at 3:23

GoogleCodeExporter commented 9 years ago
I did the copy two ways with the same result:

From Windows Explorer, I copied the file db.ini, and pasted and renamed the 
copy to
userdb.ini.

I also opened up db.ini in Notepad++ and did Ctrl-A Ctrl-C to copy all, then 
opened
up userdb.ini and did Ctrl-A Ctrl-V to paste all overwriting the contents. 

Either way, the result was the same. I'll try again making sure I have a clean
install and see if I get the same.

Original comment by daddyd...@gmail.com on 15 Apr 2008 at 1:59

GoogleCodeExporter commented 9 years ago
I haven't really gotten this error with "real" userdb.ini files, so probably a 
non-
issue.

Original comment by daddyd...@gmail.com on 30 Apr 2008 at 9:59

GoogleCodeExporter commented 9 years ago
Closing.

Original comment by ganesh...@gmail.com on 5 May 2008 at 6:19