Bug 1595460

Summary: [abrt] pronterface: _open(): __init__.py:1059:_open:PermissionError: [Errno 13] Permission denied: '/usr/share/pronterface/print.txt'
Product: [Fedora] Fedora Reporter: Alvaro Castañeda <alvaro.c.m>
Component: printrunAssignee: Miro Hrončok <mhroncok>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: mhroncok
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/83d3df052a76d76c8d2e52840299a9ba9c757d6f
Whiteboard: abrt_hash:c73c2de7de91e9b4766b59babc4e87ddc6187119;
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-09 09:53:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: cpuinfo
none
File: environ
none
File: mountinfo
none
File: namespaces
none
File: open_fds none

Description Alvaro Castañeda 2018-06-26 22:46:03 UTC
Description of problem:
1: In pronterface configuratoion, type in any file name at settings/options/User interface/Log path, I choosed "print.txt"
2: Launch pronterface from launcher (I used the one at the menu and the one I have in the panel).
3: Wait forever, or launch from a terminal, this time it works.

Launching from terminal, and erasing log file path, or giving full path, ie. /home/user/file.log works as expected.

Problem started just after last update, python related updates are (but also kernel, glibc, libinput among others were updated at the same time):

    Upgraded python2-numpy-1:1.14.3-1.fc28.x86_64                      @updates
    Upgrade                1:1.14.5-1.fc28.x86_64                      @updates
    Upgraded python2-numpy-f2py-1:1.14.3-1.fc28.x86_64                 @updates
    Upgrade                     1:1.14.5-1.fc28.x86_64                 @updates
    Upgraded python3-audit-2.8.3-3.fc28.x86_64                         @fedora
    Upgrade                2.8.4-1.fc28.x86_64                         @updates
    Upgraded python3-brlapi-0.6.7-12.fc28.x86_64                       @updates
    Upgrade                 0.6.7-19.fc28.x86_64                       @updates
    Upgraded python3-numpy-1:1.14.3-1.fc28.x86_64                      @updates
    Upgrade                1:1.14.5-1.fc28.x86_64                      @updates
    Upgraded python3-numpy-f2py-1:1.14.3-1.fc28.x86_64                 @updates
    Upgrade                     1:1.14.5-1.fc28.x86_64                 @updates
    Upgraded python3-sssdconfig-1.16.1-9.fc28.noarch      

Version-Release number of selected component:
1:pronterface-2.0.0-0.5.rc5.fc28

Additional info:
reporter:       libreport-2.9.5
cmdline:        /usr/bin/python3 -s /usr/bin/pronterface
crash_function: _open
exception_type: PermissionError
executable:     /usr/bin/pronterface
interpreter:    python3-3.6.5-1.fc28.x86_64
kernel:         4.16.16-300.fc28.x86_64
runlevel:       N 5
type:           Python3
uid:            1000

Truncated backtrace:
__init__.py:1059:_open:PermissionError: [Errno 13] Permission denied: '/usr/share/pronterface/print.txt'

Traceback (most recent call last):
  File "/usr/bin/pronterface", line 62, in <module>
    app = PronterApp(False)
  File "/usr/lib64/python3.6/site-packages/printrun/pronterface.py", line 2388, in __init__
    self.mainwindow = PronterWindow(self)
  File "/usr/lib64/python3.6/site-packages/printrun/pronterface.py", line 174, in __init__
    self.parse_cmdline(sys.argv[1:])
  File "/usr/lib64/python3.6/site-packages/printrun/pronsole.py", line 758, in parse_cmdline
    setup_logging(sys.stdout, self.settings.log_path, True)
  File "/usr/lib64/python3.6/site-packages/printrun/utils.py", line 70, in setup_logging
    logging_handler = logging.FileHandler(filepath)
  File "/usr/lib64/python3.6/logging/__init__.py", line 1030, in __init__
    StreamHandler.__init__(self, self._open())
  File "/usr/lib64/python3.6/logging/__init__.py", line 1059, in _open
    return open(self.baseFilename, self.mode, encoding=self.encoding)
PermissionError: [Errno 13] Permission denied: '/usr/share/pronterface/print.txt'

Local variables in innermost frame:

Comment 1 Alvaro Castañeda 2018-06-26 22:46:05 UTC
Created attachment 1454828 [details]
File: backtrace

Comment 2 Alvaro Castañeda 2018-06-26 22:46:07 UTC
Created attachment 1454829 [details]
File: cgroup

Comment 3 Alvaro Castañeda 2018-06-26 22:46:08 UTC
Created attachment 1454830 [details]
File: cpuinfo

Comment 4 Alvaro Castañeda 2018-06-26 22:46:10 UTC
Created attachment 1454831 [details]
File: environ

Comment 5 Alvaro Castañeda 2018-06-26 22:46:11 UTC
Created attachment 1454832 [details]
File: mountinfo

Comment 6 Alvaro Castañeda 2018-06-26 22:46:12 UTC
Created attachment 1454833 [details]
File: namespaces

Comment 7 Alvaro Castañeda 2018-06-26 22:46:14 UTC
Created attachment 1454834 [details]
File: open_fds

Comment 8 Miro Hrončok 2019-01-09 09:53:03 UTC
Ok I suppose thet you should really put absolute writable path there, but the error might be nicer indeed.


Reported upstream: https://github.com/kliment/Printrun/issues/977

Might eventually also fix it there once I get to it.

As a workaround: Use absolute log path.