View Issue Details

IDProjectCategoryView StatusLast Update
0004340Slicer4Core: Base Codepublic2018-11-07 00:41
Reporterfedorov Assigned Tojcfr  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSOS Version
Product VersionSlicer 4.8.1 
Target VersionSlicer 4.9.0Fixed in VersionSlicer 4.9.0 
Summary0004340: Impossible to use Slicer in multi-user setting on Linux
Description

Slicer temporary directory is owned by the user who started Slicer first and is not writeable. Issue identified by Artem Mamonov.

Steps To Reproduce

from @pieper:

I was going to suggest the workaround of setting the temp directory but Artem found it before I had a chance.

It does make sense and it does sound like a bug that would be hit on a multi-user linux system.

Artem, since you are the discoverer of the bug would you mind filing a bug report so we can track this?

http://www.na-mic.org/Bug

For reference the default is set here:

https://github.com/Slicer/Slicer/blob/aca0f5db2ccf41f4b3a399b2346c2ed871fe5e6d/Base/QTCore/qSlicerCoreApplication.cxx#L1138-L1152

Which uses Qt calls as described here:

http://doc.qt.io/qt-4.8/qdir.html#tempPath

In the future I think we'll want to migrate to this call once we have Qt5:

http://doc.qt.io/qt-5/qtemporarydir.html

We can probably implement a workaround in the mean time that appends the user name to the temp file path, so something like /tmp/Slicer-artem would be used and should work 99% of the time I think.

TagsNo tags attached.

Relationships

has duplicate 0003180 closedjcfr need better warning for unwritable temp folder 
has duplicate 0003941 closedjcfr bad tmp dir due to copied settings 
has duplicate 0004322 closedjcfr old settings files can contain invalid path to temp directory 
related to 0004652 assignedjcfr Runtime errors due to failure to create temp folder 

Activities

jcfr

jcfr

2017-02-09 23:54

administrator   ~0014330

Thanks for reporting the issue.

Waiting we transition to Qt5, I suggest that function "defaultTemporaryPath" is updated to use something like what is done here: https://github.com/commontk/CTK/blob/cdb75ce742f618112b8a0f299a484d00baa4e8ff/Applications/ctkPluginGenerator/ctkPluginGenerator.cpp#L45-L70

lassoan

lassoan

2017-06-10 00:14

developer   ~0014714

Last edited: 2017-08-03 16:08

View 2 revisions

This is not a blocking issue, as a workaround is available:

  • Go to menu: Edit / Application settings / Modules,
  • Select a writeable directory as Temporary directory.
fedorov

fedorov

2017-06-10 13:56

developer   ~0014734

I think chances are it is definitely blocking for someone who just downloaded Slicer, and has no idea about what the problem or the workarounds are.

lassoan

lassoan

2017-06-10 15:14

developer   ~0014736

This issue is not new, and it has not prevented creating several stable versions. This is just one of many issues that users can solve without any software change, if they ask in the forum. Probably there are only very few Linux users, many of them do not have the issue or figure out the solution, because I don't see people complaining about it (even if only 1 out of 10 people reports the issue, we should see complaints coming in). Anyway, fix is scheduled for 4.8.

lassoan

lassoan

2017-11-03 23:20

developer   ~0015380

Submitted pull request with proposed fix:
https://github.com/Slicer/Slicer/pull/834

lassoan

lassoan

2017-11-04 15:44

developer   ~0015381

Fix integrated into r26549.

On unix-like systems, username is now appended to temporary directory name: (SystemTemporaryDir)/(ApplicationName)-(UserName)

Issue History

Date Modified Username Field Change
2017-02-09 22:49 fedorov New Issue
2017-02-09 22:49 fedorov Status new => assigned
2017-02-09 22:49 fedorov Assigned To => jcfr
2017-02-09 23:54 jcfr Note Added: 0014330
2017-06-10 00:14 lassoan Severity block => major
2017-06-10 00:14 lassoan Note Added: 0014714
2017-06-10 13:56 fedorov Note Added: 0014734
2017-06-10 15:14 lassoan Note Added: 0014736
2017-06-15 01:41 lassoan Relationship added related to 0003180
2017-06-15 01:42 lassoan Relationship replaced has duplicate 0003180
2017-06-15 10:56 lassoan Relationship added has duplicate 0003941
2017-06-15 10:58 lassoan Relationship added has duplicate 0004322
2017-08-03 16:08 lassoan Note Edited: 0014714 View Revisions
2017-11-03 23:20 lassoan Note Added: 0015380
2017-11-04 15:44 lassoan Status assigned => resolved
2017-11-04 15:44 lassoan Resolution open => fixed
2017-11-04 15:44 lassoan Fixed in Version => Slicer 4.9.0
2017-11-04 15:44 lassoan Note Added: 0015381
2017-11-04 15:45 lassoan Target Version => Slicer 4.9.0
2018-11-07 00:41 jcfr Relationship added related to 0004652