MantisBT - Doomseeker
View Issue Details
0003396Doomseeker[All Projects] Bugpublic2018-03-03 20:102018-10-27 22:55
WubTheCaptain 
Zalewa 
lowmajoralways
closedfixed 
x86_64Debian GNU/Linuxbuster/sid
1.1 
1.21.2 
0003396: Doomseeker startup error may display an empty list of directories which couldn't be created (chmod 0000 with empty directory)
Quote
Doomseeker will not run because following directories cannot be created:



This error message is void of directories and unhelpful.
In Doomseeker 1.1:

  1. Remove the default config directory, e.g. $HOME/.doomseeker (rm -rf $HOME/.doomseeker). Do not start Doomseeker yet.
  2. Create a new default config directory with no read/write/execute permissions: mkdir $HOME/.doomseeker && chmod 0000 $HOME/.doomseeker
  3. Attempt launching Doomseeker.


In Doomseeker 1.2~beta-1: Ditto, but repeat the instructions for $HOME/.config/doomseeker directory path too before launching Doomseeker.
  • ext4 file system
  • Qt 5.9.2
No tags attached.
related to 0003453closed Pol M When Doomseeker fails to startup due to file system errors, return errno/message from the filesystem 
png 2018-03-03-200348_500x103_scrot.png (7,392) 2018-03-03 20:10
https://zandronum.com/tracker/file_download.php?file_id=2314&type=bug
png
Issue History
2018-03-03 20:10WubTheCaptainNew Issue
2018-03-03 20:10WubTheCaptainFile Added: 2018-03-03-200348_500x103_scrot.png
2018-03-03 20:11WubTheCaptainAdditional Information Updatedbug_revision_view_page.php?rev_id=11457#r11457
2018-03-03 20:12WubTheCaptainSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=11459#r11459
2018-03-03 20:13WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=11461#r11461
2018-03-03 20:24WubTheCaptainNote Added: 0019114
2018-03-03 20:30WubTheCaptainNote Added: 0019115
2018-03-03 20:31WubTheCaptainPrioritylow => high
2018-03-03 20:31WubTheCaptainSeverityminor => text
2018-03-03 20:33WubTheCaptainPriorityhigh => low
2018-03-03 20:33WubTheCaptainSeveritytext => major
2018-03-03 20:38WubTheCaptainAdditional Information Updatedbug_revision_view_page.php?rev_id=11462#r11462
2018-03-03 20:45WubTheCaptainNote Added: 0019117
2018-03-03 20:45WubTheCaptainNote Edited: 0019117bug_revision_view_page.php?bugnote_id=19117#r11464
2018-03-03 20:46WubTheCaptainNote Edited: 0019117bug_revision_view_page.php?bugnote_id=19117#r11465
2018-03-03 20:46WubTheCaptainNote Edited: 0019117bug_revision_view_page.php?bugnote_id=19117#r11466
2018-08-16 15:56ZalewaNote Added: 0019337
2018-08-16 15:56ZalewaAssigned To => Zalewa
2018-08-16 15:56ZalewaStatusnew => needs testing
2018-08-20 19:14WubTheCaptainTarget Version => 1.2
2018-08-20 19:31WubTheCaptainNote Added: 0019347
2018-08-20 21:50WubTheCaptainNote Added: 0019357
2018-08-20 21:50WubTheCaptainStatusneeds testing => needs review
2018-08-20 21:56WubTheCaptainNote Added: 0019358
2018-08-20 21:57WubTheCaptainNote Edited: 0019358bug_revision_view_page.php?rev_id=11636
2018-08-20 21:57WubTheCaptainNote Edited: 0019358bug_revision_view_page.php?rev_id=11637
2018-08-20 22:01Pol MNote Added: 0019359
2018-08-20 22:01WubTheCaptainNote Added: 0019360
2018-08-20 22:05Pol MNote Added: 0019361
2018-08-20 22:07Pol MNote Added: 0019362
2018-08-20 22:10Pol MNote Added: 0019363
2018-08-20 22:13WubTheCaptainNote Added: 0019364
2018-08-20 22:16Pol MNote Added: 0019365
2018-08-20 22:20WubTheCaptainNote Added: 0019366
2018-08-20 22:20WubTheCaptainStatusneeds review => resolved
2018-08-20 22:20WubTheCaptainFixed in Version => 1.2
2018-08-20 22:20WubTheCaptainResolutionopen => fixed
2018-08-20 22:24WubTheCaptainRelationship addedrelated to 0003453
2018-08-20 22:28WubTheCaptainNote Deleted: 0019358
2018-08-20 22:29WubTheCaptainNote Deleted: 0019360
2018-08-20 22:29WubTheCaptainNote Deleted: 0019362
2018-08-20 22:30WubTheCaptainNote Added: 0019367
2018-10-27 22:55WubTheCaptainStatusresolved => closed

Notes
(0019114)
WubTheCaptain   
2018-03-03 20:24   
In Doomseeker 1.1, if $HOME permissions are set to 0000, then this works as intended.

In Doomseeker 1.2~beta-1, if $HOME/.config (not $HOME/.config/doomseeker) permissions are set to 0000, then this also works as intended.

It does not seem to matter in this "working as intended" scenario (parent directory is not writeable and/or executable) whether the Doomseeker directory doesn't exist, is empty or post-first start. The problem described here is when the Doomseeker directory itself not writable/executable.
(0019115)
WubTheCaptain   
2018-03-03 20:30   
I thought of bumping the severity to "major" given how much of a griefance this could potentially be to a new user with no apparent solution, but the problem itself is with the text and thus possibly "text" severity.

We can change the text or additional information to the dialog for a resolution, and we could add a reason from the filesystem why they couldn't be created (e.g. permission error, no disk space) after the directory.
(0019117)
WubTheCaptain   
2018-03-03 20:45   
(edited on: 2018-03-03 20:46)
I mean, the bug here is that dialog is shown even though the directory technically exists but has no permissions. What Doomseeker should really show is that the config directory cannot be written to, or is not readable due to lack of +r or +x permissions (I didn't test which). This is a seperate dialog.

(0019337)
Zalewa   
2018-08-16 15:56   
Fixed through a selection of commits, from which the important ones are:
1.'https://bitbucket.org/Doomseeker/doomseeker/commits/8cad0d3e7c208ed3c1ee26a0edf4d067162803ea [^]'
2.'https://bitbucket.org/Doomseeker/doomseeker/commits/97eaa955b5386733cc8be0b578522eb3e7af662e [^]'

Thanks go to Pol M for useful contributions.
(0019347)
WubTheCaptain   
2018-08-20 19:31   
Does macOS behave with these patches (or without) similar to GNU/Linux?
(0019357)
WubTheCaptain   
2018-08-20 21:50   
In case of "[o]ther unexpected cases", the error message will be still hopelessly useless because it makes no attempt to return the error from the file system. I'm suggesting to use errno.h from a POSIX libc.

Works fine otherwise, but I don't like the proposed approach/solution to the issue.
(0019359)
Pol M   
2018-08-20 22:01   
(first message)
since MacOS is also UNIX, i don't quite see why should it fail, but unfortunately I don't have a mac to test this right now. I'll try to test it as soon as possible, since I have a friend that has one.
(0019361)
Pol M   
2018-08-20 22:05   
(second message)
You're right. I left that as in case there was an unexpected behaviour with the new error handling. I'll look into errno.h and see how it fits.
(0019363)
Pol M   
2018-08-20 22:10   
(continuing last message)
Tested. with the wrong permissions (tested 000) it does prompt an error message: 'https://imgur.com/llm2U5k [^]'
(0019364)
WubTheCaptain   
2018-08-20 22:13   
@Pol M: Ignore me, apologies. My error and hasty reply to notes.
(0019365)
Pol M   
2018-08-20 22:16   
OK ^_^

I'll still look at errno.h later.
(0019366)
WubTheCaptain   
2018-08-20 22:20   
Actually this issue is technically fixed, any remaining issues are enhancements (such as the typo "could not be created" when home directory is not readable, or lack of errno and transliteral message from the file system).
(0019367)
WubTheCaptain   
2018-08-20 22:30   
See 0003453.

I also redacted some messages I started, which caused unrelated confusion in this ticket.