Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 910594 - sys-apps/portage: false positive ENOSPC during upgrade
Summary: sys-apps/portage: false positive ENOSPC during upgrade
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-20 16:43 UTC by Robin Johnson
Modified: 2023-07-28 04:23 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2023-07-20 16:43:24 UTC
Upgrade errored out, but completed anyway.

$ df /var/log/portage/elog/ ; df -i /var/log/portage/elog/
Filesystem             1K-blocks     Used Available Use% Mounted on
/dev/mapper/vg-var_log  51558685 39761473   9591388  81% /var/log
Filesystem              Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/vg-var_log 6553600 1121227 5432373   18% /var/log


$ df /var/tmp/portage* ; df -i /var/tmp/portage* ; 
Filesystem         1K-blocks     Used Available Use% Mounted on
/dev/mapper/vg-var 103043268 33927872  64654316  35% /var
shm                 25165824    87064  25078760   1% /var/tmp/portage-tmpfs
Filesystem           Inodes  IUsed    IFree IUse% Mounted on
/dev/mapper/vg-var  6553600 964613  5588987   15% /var
shm                16477573   7868 16469705    1% /var/tmp/portage-tmpfs


>>> Emerging (2 of 2) sys-apps/portage-3.0.49-r1::gentoo
>>> Installing (2 of 2) sys-apps/portage-3.0.49-r1::gentoo
>>> Jobs: 1 of 2 complete                           Load avg: 1.89, 1.96, 2.06Exception in callback AsynchronousTask._exit_listener_cb(<bound method...7f92724f7ed0>>)
handle: <Handle AsynchronousTask._exit_listener_cb(<bound method...7f92724f7ed0>>)>
Traceback (most recent call last):
  File "/usr/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/lib/python3.10/site-packages/_emerge/AsynchronousTask.py", line 209, in _exit_listener_cb
    listener(self)
  File "/usr/lib/python3.10/site-packages/_emerge/EbuildMerge.py", line 87, in _merge_exit
    self._start_exit_hook(self.returncode)
  File "/usr/lib/python3.10/site-packages/_emerge/EbuildMerge.py", line 96, in _start_exit_hook
    AsyncTaskFuture(future=self.exit_hook(self)),
  File "/usr/lib/python3.10/site-packages/_emerge/EbuildBuild.py", line 640, in _install_exit
    self._async_unlock_builddir()
  File "/usr/lib/python3.10/site-packages/_emerge/EbuildBuild.py", line 428, in _async_unlock_builddir
    portage.elog.elog_process(self.pkg.cpv, self.settings)
  File "/usr/lib/python3.10/site-packages/portage/elog/__init__.py", line 188, in elog_process
    m.process(mysettings, str(key), mod_logentries, mod_fulllog)
  File "/usr/lib/python3.10/site-packages/portage/elog/mod_save.py", line 58, in process
    with open(
OSError: [Errno 28] No space left on device: b'/var/log/portage/elog/sys-apps:portage-3.0.49-r1:20230720-162701.log'
Terminated

upgrade was:
[ebuild     U  ] sys-apps/portage-3.0.49-r1::gentoo [3.0.47::gentoo] USE="(ipc) native-extensions rsync-verify xattr -apidoc -build -debug -doc -gentoo-dev (-selinux) -test" PYTHON_TARGETS="python3_10 python3_11 -pypy3 -python3_12%" 1,126 KiB
Comment 1 Mike Gilbert gentoo-dev 2023-07-20 16:53:47 UTC
I don't see how this can be a Portage bug. The error comes from the kernel.
Comment 2 Mike Gilbert gentoo-dev 2023-07-20 17:58:26 UTC
Was this a one-off error, or can you reproduce it?
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2023-07-28 04:23:49 UTC
Reproduced, but also traced.

[3958671.041457] EXT4-fs warning (device dm-105): ext4_dx_add_entry:2544: Directory (ino: 475260) index full, reach max htree level :2
[3958671.041460] EXT4-fs warning (device dm-105): ext4_dx_add_entry:2548: Large directory feature is not enabled on this filesystem


# ls /var/log/portage/elog/ |wc -l
114610

# touch /var/log/portage/elog/foo{1..5000}
touch: cannot touch '/var/log/portage/elog/foo213': No space left on device
touch: cannot touch '/var/log/portage/elog/foo394': No space left on device
touch: cannot touch '/var/log/portage/elog/foo856': No space left on device
touch: cannot touch '/var/log/portage/elog/foo1929': No space left on device
touch: cannot touch '/var/log/portage/elog/foo2149': No space left on device
touch: cannot touch '/var/log/portage/elog/foo2185': No space left on device
touch: cannot touch '/var/log/portage/elog/foo2191': No space left on device
touch: cannot touch '/var/log/portage/elog/foo2629': No space left on device
touch: cannot touch '/var/log/portage/elog/foo2887': No space left on device
touch: cannot touch '/var/log/portage/elog/foo3370': No space left on device
touch: cannot touch '/var/log/portage/elog/foo3456': No space left on device
touch: cannot touch '/var/log/portage/elog/foo3573': No space left on device
touch: cannot touch '/var/log/portage/elog/foo4692': No space left on device
touch: cannot touch '/var/log/portage/elog/foo4755': No space left on device
touch: cannot touch '/var/log/portage/elog/foo4789': No space left on device

# tune2fs -O large_dir /dev/vg/var_log
# touch /var/log/portage/elog/foo{1..5000}
(no errors)