Bug 1010728

Summary: [abrt] backintime-kde-1.0.26-2.fc19: encfstools.py:165:check_fuse:KeyError: 'getgrnam(): name not found: fuse'
Product: [Fedora] Fedora Reporter: James Wilson Harshaw IV <absal0m>
Component: backintimeAssignee: Christopher Meng <i>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: buggy, dev, flaviogrossi, i, lonelywoolf, rpm
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:a410104988f787b4ffc42d6d24361fb68b6f4636
Fixed In Version: backintime-1.0.28-2.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-05 10:37:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
File: backtrace
none
File: environ
none
remove check for fuse group
none
apply patch in spec
none
Final patch none

Description James Wilson Harshaw IV 2013-09-22 20:43:33 UTC
Description of problem:
Just ran the program. Pressed ok then got an error.

Version-Release number of selected component:
backintime-kde-1.0.26-2.fc19

Additional info:
reporter:       libreport-2.1.7
cmdline:        python /usr/share/backintime/kde4/app.py
dso_list:       backintime-common-1.0.26-2.fc19.noarch
executable:     /usr/share/backintime/kde4/app.py
kernel:         3.11.1-200.fc19.x86_64
runlevel:       N 5
type:           Python
uid:            1000

Truncated backtrace:
encfstools.py:165:check_fuse:KeyError: 'getgrnam(): name not found: fuse'

Traceback (most recent call last):
  File "/usr/share/backintime/kde4/settingsdialog.py", line 1341, in accept
    if self.validate():
  File "/usr/share/backintime/kde4/settingsdialog.py", line 1191, in validate
    if not self.save_profile():
  File "/usr/share/backintime/kde4/settingsdialog.py", line 962, in save_profile
    mnt.pre_mount_check(mode = mode, first_run = True, **mount_kwargs)
  File "/usr/share/backintime/common/mount.py", line 120, in pre_mount_check
    return tools.pre_mount_check(first_run)
  File "/usr/share/backintime/common/encfstools.py", line 107, in pre_mount_check
    self.check_fuse()
  File "/usr/share/backintime/common/encfstools.py", line 165, in check_fuse
    fuse_grp_members = grp.getgrnam('fuse')[3]
KeyError: 'getgrnam(): name not found: fuse'

Local variables in innermost frame:
self: <encfstools.EncFS_mount object at 0x2058d90>
user: 'james'

Comment 1 James Wilson Harshaw IV 2013-09-22 20:43:36 UTC
Created attachment 801337 [details]
File: backtrace

Comment 2 James Wilson Harshaw IV 2013-09-22 20:43:39 UTC
Created attachment 801338 [details]
File: environ

Comment 3 Flavio Grossi 2013-09-23 07:59:19 UTC
i think in fedora 19 there's no fuse group anymore, so that check in backintime should be removed by deleting the following lines in backintime/common/sshtools.py:

fuse_grp_members = grp.getgrnam('fuse')[3]
if not user in fuse_grp_members:
    raise mount.MountException(...)


flavio

Comment 4 Flavio Grossi 2013-09-23 08:00:27 UTC
Created attachment 801534 [details]
remove check for fuse group

Comment 5 Flavio Grossi 2013-09-23 08:01:10 UTC
Created attachment 801535 [details]
apply patch in spec

Comment 6 Flavio Grossi 2013-09-23 08:02:07 UTC
i attached my proposed fix, please review

thank you,
flavio

Comment 7 James Wilson Harshaw IV 2013-09-23 16:27:25 UTC
Will review later today, thank you for your quick response.

Comment 8 Christopher Meng 2013-09-24 00:40:40 UTC
Just ping upstream with response.

Comment 9 James Wilson Harshaw IV 2013-09-24 00:42:17 UTC
(In reply to Christopher Meng from comment #8)
> Just ping upstream with response.

Ping upstream?

Comment 10 Christopher Meng 2013-09-24 00:43:43 UTC
(In reply to jwharshaw from comment #9)
> (In reply to Christopher Meng from comment #8)
> > Just ping upstream with response.
> 
> Ping upstream?

Yes, I just get response from upstream, he will look into bugs later.

Maybe we should wait for upstream or just fix it?

Comment 11 James Wilson Harshaw IV 2013-09-24 00:46:12 UTC
Oh you just told the package maintainer? How would we fix the problem our selves for everyone? or do you just mean fix and recompile it individually.

Comment 12 James Wilson Harshaw IV 2013-09-24 00:49:02 UTC
by the way we can get rid of of /home/user/Ubuntu One exclude, since it is Fedora.

Comment 13 Christopher Meng 2013-09-24 00:54:46 UTC
OK.

Comment 14 Christopher Meng 2013-09-26 04:11:49 UTC
*** Bug 1011272 has been marked as a duplicate of this bug. ***

Comment 15 Christopher Meng 2013-09-26 04:15:28 UTC
Created attachment 803229 [details]
Final patch

This should be the final patch I can provide.

Please test.

Comment 16 Flavio Grossi 2013-09-26 07:33:23 UTC
Christopher, i think the issue here is that the fuse group isn't used anymore in f19, so the exception that now is correctly catched creates an error that is misleading

i guess that check should be removed

Comment 17 lonelywoolf 2013-09-30 07:11:18 UTC
Do you steel need reports of testing your patch or i should wait for fix from maintainer?

Comment 18 J 2013-11-06 15:29:29 UTC
Unsurprisingly the bug is also present for gnome as well:

Traceback (most recent call last):
  File "/usr/share/backintime/gnome/app.py", line 1017, in on_btn_settings_clicked
    settingsdialog.SettingsDialog( self.config, self.snapshots, self ).run()
  File "/usr/share/backintime/gnome/settingsdialog.py", line 1102, in run
    if not self.validate():
  File "/usr/share/backintime/gnome/settingsdialog.py", line 1246, in validate
    if not self.save_profile():
  File "/usr/share/backintime/gnome/settingsdialog.py", line 945, in save_profile
    mnt.pre_mount_check(mode = mode, first_run = True, **mount_kwargs)
  File "/usr/share/backintime/common/mount.py", line 120, in pre_mount_check
    return tools.pre_mount_check(first_run)
  File "/usr/share/backintime/common/sshtools.py", line 117, in pre_mount_check
    self.check_fuse()
  File "/usr/share/backintime/common/sshtools.py", line 196, in check_fuse
    fuse_grp_members = grp.getgrnam('fuse')[3]
KeyError: 'getgrnam(): name not found: fuse'

Is there any news of the fix being applied upstream?

Comment 19 Christopher Meng 2013-11-06 15:32:13 UTC
(In reply to J from comment #18)
Fixed in 1.0.28 version, however this version introduce a new python module which is not in Fedora.

I will fix them soon.

Comment 20 Fedora Update System 2013-11-26 01:32:38 UTC
backintime-1.0.28-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/backintime-1.0.28-2.fc19

Comment 21 Fedora Update System 2013-11-26 01:34:09 UTC
backintime-1.0.28-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/backintime-1.0.28-2.fc20

Comment 22 Fedora Update System 2013-11-26 18:04:40 UTC
Package backintime-1.0.28-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing backintime-1.0.28-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-22187/backintime-1.0.28-2.fc20
then log in and leave karma (feedback).

Comment 23 Fedora Update System 2013-12-05 10:37:50 UTC
backintime-1.0.28-2.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 24 Fedora Update System 2013-12-14 03:45:18 UTC
backintime-1.0.28-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.