[Intrepid] crash / error when using revelation-applet

Bug #257007 reported by Hew
22
Affects Status Importance Assigned to Milestone
Revelation - obsolete
Invalid
Undecided
Unassigned
revelation (Ubuntu)
Fix Released
High
Unassigned
Intrepid
Fix Released
High
Unassigned

Bug Description

Binary package hint: revelation

I entered a search term and hit enter, entered my password to unlock the file and hit enter again. I got this message in a popup window:

Traceback (most recent call last):
  File "/usr/share/revelation/libexec/revelation-applet", line 238, in __cb_entry_activate
    self.entry_search(self.entry.get_text(), True)
  File "/usr/share/revelation/libexec/revelation-applet", line 562, in entry_search
    if self.__require_file() == False:
  File "/usr/share/revelation/libexec/revelation-applet", line 478, in __require_file
    return self.file_open(self.config.get("file"))
  File "/usr/share/revelation/libexec/revelation-applet", line 627, in file_open
    return self.__file_load(file, password)
  File "/usr/share/revelation/libexec/revelation-applet", line 358, in __file_load
    self.entrymenu = self.__generate_entrymenu(self.entrystore)
  File "/usr/share/revelation/libexec/revelation-applet", line 391, in __generate_entrymenu
    item = ui.ImageMenuItem(type(e) == entry.FolderEntry and ui.STOCK_FOLDER or e.icon, e.name)
  File "/usr/lib/python2.5/site-packages/revelation/ui.py", line 1261, in __init__
    self.image = self.get_children()[1]
IndexError: list index out of range

I then did the same thing again and it worked. I've used revelation many times before, but this is the first time I've encountered a problem like this.

revelation/intrepid uptodate 0.4.11-3ubuntu2

Related branches

Revision history for this message
Hew (hew) wrote :

This is happening whenever I unlock the applet with my password. I have preferences set for it to lock after 10min, but it appears to stay unlocked indefinitely.

Changed in revelation:
importance: Undecided → Medium
Revision history for this message
jaanusrk (jaanus-online) wrote :

i'm getting the same error.
revelation applet gives it after i enter password.
Revelation program works well.
And i think the problem started after i upgraded to Interpid Ibex.

Revision history for this message
Hew (hew) wrote :

Setting status to confirmed based on the previous comment. Yes, the problem only occurs with Intrepid.

Can anyone use the applet on Intrepid without this crash?

Changed in revelation:
status: New → Confirmed
Revision history for this message
Hew (hew) wrote :

This is a big deal for anyone that uses revelation-applet. It happens every single time the file has to be unlocked (and does not lock itself automatically - very bad).

Triaging as I believe this bug report has enough info.

Changed in revelation:
status: Confirmed → Triaged
Revision history for this message
Hew (hew) wrote :

I suspect this affects all revelation-applet users. Bumping importance to high.

Changed in revelation:
importance: Medium → High
Changed in revelation:
status: Unknown → New
Revision history for this message
Daniel Holbert (dholbert) wrote :

BTW, I filed an upstream bug on this exact problem a little while back, at http://svn.codepoet.no/revelation/ticket/405 a while back (though I'm not sure if upstream code is still being maintained, so I wouldn't expect a fix to be forthcoming there).

See also bug 260293 -- it's caused by the same underlying problem as this bug, but it's reproduced in a different way.

Revision history for this message
Olivier Cortès (olive) wrote :

I suggest one of the two bugs be marked as duplicate of the other, and the same about the upstream bugs… 2 ways of hitting the same bugs… IS the same bug ;-)

Revision history for this message
Olivier Cortès (olive) wrote :

I've marked the #405 as duplicate of the #388 on the remote bugtracker, because it IS the same bug.

Changed in revelation:
status: New → Unknown
Changed in revelation:
status: Unknown → New
Revision history for this message
Hew (hew) wrote :

Upstream's bugtracker is a mess (so much spam, I can't believe it). This is important to have fixed before Intrepid release, but I can't see a fix coming from upstream.

Revision history for this message
Alpha1974 (a-launchpad-reply-elschner-net) wrote :

My workaround (quick 'n dirty) on Gentoo:

Comment out line 1261 in file "/usr/lib/python2.5/site-packages/revelation/ui.py":
# self.image = self.get_children()[1]

I have no idea what this line normally should do, but the program and applet work well again on my system (even all menu-icons are shown).

Revision history for this message
Hew (hew) wrote :

Alpha1974: Thank you for your contribution, I can confirm this fix works! I too do not know the line's purpose or if this change will have any adverse effects, but everything seems to work properly and I will be testing it with everyday use from now on.

Revision history for this message
Hew (hew) wrote :

Jef Spaleta contacted me with a patch, saying the same issue exists in Fedora. I have converted it into the attached debdiff and subscribed u-u-s. Thanks Jef for the patch! Here is his message:

Morning!

I've hit the same revelation-applet bug in Fedora as you've seen in Ubuntu.

I'm using this patch to class ImageMenuItem in ui.py:

                children=self.get_children()
                if len(children) > 0 : self.label = children[0]
                if len(children) > 1 : self.image = children[1]

See attachment for the actual diff.

Basically what's happen is that some ImageMenuItems have an image
defined and sometimes they don't.
I think gtk use to pass None as the second child in the list for all
situations, but now, it doesn't populate the second child in these
cases.

My patch tries to be robust, but not optimal.

I'll be submitting the patch to upstream, but upstream is practically
dead. I might be looking to take over the upstream development of
revelation but I can't do it until the start of the new calendar year.

-jef

Revision history for this message
James Westby (james-w) wrote :

Hi Hew,

Thanks for the debdiff, and thanks to Jef for sending the patch.

There is one blocker before I sponsor it though. If you look at
your debdiff carefully you will see that the lines you introduced
are apparently indented differently to the lines that are already
there. I believe this is because the originial file uses tabs, and
your change uses spaces, which is bad in python. Please also
check Jef's original patch and warn him if he was the one to
mix tabs and spaces.

I'm unable to access upstream's bug tracker to check if the
file is attached there. If you can access it could you check please?
It's not so important if Jef takes over maintenance, as he will
obviously know about the patch.

Also, it would be nice to forward this change to Debian. If upstream
is dead then they might like to add the patch themselves. However,
the maintainer appears to be a little inactive. Obviously feel free
to send any other changes made to the package in Ubuntu that way
at the same time.

Feel free to ping me on IRC as you attach an updated patch to the bug
report, and I'll upload.

Thanks,

James

Revision history for this message
Hew (hew) wrote :

Thanks for your help James. Jef's .patch does have spaces, I left them there for consistency between distros. I have now changed them to tabs and attached the new debdiff.

Revision history for this message
James Westby (james-w) wrote :

Uploaded, thank you.

James

Changed in revelation:
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package revelation - 0.4.11-3ubuntu3

---------------
revelation (0.4.11-3ubuntu3) intrepid; urgency=low

  * Fix index out of range in ui.py (LP: #257007)
    - Thanks to Jef Spaleta <email address hidden> for the patch.

 -- Hew McLachlan <email address hidden> Sat, 04 Oct 2008 18:19:22 +1000

Changed in revelation:
status: Fix Committed → Fix Released
Revision history for this message
Thomas E Jenkins (thomas-jenkins) wrote :

Apparently the Revelation upstream bug tracker has moved to http://bitbucket.org/erikg/revelation/issues/ and now the upstream bug is #3 http://bitbucket.org/erikg/revelation/issue/3/bug-right-click .

I'll have to look into how to update the revelation bug tracker link.

Revision history for this message
dino99 (9d9) wrote :

outdated flavor, report about a newer active version if needed

Changed in revelation:
importance: Unknown → Undecided
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.