Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 678882 - emerge: pdb is invoked requiring manual operation when there is not enough disk space in PORTAGE_TMPDIR
Summary: emerge: pdb is invoked requiring manual operation when there is not enough di...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-27 00:13 UTC by Kroz
Modified: 2019-02-27 00:22 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Full output before first Ctrl+D (output.txt,5.33 KB, text/plain)
2019-02-27 00:13 UTC, Kroz
Details
emerge --info (emerge --info.txt,6.32 KB, text/plain)
2019-02-27 00:13 UTC, Kroz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kroz 2019-02-27 00:13:30 UTC
Created attachment 566636 [details]
Full output before first Ctrl+D

It is expected that during package installation failure, emerge will either exit with error message (if no --keep-going is specified), or skip failed package and continue with the rest of the installation (if --keep-going is specified). In either case no additional manual intervention is needed. However in case of no disk space in the temporary directory, process failure results in running pdb requiring manual commands to break/continue installation.

sys-apps/portage-2.3.51-r1

Steps to reproduce:

1. Set temporary directory to some volume with few disk space. Specific case:
PORTAGE_TMPDIR="/mnt/ramdisk" # 1.5G

2. Run installation of package requiring much disk space. Specific case:
$ emerge -v1 noto # media-fonts/noto-20181024::gentoo  USE="X -cjk"

Expected result: since disk space in PORTAGE_TMPDIR is not enough for package installation, emerge exits with an error message.

Actual result: pdb command prompt is shown requiring pressing Ctrl+D - 151 times!

--- Full output before first Ctrl+D (partly)

$ emerge -v1 noto

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] media-fonts/noto-20181024::gentoo  USE="X -cjk" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB


>>> Verifying ebuild manifests

>>> Emerging (1 of 1) media-fonts/noto-20181024::gentoo
 * noto-20181024.tar.gz BLAKE2B SHA512 size ;-) ...                                                                                                              [ ok ]
>>> Unpacking source...
>>> Unpacking noto-20181024.tar.gz to /mnt/ramdisk/portage/media-fonts/noto-20181024/work
>>> Source unpacked in /mnt/ramdisk/portage/media-fonts/noto-20181024/work
>>> Preparing source in /mnt/ramdisk/portage/media-fonts/noto-20181024/work/noto-fonts-d7af81e614086435102cca95961b141b3530a027 ...
>>> Source prepared.
>>> Configuring source in /mnt/ramdisk/portage/media-fonts/noto-20181024/work/noto-fonts-d7af81e614086435102cca95961b141b3530a027 ...
>>> Source configured.
>>> Compiling source in /mnt/ramdisk/portage/media-fonts/noto-20181024/work/noto-fonts-d7af81e614086435102cca95961b141b3530a027 ...
>>> Source compiled.
>>> Test phase [not enabled]: media-fonts/noto-20181024

>>> Install noto-20181024 into /mnt/ramdisk/portage/media-fonts/noto-20181024/image/ category media-fonts
ERROR:root:Failed to copy file: _parsed_options=Namespace(group=-1, mode=420, owner=-1, preserve_timestamps=False), source=b'NotoSansMono-CondensedExtraBold.ttf', dest_
dir=b'/mnt/ramdisk/portage/media-fonts/noto-20181024/image/usr/share/fonts/noto'
Traceback (most recent call last):
  File "/usr/lib/portage/python3.6/doins.py", line 209, in run
    copyfile(source, dest)
  File "/usr/lib64/python3.6/site-packages/portage/util/file_copy/__init__.py", line 30, in _optimized_copyfile
    _file_copy(src_file.fileno(), dst_file.fileno())
OSError: [Errno 28] No space left on device

...

ERROR:root:Failed to copy file: _parsed_options=Namespace(group=-1, mode=420, owner=-1, preserve_timestamps=False), source=b'NotoSansMono-CondensedThin.ttf', dest_dir=b
'/mnt/ramdisk/portage/media-fonts/noto-20181024/image/usr/share/fonts/noto'
Traceback (most recent call last):
  File "/usr/lib/portage/python3.6/doins.py", line 209, in run
    copyfile(source, dest)
  File "/usr/lib64/python3.6/site-packages/portage/util/file_copy/__init__.py", line 30, in _optimized_copyfile
    _file_copy(src_file.fileno(), dst_file.fileno())
OSError: [Errno 28] No space left on deviceException in callback PipeLogger._output_handler(11)
handle: <Handle PipeLogger._output_handler(11)>
Traceback (most recent call last):
  File "/usr/lib64/python3.6/asyncio/events.py", line 145, in _run
    self._callback(*self._args)
  File "/usr/lib64/python3.6/site-packages/portage/util/_async/PipeLogger.py", line 124, in _output_handler
    log_file.flush()
OSError: [Errno 28] No space left on device
--Return--
> /usr/lib64/python3.6/site-packages/portage/util/_eventloop/asyncio_event_loop.py(76)_internal_caller_exception_handler()->None
-> pdb.set_trace()
(Pdb)
Comment 1 Kroz 2019-02-27 00:13:54 UTC
Created attachment 566638 [details]
emerge --info