On Wednesday, February 22, 2012 01:16:28 AM Duncan did opine: > gene heskett posted on Mon, 20 Feb 2012 20:29:31 -0500 as excerpted: > > On Monday, February 20, 2012 08:08:28 PM Chuck Burns did opine: > >> On 2/20/2012 5:00 PM, gene heskett wrote: > >> > Greetings; > > ... and salutations! =:^) > > (Completely OT I know, but while I understand the role of greetings IRL, > at least in part, from the newcomer to signal the event and focus > attention on the his arrival (among other things, serving notice that > intended private conversations may need to stop temporarily), I never > quite understood the role on lists, newsgroups, forums and the like, > where one presumably /knows/ when one starts a new message or thread, > and that doing so signals the same functional type of "context switch" > that "greetings" does IRL. As such, for lists, newsgroups and the > like, I'm accustomed to simply starting my question/answer/whatever, no > greeting or similar redundancies. I know a lot of others do likewise, > while others include it as they would IRL or in formal non-electronic > written correspondence. But at times I've simultaneously wondered > bemusedly at a "Hi", "Greetings", etc, opening, and whether my omission > thereof inadvertently causes mild offense. This is obviously one of > those times... > > The wictionary entry for "greeting" notes that it's less common in > email, etc, as well. So... why /do/ you (plural "you", addressed to > anyone who wishes to respond) include such an opening in electronic > messages such as lists, email and news messages? Have you even ever > thought about it before? Do you get offended if others don't as well? > Are these questions just really strange and off the wall, making me > look crazy? "Inquiring minds want to know!" =:^) > > >> > I have so far today, killed around 75 copies of /usr/bin/knotify4 > >> > which is pegging out all 4 cores of my phenom, and running it up to > >> > 70C+. > >> > > >> > Killing all copies (which is puzzling because killall can't find > >> > them but htop can) cleans the system up& brings back normal > >> > operation. > > Which killall form did you use? Quoting the killall (1) manpage: > > > killall sends a signal to all processes running any of the specified > commands[.] If the command name is not regular expression (option -r) > and contains a slash (/), processes executing that particular file will > be selected for killing, independent of their name. > <<<<< > > Note that kde uses a special launcher, kdeinit4, to launch many of its > "core" programs. The commandline for these will be kdeinit4 <appname> > <app-parameters>. The reasoning is that this allows more efficient > shared-objects loading, so faster launching and more efficient memory > usage. > > I'm not sure that's exactly what's going on here (my single knotify4 > instance appears to be a direct child of init, pid 1, and it doesn't > appear with the kdeinit4 prefixed on its command line), but it is indeed > quite possible for applications to be launched such that the name and > the command-line don't match, such that a killall without -r or / won't > see it. > > As mentioned in the manpage quote above, the absolute executable file > path (detected by the presence of a / in the name) or a regular > expression (using -r) can be used instead. It's possible these would > get the ones a standard killall misses. > > Of course, the other possibility is that killall sends the signal, but > the process ignores it, especially if the process is hung. The default > SIGTERM (-15) would allow this. SIGHUP/-1, SIGINT/-2, SIGSEGV/-11, and > finally SIGKILL/-9, in order of increasing severity, can be used > instead, with SIGKILL being "kill with predjudice", that is, don't give > the app a chance to clean up or to say no, just kill it. Of course, > this last one can leave half-written files and the like around. The > kernel will close them and return memory resources to the system, but > if it was a config file or the like, it could cause problems at the > next start, so SIGKILL/-9 should always be used as a last resort. > > Of course signal types is pretty basic Unix, so you probably knew that > bit, but others reading might not. > > But if killall found at least one process to deliver the signal to, it > returns success whether or not the process actually responded, while if > it didn't find a process at all, it returns failure status and complains > to STDERR, and it's likely that complaint that you were indicating with > the "killall can't find them" bit. Just covering the bases, in case... > > >> > But in half an hour I am back to 4 to 6 copies and a pegged cpu. > >> > > >> > This seems to go along with an uptime of 10 days or more, currently > >> > at 18 days. > > It's likely that few enough people run kde for that long at a time, so > bugs aren't as likely to be reported. I happen to run git kernels here, > and even the kernel merge window (during which I don't normally rebuild > and test new kernels, just in case there's a crazy "eats filesystems" or > "eats md/raids" bug during that time, that presumably I'd know about by > a few days after the merge window closes if I decide to bisect > something) is only two weeks, so 18 days is likely at the long end for > no-reboots, here, at least on my main machine. (My netbook can go much > longer, but it can spend a month or six weeks in suspend-to-disk > hibernation, too; it's not like it's actually /running/ more than > perhaps 24 hours of that.) > > On Linux, that's not an excuse. On Linux, if it can't handle at least > six months uptime, it's considered seriously bugged, and rightfully so. > However, it /is/ a fact. Long uptime bugs simply won't get as much > reporting, as fewer people see them, simple as that. > > >> > Is there a permanent fix for this other than switching to (I'd > >> > rather just have somebody shoot me) gnome or even (quite a bit > >> > better IMO) xfce? > >> > >> I hate to sound like a smartass.. > > > > Not at all. > > > >> but have you tried logging out of kde, > >> and back in? Your uptime won't suffer, and KDE will be able to > >> completely refresh.. There may some sort of leak somewhere.. > > > > I suspect there is, but running it down seems nearly impossible when > > it doesn't show up for 2 weeks. > > > >> AFAIK, no one has reported a bug about this.. perhaps if you have > >> time, you can try to narrow it down to exactly what. > > See what I said above about long-uptime-bugs. If it's possible to do > something with it... the whole kde ecosystem should thank you, because > good bug reporting is rare enough, and good bug reporting of long uptime > bugs even rarer, but getting them fixed helps stability even for shorter > uptime people, so it's a good thing... where it's at all possible, of > course. > > >> You can also try disabling all notifications.. ymmv > > > > I do use inotifywait > > Entirely different kind of notification! =;^) > > Inotify and similar "file event" notifications are often what kernel and > sometimes app developers mean when they talk about notifications. They > notify an APP (not the user, tho the app could potentially notify the > user if appropriate) about file accesses, changes, etc. At a similar > level, udev notifies apps such as kde's device notifier (which in turn > notifies the user if appropriate) when devices appear or disappear, etc. > > knotify4, OTOH, deals entirely with user-level-app-to-user event > notifications for things like mail delivery, media changes in the media > player, keyboard shift-level changes, etc. These "user notifications" > are most often either sound events or popup dialogs (now often handled > by the notifier icon in the systray, tho I'm not sure all such dialogs > are handled that way yet), but can also involve marking/flashing a > taskbar entry, logging the event to a file, or running some other > command. > > It's generally that first one, playing a sound, that causes problems, on > systems where either the sound system isn't properly configured or where > it otherwise isn't entirely reliable. This is almost CERTAINLY what's > happening in your case. > > > I note that I found another copy of it the 2nd time I went on > > a killing rampage today, about 75 processes down from the top, killed > > it too, and the problem has not come back, but something has called > > up 2 copies of it since I nuked them all. > > > > If that had a visible link to whatever restarts it, that would help > > considerably in tracking this down, but apparently no one knows what > > (re)starts it. > > knotify4 is part of kde's internals. Any time an event occurs that's > configured to play a sound, popup a notice window, etc, knotify should > respond with the appropriate action. But as I said, sound in particular > can be somewhat problematic. If the sound doesn't play as knotify is > configured to play it, that instance of knotify will hang, waiting for > the event to finish, and at the next such event, kde (kded, maybe? I'm > not sure exactly which component; maybe it's invoked by the triggering > app directly, using a library that's part of kdelibs and thus available > to any kde app?) will find no responding knotify4 and thus will spawn > another one. > > But if the one is hung waiting on a resource lock it can't get > (typically it can't open the sound device), and the next one needs it > too, guess what, the next one gets in line behind the first. > > Lather, rinse, repeat. > > When you notice and start killing all of them, once you kill the one > that was originally hung (probably one of the oldest, or as you > mention, one without a lot of CPU time, as it was hung, while the > others were CPU-poll spinning, waiting on the resource to become > available), the kernel releases that resource with the killing of the > hung process, pulling the plug on the waiting queue of all the others, > thus draining it. > > And since the problem with the sound device that actually hung the > original knotify4 often has something to do with it suspending after an > idle timeout, or with something grabbing the sound device exclusively > (some hardware can cope with multiple streams, some not, thus the use of > sound servers or alsa's software stream mixer device, dstream or some > such, I think it's called), but in some cases an app will apparently > still try to do an exclusive lock on an otherwise sharable device), thus > triggering the original problem when the original knotify4 tried to > access the sound device, by the time the original locked-up knotify4 is > killed, the intermittent problem has generally gone away, so pulling the > plug allows all those spawned knotify4s to do their thing one right > after the other, without the problem reoccurring immediately. > > But then later on, when the sound device suspends or something else > grabs exclusive access again, the whole thing is setup for another > go-round. > > > But: > > [root@coyote eagle]# lsof |grep knotify4|wc -l 1198 > > > > How the heck can you separate the wheat from the chaff in a list that > > long.. :( > > FWIW, 1317 here, and to my knowledge, everything's working fine, here, > just one pid listed for all those, etc. So 1000+ open files for knotify > would seem to be normal. > > > Half of that is vlc linked: > > [root@coyote eagle]# lsof |grep knotify4|grep vlc|wc -l 604 > > > > And I haven't specifically used vlc that I know of in months, so I > > assume a news site I have visited must have called it up. > > Taking a look thru the 1317 listed files, it seems that most of them are > *.so shared-objects aka libraries with FD=mem, TYPE=REG. > > That many of those shared-objects are vlc related is almost certainly > due to your use of the phonon-vlc backend -- phonon is how kde handles > sound, and if it's configured to use the phonon-vlc backend, with all > the plugins that vlc has, and the fact that knotify4 is responsible for > kde's sound effects... > > FWIW, 699 appear to be vlc related, here. > > Then there's the other usual X and kde libraries in the list... > > Try this, the grep -v excludes any line with "lib": > > lsof | grep knotify4 | grep -v lib | wc -l > > FWIW, 87, here. That look a bit more reasonable? =:^) lsof | grep knotify4 | grep -v lib | wc -l 66 > There's the current working directory (FD=cwd, TYPE=DIR), the root > directory (FD=rtd, TYPE=DIR, NAME=/), the executable itself (FD=txt, > TYPE=REG), several memory-mapped font resources (it's an X app, after > all) > > Then there's the various filedescriptors (FD=0r 1w 2w... etc, > filedescriptor, read/write/u=both, TYPE=CHR/REG/0000/FIFO/unix/netlink, > character-device, regular file, unknown/(anon-inode), > first-in-first-out, unix socket, netlink socket, respectively). It's > interesting to note that STDIN is > /dev/null and STDOUT and STDERR are mapped to $HOME/.xsession-errors, as > might be expected for an X app. 15 (numbered 0-14) filedescriptors are > open in this way. Other than the first three STD*, the rest are various > fifos, pipes, anon-inodes, unix sockets, etc. Of interest are FD=8r, > the kde system config cache (ksycoca4) regular file, FD=9u, netlink > KOBJECT_UEVENT, and FD=13r, the /dev/urandom character-device. > > Here, the same set (same pid for all) is listed three times, once > without a "task ID" following the PID, and once each for two different > task-IDs. I don't have much of a clue what task-id is. (??) > > But it's worth noting that it's the same PID and the same set of open > files, three times. 87/3=29. 29 actual non-library files... listed > three times each. > > If the same applies to the 1317, I didn't rigorously check, but it > looked that way, then it's 439 files, listed three times each, 410 > shared objects (libraries and plugins), 29 other files. And the vlc > files are all shared objects, 699/3=233 of them, 233 of the 410 shared > objects. > > > ATM, I have an eagle session on a pcb going in another window, pending > > info that I screwed the moose, so I would rather get that fixed before > > I reboot kde. > > That's semi-gobbledegook, here, but given that in previous mails you've > mentioned some sort of CAD/CAM setup, I'll assume that's what you're > referring to. Yeah, letting it finish doing whatever it's monitoring/ > controlling before a reboot might indeed be useful. eagle is a pcb design package. With various feature sets, free to about $2500 a seat. Obviously I'm using the free version. I am taking its output, running that through pcb2gcode, and then etching the pcb on my toy milling machine. ATM I am making the sensor board for a position encoder, which in turn will tell LinuxCNC where in the rotation my equally toy lathes spindle is, and knowing that, LinuxCNC can drive the carriage, either for a shaped normal turning, or even, using a single toothed tool, carve threads at even non-integer threads per inch (or cm) That should explain some of the gobbledegook :) > Meanwhile... > > Some kde settings experimentation may be useful here, but one or more of > the following should help. Some are short term workarounds, some longer > term potential fixes: > > Short term: Under common appearance and behavior, application and system > notifications, manage notifications, on the player settings tab, try > setting no audio output. This may or may not kill the existing locked > up knotify4s, I'm not sure, but it should prevent the problem from > reoccurring, assuming I'm correct and it is an audio issue of some > sort, at least, because it simply no-ops the problematic calls. > > Medium/long term: In the same place, you can try setting an external > player instead of kde's normal (phonon-based) sound system. Back in > kde3, I did this for awhile when arts was hopelessly screwed up, but > I've not had to resort to it in kde4. > > The trick is finding an appropriate player, probably setting it to > no-gui if it's a gui player, etc. I tried a couple things before I > found a solution that "just worked" for me. It involved the playsound > binary from the sdl-sound package (installed here for something > unrelated), but played at full volume, the sound effects overpowered > whatever else I happened to be playing, so I ended up setting up a > script that played it at reduced volume. > > Here's $HOME/bin/playsound.sh (vol can be set up or down if necessary, > but .5 was a good balance for me): > > #!/bin/bash > # To play something at a bit lower volume (1=100%, normal volume) > vol=.5 > playsound --volume $vol $@ > > Then I just set playsound.sh as the player, and it worked. > > > Short term, could be longer term if you like it, or QUICKLY shut off if > you don't!: Use a "visual bell" instead of sound effects. This > involves two configuration changes: > > Under common appearance and behavior, application and system > notifications, system bell, check use system bell instead of system > notifications. > > Under workspace appearance and behavior, workspace appearance, > accessibility, on the bell tab: Check use visible bell, and experiment > with invert and flash screen, with timing, as desired. You can set an > audible bell as well, but you may not avoid the sound lockups, that way. > > FWIW, I've used this before. The effect can be disconcerting at first, > especially if it happens when you're concentrating on something and have > forgotten all about setting this up. But it DOES tend to get your > attention, as long as you're looking at the screen, of course. The > feature is designed for deaf folks (thus accessibility) or for use in > meetings, etc, where a sound would be disruptive. But it's a nice > option to have. Just don't have a heart attack the first time you're > concentrating on something and the screen inverts/flashes! As I said, > it CAN be disconcerting, but forewarned is forearmed. > > > The proper (user/admin-level) fix: Depending on the exact nature of the > problem and your hardware, this could take several forms. > > As mentioned above, one trigger of the problem can be sound device power > saving mode. > > On a laptop that's battery powered much of the time, you probably want > to keep that on to save power when you're not playing anything. In > that case, setting visual bell for notifications as suggested above is > a good idea, since (a) that way you don't have to wake up the sound > device just to play a notification ding, and (b), laptop/netbook use is > far more likely to include use in meetings, etc, where the sound isn't > desirable anyway. > > If you do want to keep sound notifications on a laptop/netbook/etc, but > still don't want to use too much battery running the sound device when > there's nothing playing, playing around with its power-saving settings > may be useful. Setting a too short (say 1 second) idle-timeout is known > to be highly problematic on some hardware. It wasn't kde context, more > like general alsa and kernel device driver context, but I happened upon > this I think just yesterday, and it makes sense, 10 seconds is the > recommended MINIMUM. I'd actually suggest something like 30 seconds to > perhaps even five minutes (or even 15, consider how much power those > 100% CPU cycle apps will use!), since I believe part of the problem is > race conditions where it gets a wakeup just as it was powering down, > potentially leaving the app trying to play the sound thinking the > device is responding, but it just powered down instead, so the app ends > up waiting forever, especially if the device doesn't signal the app > correctly when it does wake back up. > > On a desktop/workstation that's on A/C power all the time, just disable > audio device power saving entirely. > > Unfortunately, directions for setting/disabling audio device power > saving aren't something I can deal with here. If kde deals with it at > all, I don't have that bit of it installed, and individual device > driver settings are likely to be just that, individual. Check the docs > or try posting to your distro's lists/forums. > KDE doesn't handle that at all well yet IMO. > > Another possible fix is device preference order. This is in kde > settings, hardware, multimedia, phonon. When I first switched to the > phonon-vlc backend, everything seemed to work great (far better than the > phonon-xine backend, now not even available on some distros as upstream > kde dropped support for it). But somewhere in the 4.7 or 4.8 timeframe > (I ran the 4.8 betas and rcs and don't remember exactly when it showed > up), the previous config quit working so well. Sound continued to work, > but I'd get popups saying it was falling back to a different device as > the preferred device wasn't working. > > The fix was to select every possible device (unless you have multiple > physical devices and want some routed differently, do this for audio > playback itself, not the individual purposes, notifications, music, etc) > and hit the test button. If it works well, move it up. If it doesn't, > move it down. Do this when you're having problems (sometimes, like > right now, all devices test as working here, they didn't when I did the > testing and reordered them when I had the problem). > > My list of devices has four listed for one physical device, Default, > which will play thru the alsa default device, normally the first one > detected if there's multiple physical devices, and three different > listings for the hardware (AMD AMD8111, in my case, one saying /just/ > that, one with the name twice, with "(Default Audio Device)" in > parenthesis, one with the name twice, and "(hw:0,0)" in parenthesis). > > I ended up with Default (no hardware name) at the top of the list. The > twice-listing with (Default Audio Device) next, the single-listing > third, and the twice-listing with (hw:0,0) last. > > Since then, I've had no more phonon-fallback notification popups. =:^) > But I'm not entirely sure if I really fixed it, or if that was a beta/rc > problem that was fixed with kde 4.8.0, or if I just haven't hit the > conditions that triggered it again. Whatever, I'm just happy to not be > seeing those popups and thus worrying about sound (tho as I said, it did > continue to work, I just saw the popups sometimes, and got worried). > > Note that I didn't have the "breeding like rabbits" knotify4 problem > here, at least that I noted (as I said I don't tend to stay up for more > than a few days at a time, testing kernels, etc), only the irritating > popup problem. However, it could still be a device order issue, just > with a slightly different manifestation than I had. > > > Finally, it's also possible to switch phonon backends. You apparently > have phonon-vlc configured, as do I. There's also the phonon-gstreamer > backend, if you wish to try it. The phonon-gstreamer backend /does/ > happen to be the kde (and gentoo) default, so it might be worth trying. > > But I haven't tried it, mostly because I have bad memories about trying > to get gstreamer to work a long time ago due to problems that are almost > certainly long gone, so it'd probably work just fine now, but I've just > never actually needed to install gstreamer as there have always been > other alternatives that worked, so I haven't. (Of course, the fact that > I'm on gentoo and would thus have to build all those extra components > just to try gstreamer out... when it would at least at first be for just > one thing since I have alternatives to gstreamer installed for > everything else, is part of the picture as well. That's a big barrier > to cross just to try it out. If I were on a binary distro and all > trying out gstreamer involved was downloading and installing pre-built > binaries, the barrier would be lower, and there's a fair chance I'd > have tried it again by now.) > > Anyway, I can't say what the phonon-gstreamer backend might do > different, but it could be worth trying, if you're having problems with > phonon-vlc, especially if you're on a binary distro so don't have the > high barrier to trying it out that I do, and/or if you already have > gstreamer itself installed, as many binary distro users as well as > gnome users, for other reasons. Much of the above I skimmed through, but nothing went ding. It hasn't come back again either, and I'm up 19.5 days now. I will, the next time it happens, have htop sort on time and see if I can make any sense of it that way. Sound was however, working all the way through that kill session. Still is. Thanks Duncan Cheers, Gene -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) My web page: <http://coyoteden.dyndns-free.com:85/gene> The probability of someone watching you is proportional to the stupidity of your action. ___________________________________________________ This message is from the kde mailing list. Account management: https://mail.kde.org/mailman/listinfo/kde. Archives: http://lists.kde.org/. More info: http://www.kde.org/faq.html.