Bug 4914

Summary: Not talkative enough error message for /dev/shm issues
Product: [Build System, Metadata & Runtime] BitBake Reporter: Laszlo Papp <lpapp>
Component: bitbakeAssignee: Paul Eggleton <bluelightning>
Status: RESOLVED WONTFIX QA Contact:
Severity: minor    
Priority: Low CC: jessica.zhang, poky.bs.watcher, poky.watcher
Version: unspecified   
Target Milestone: Future   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Laszlo Papp 2013-07-25 13:14:31 UTC
A newbie could not figure out the real issue so easily out of the error message below.

bitbake core-image-minimal
Traceback (most recent call last):
  File "/home/lpapp/Projects/foo/poky-denzil-7.0.1/bitbake/bin//bitbake", line 258, in <module>
    ret = main()
  File "/home/lpapp/Projects/foo/poky-denzil-7.0.1/bitbake/bin//bitbake", line 226, in main
    server.initServer()
  File "/home/lpapp/Projects/foo/poky-denzil-7.0.1/bitbake/lib/bb/server/process.py", line 245, in initServer
    self.event_queue = ProcessEventQueue(0)
  File "/usr/lib/python2.7/multiprocessing/queues.py", line 63, in __init__
    self._rlock = Lock()
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 147, in __init__
    SemLock.__init__(self, SEMAPHORE, 1, 1)
OSError: [Errno 13] Permission denied
Pseudo is not present but is required, building this first before the main build
Traceback (most recent call last):
  File "/home/lpapp/Projects/foo/poky-denzil-7.0.1/bitbake/bin//bitbake", line 258, in <module>
    ret = main()
  File "/home/lpapp/Projects/foo/poky-denzil-7.0.1/bitbake/bin//bitbake", line 226, in main
    server.initServer()
  File "/home/lpapp/Projects/foo/poky-denzil-7.0.1/bitbake/lib/bb/server/process.py", line 245, in initServer
    self.event_queue = ProcessEventQueue(0)
  File "/usr/lib/python2.7/multiprocessing/queues.py", line 63, in __init__
    self._rlock = Lock()
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 147, in __init__
    SemLock.__init__(self, SEMAPHORE, 1, 1)
OSError: [Errno 13] Permission denied
DEBUG: Removed the following variables from the environment: LANGUAGE, SHLVL, SUDO_USER, BBFETCH2, USERNAME, SUDO_UID, SUDO_COMMAND, SUDO_GID, BUILDDIR, OLDPWD, MAIL, LS_COLORS, LC_COLLATE

Even if this patch helps something, I think it could be fine-tuned into separate non-existent and write issue error message to be "perfect" unless there is some limitation I am unaware of:
http://patchwork.openembedded.org/patch/49621/
Comment 1 Paul Eggleton 2013-07-25 15:57:10 UTC
Since it's not at all clear from the above comment, in master we do produce a sensible error message instead of the traceback pasted above. What is being asked for is enhancing that new error message so that instead of combining the "does not exist" and "not writable" checks into one, it does the checks separately and shows the appropriate error depending on which issue is present.
Comment 2 Laszlo Papp 2013-07-25 16:01:47 UTC
That is what I wrote, yes.
Comment 3 Paul Eggleton 2017-06-13 11:06:21 UTC
So looking back over this I'm fairly satisfied with the current checks - it's unlikely to get triggered other than in highly customised container setups where you should understand the implications of not providing writeable /dev/shm.

Having said that we would accept a patch to improve the messaging / checks if a reasonable one were to be submitted.