FS#9690 - [i8kmon] daemon does not stop properly

Attached to Project: Arch Linux
Opened by Dawid Wróbel (cromo) - Tuesday, 26 February 2008, 14:04 GMT
Last edited by Roman Kyrylych (Romashka) - Saturday, 03 October 2009, 08:28 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Kevin Piche (kpiche)
Roman Kyrylych (Romashka)
Thayer Williams (thayer)
Architecture All
Severity Low
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description: /etc/rc.d/i8kmon stop will not stop the daemon. This is because the PID numer is determined by pidof inside the script, whereas the ik8kmon is run in tclsh session so pidof fails and returns nothing.

Steps to reproduce:
Install the i8kmon package, start and stop the daemon.
This task depends upon

Closed by  Roman Kyrylych (Romashka)
Saturday, 03 October 2009, 08:28 GMT
Reason for closing:  Fixed
Comment by orbisvicis (orbisvicis) - Wednesday, 12 November 2008, 03:22 GMT
well, the entire setup is really bad
1) rc.d-style schemes requires the daemon to self-background
2) i8kmon in addition forks into a tclsh shell

Solutions:
- use a pid file. This doesnt work b/c i8kmon forks
- use init with a non-forking i8kmon
#!/bin/sh
while true; do
i8kmon -d
done
- alternatively, use daemontools. Unfortunately this adds an extra dependency, but it might be worth it
- Use pgrep. Very ambiguous and possibly unsafe, but only feasible solution. Change /etc/rc.d/i8kmon to
#PID=`pidof -o %PPID /usr/bin/i8kmon`
PID=$(pgrep -G root -ofx "tclsh /usr/bin/i8kmon -- -d")
- the above entire process can be simply automated by start-stop-daemon. Arch doesnt have start-stop-daemon

Problem (temporarily) solved
Comment by Thayer Williams (thayer) - Saturday, 06 December 2008, 22:12 GMT
This software is no longer maintained upstream and I'm considering it for a move to community or unsupported.
Comment by Gerardo Exequiel Pozzi (djgera) - Friday, 12 June 2009, 22:34 GMT
  • Field changed: Status (Assigned → Waiting on Response)
@Thayer: this task can be closed? The pkg is still on [extra] repo.
Comment by Roman Kyrylych (Romashka) - Friday, 12 June 2009, 23:06 GMT
hm, I use i8kmon on my laptop, I don't think I've noticed some problems with it, though I agree that it looks crappy and its use of tcl is crazy,
I should take a look on it during weekend. Anyway I agree that it should be better moved to AUR.
Comment by Roman Kyrylych (Romashka) - Saturday, 03 October 2009, 07:36 GMT
I'm on it (hurray for the Bug Squashing Day!).
Found an elegant solution: fuser -k /proc/i8k :-)
Comment by Roman Kyrylych (Romashka) - Saturday, 03 October 2009, 08:00 GMT
I wanna kill the dev who wrote 'fuser' program!
# fuser /proc/i8k
/proc/i8k: 2081
The '/proc/i8k:' part is from stderr, the PID is from stdout!
I tried to cut/sed/grep the PID and could not realize why nothing works :P
Comment by Roman Kyrylych (Romashka) - Saturday, 03 October 2009, 08:27 GMT
Fixed. Also changed to -any package (which it is).
@Thayer: there is an updated version at http://packages.debian.org/sid/i8kutils.
If you don't want to maintain the package anymore - I can take it (either in extra or community).

Loading...