Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
eclean freeze
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Sargastic
n00b
n00b


Joined: 28 Aug 2011
Posts: 64

PostPosted: Tue Aug 20, 2024 3:08 pm    Post subject: eclean freeze Reply with quote

Hello,

On several of my computers, I'm running into never-ending eclean-dist processes.
They run properly, cleanup what should be, display the list of « installed but unavailable packages », and then wait forever.
On a server rebooted 5 weeks ago, I had 5 eclean-dist « running but waiting », one per week (eclean is called through cron.weekly). Same thing if clean-dist is started manually.

Any idea about what's happening, and how to solve it ? Emerge stil runs ok, nothing seems to be broken anywhere, just those processes lingering...

Thanks.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20476

PostPosted: Tue Aug 20, 2024 4:09 pm    Post subject: Reply with quote

How is it being run with cron? Is it being run in such a way that expects user input? Are there no mail messages to the user or root about problems?
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Sargastic
n00b
n00b


Joined: 28 Aug 2011
Posts: 64

PostPosted: Tue Aug 20, 2024 4:34 pm    Post subject: Reply with quote

pjp wrote:
How is it being run with cron? Is it being run in such a way that expects user input? Are there no mail messages to the user or root about problems?


A simple bash script that calls eclean-dist. Nothing fancy, has been running that way since a long time.
No emails are sent, the process just seems to wait for « something » (no CPU usage whatsoever).

The same problem arises if I call eclean-dist from the command line, so I do not think it is related to cron.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22602

PostPosted: Tue Aug 20, 2024 6:23 pm    Post subject: Reply with quote

Is there anything in dmesg suggesting that the drive is not responding? When a process hangs like this, can it be interrupted by SIGINT? What does strace say is the last call it makes?
Back to top
View user's profile Send private message
Sargastic
n00b
n00b


Joined: 28 Aug 2011
Posts: 64

PostPosted: Tue Aug 20, 2024 7:41 pm    Post subject: Reply with quote

Hi,

Hu wrote:
Is there anything in dmesg suggesting that the drive is not responding? When a process hangs like this, can it be interrupted by SIGINT? What does strace say is the last call it makes?


The computer is perfectly working : nothing weird in dmesg, the drives are ok. The process can be stopped (^C, sigint, anything goes). As for strace, here the end of the log :

Code:
write(1, "             \33[33;01mcross-armv7"..., 90) = 90
write(1, "             \33[33;01mcross-armv7"..., 83) = 83
write(1, "             \33[33;01mcross-armv7"..., 90) = 90
write(1, "             \33[33;01msys-kernel/"..., 67) = 67
write(1, "             \33[33;01msys-kernel/"..., 67) = 67
write(1, "\n", 1)                       = 1
wait4(28636, 0x7ffcead5e854, WNOHANG, NULL) = 0
wait4(28636, 0x7ffcead5e854, WNOHANG, NULL) = 0
getpid()                                = 28632
wait4(28636,


The write are the messages telling about installed but unavailable packages. The 28636 process is :

Code:
28629 pts/3    S+     0:12 strace eclean-dist --verbose
28632 pts/3    S+     0:11 /usr/bin/python3.12 /usr/lib/python-exec/python3.12/eclean-dist --verbose
28636 pts/3    S+     0:00 /usr/bin/python3.12 /usr/lib/portage/python3.12/socks5-server.py /var/tmp/portage/.portage.28632.net.sock


Not quite sure what it may mean.
Back to top
View user's profile Send private message
Sargastic
n00b
n00b


Joined: 28 Aug 2011
Posts: 64

PostPosted: Tue Aug 20, 2024 8:01 pm    Post subject: Reply with quote

When I kill (with ^C) the eclean-dist process from my previous message, I get this :

Code:
strace: Process 28632 detached
 <detached ...>
Exception ignored in atexit callback: <function _exit_function at 0x7f533e270360>
Traceback (most recent call last):
  File "/usr/lib/python3.12/multiprocessing/util.py", line 360, in _exit_function
    p.join()
  File "/usr/lib/python3.12/multiprocessing/process.py", line 149, in join
Traceback (most recent call last):
  File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
    res = self._popen.wait(timeout)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/multiprocessing/popen_fork.py", line 43, in wait
    return self._loop.run_until_complete(task)
    return self.poll(os.WNOHANG if timeout == 0.0 else 0)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/multiprocessing/popen_fork.py", line 27, in poll
    pid, sts = os.waitpid(self.pid, flag)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python-exec/python3.12/eclean-dist", line 27, in exithandler
    sys.exit(1)
    return future.result()
SystemExit: 1
           ^^^^^^^^^^^^^^^
  File "/usr/lib/portage/python3.12/socks5-server.py", line 226, in run_socks5_server
    await asyncio.get_running_loop().create_future()
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/portage/python3.12/socks5-server.py", line 238, in <module>
    asyncio.run(run_socks5_server(sys.argv[1]))
  File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/runners.py", line 123, in run
    raise KeyboardInterrupt()
KeyboardInterrupt
/usr/lib/python3.12/site-packages/portage/process.py:219: RuntimeWarning: coroutine 'ProxyManager.stop' was never awaited
  func(*targs, **kargs)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Task was destroyed but it is pending!
task: <Task pending name='Task-1343' coro=<MultiprocessingProcess._proc_join() running at /usr/lib/python3.12/site-packages/portage/process.py:453> wait_for=<Future pending cb=[sleep.<locals>.cancel_callback() at /usr/lib/python3.12/site-packages/portage/util/futures/_asyncio/__init__.py:229, Task.task_wakeup()]> cb=[MultiprocessingProcess._proc_join_done()]>
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1946

PostPosted: Tue Aug 20, 2024 8:29 pm    Post subject: Reply with quote

See bug 937384.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum