![]() |
Re: [N900] Yes, another hildon-home bug thread...
Peterleinchen,
Could you please post output of ls -la of the folders /usr/lib/hildon-desktop/ /usr/lib/hildon-desktop/loader/ /usr/share/applications/hildon-home/ |
Re: [N900] Yes, another hildon-home bug thread...
Of course (will become a very long post, sorry):
Code:
~ $ lal /usr/lib/hildon-desktop/ Code:
~ $ lal /usr/lib/hildon-desktop/loaders/ Code:
~ $ lal /usr/share/applications/hildon-home/ |
Re: [N900] Yes, another hildon-home bug thread...
@peterleinchen: tvbgone definitely causes h-h to hang, remove that and use pierogi instead :)
EDIT: though I am not sure if it is because the widget itself is buggy, or because it is python |
Re: [N900] Yes, another hildon-home bug thread...
If it would be that easy, it is removed in a second. BUT:
I had this issue already before tvbgone was on my desktop (just lately added). And I am sure, it will occasionally appear agian, even tvbgone removed. Sorry for destroying your good will ;) And -of course- I do have pierogi installed! :) |
Re: [N900] Yes, another hildon-home bug thread...
Why do so many widgets hang h-h? DCEW, TVBG, OMWeather...
|
Re: [N900] Yes, another hildon-home bug thread...
Cleaned my desktops + purged all external loaders, like python and qt. Still, just like Peterleinchen, in the end it will happen again. My guess is that there's some bug in h-h rather than the widgets themself. We'll see, time will prove.
|
Re: [N900] Yes, another hildon-home bug thread...
Quote:
I haven't got half the stuff of peterleinchen and still have the problem. Code:
/usr/lib/hildon-desktop $ ls -la |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
|
Re: [N900] Yes, another hildon-home bug thread...
Here is backtrace of h-h (hanging):
Quote:
But how to come closer? Or find solution? Or more info out of the current situation? I think I may keep this state until tonight (work!). It was not caused by alarmd, but alarmd shows the same behaviour now (set manual an alarm right now): notification pops up, but no sound. |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
Also could you issue "info threads" command in gdb. TBH I don't know what dcew does, but if you have some scheduled commands in it, I'd recommend to check them for file or pipe access. |
Re: [N900] Yes, another hildon-home bug thread...
I must say since I purged all external-loaders incl widgets I haven't had a lockup... Yet due various reasons my uptime hasn't be longer than 3 days, though
But still I had a lockup(the one I mentioned earlier) once and I didn't have dcew installed so qbw may be compromised too? |
Re: [N900] Yes, another hildon-home bug thread...
I do not find dbg symbols for dcew?
And yeah it seems also other widgets are compromised (or it is h-h itself?). But what? It is a file read, yes. But which one? It could be config, which is there and accessible. Or it could be something from /proc or /var (reading uptime, temp, batt, boot reason and IPs). Or maybe thread problem while synchronous access to one of these (overall Maemo prob?)? ??? --edit Quote:
|
Re: [N900] Yes, another hildon-home bug thread...
Quote:
Quote:
Quote:
Quote:
EDIT: you can explore a bit /proc/$PID_OF_H_H/ to see if you can find which files are accessed by h-h. For sure you can find the file descriptors of open files, but right now I cannot tell you how to find the file from its file descriptor in shell. |
Re: [N900] Yes, another hildon-home bug thread...
@peterleinchen: I looked at dcew code, this is broken by design:
Code:
if(self->priv->flagBooted || self->priv->updOnBoot) |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
Question to peterleinchen: what DCEW's are you using? on one of my N900s I use it (uptime, ip, custom-script-for-battery-voltage-via-i2cget), but I normally don't keep that one turned on for more than a few minutes, so I haven't experienced any problems. In any case, if the popen'ed process exit()s then stdout is flushed and the problem should NOT occur. Meaning you are executing a command that is itself blocking (for input?) or stuck in an infinite loop. Can anyone comment on QBW? is that any better than DCEW? |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
I do however have QBW. I have a friend still on PR1.3.1 with the issue but not as bad; that has never used DCEW or QBW. The only thing I can see that could be effecting his device is Data monitor widget and/or Oculo. Is it likely we are searching for multiple different bugs in different applications with the same symptom? As I have mentioned before I have ran my device with no widgets at all and still had the issue. |
Re: [N900] Yes, another hildon-home bug thread...
It seems my QBW replacement version of DCEW's Battery % hung today. At least there's no way updating the shown value anymore, not on click / not on desktop change. This was after several days of uptime.
Now i would not say at all that h-h's widget core is matured... EDIT: even fully charging the battery (OOTB method) didn't reset the displayed value. It decided to stay at 52%. |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
Quote:
Or what? Quote:
0 -> pipe:[3666] Will continue ... Quote:
Quote:
Quote:
I would not have seen that even I had looked into. But I still do not understand really how that may happen: Here are all commands that are executed with DCEW: Quote:
|
Re: [N900] Yes, another hildon-home bug thread...
Quote:
could you click any other widget on desktop (not counting are contacts or browser links)? Or was it also totally "frozen"? |
Re: [N900] Yes, another hildon-home bug thread...
Everything else mentioned worked, IIRC. Only updating the value wasn't.
|
Re: [N900] Yes, another hildon-home bug thread...
Quote:
Quote:
But I could not identify any of them to cause an infinite block ... Nevertheless I had a bit of confusion in DCEW config. I had a command on desktop, which did not belong there. And DCEW named it as "IP", but could not locate the command (when checking the executed commands of all my widgets). But, again, this was one of the standard commands. |
Re: [N900] Yes, another hildon-home bug thread...
And thanks to all of you trying to help/identify this phenomenon !!
|
Re: [N900] Yes, another hildon-home bug thread...
Quote:
Normal applications, contacts, links, etc. still work even with this "hanging". How did you recover? Reboot? |
Re: [N900] Yes, another hildon-home bug thread...
Besides contacts and shortcuts, I have:
- 8 instances of ConnectNow widget - 2 QBW snippet widgets - 1 Personal IP Monitor widget On other desktops: - 1 Calendar Home widget - 4 Internet Radio Player widgets Yes i did a reboot. |
Re: [N900] Yes, another hildon-home bug thread...
New information!
It seems like wget is the culprit here (or Maemo itself). I had that command [code] [code] under suspicion, but no proove. But now I am sure: I chnged WLAN connectivity and at the same time fired that command in x-term. One time it did hang completely, there was no output. And the command did not end. This is the reason why h-h cannot end that command, as nothing is writte to stdout and it does not return. There was no running instance of wget anymore neither of awk, so I do not understand that situation very well. But that prooves that it is not a bug of h-h, but a bug inside Maemo itself (or really wget?) caused by "bad" (better: not perfect) implementation of dcew (as I would have done same way, relying on output/ending of a simple command line). Any ideas/suggestions? I still have that command line Quote:
P.S.: a second call in a second x-term terminated immediately with no ouput and after connecting agaian it terminetd after 2 seconds with correct IP shown |
Re: [N900] Yes, another hildon-home bug thread...
@peterleinchen,
Can I assume that you don't have the real wget installed, but are using busybox wget? If so, busybox wget doesn't support, among others, the -t and -T options, but inconveniently chooses not to mention that fact. Probably busybox wget is either buggy, or waits indefinetly for a reply, or both. Try to install the real wget and make sure wget is not the same as busybox wget. Hopefully this will solve your problem! |
Re: [N900] Yes, another hildon-home bug thread...
Hi reinob,
thanks for your input. Of course I am using bb-power, but also have lots of "real" programs installed ;) Quote:
Open for any other input :) --edit But -possibly- maybe it is really busybox-power's fault (/bin/sh). So I post here output of Quote:
??? |
Re: [N900] Yes, another hildon-home bug thread...
Anybody ou there experiencing the same problem, please give some feedback!
Are you using busybox-power or stock busybox shell? I would like to give iDont (big THX for looking into it to him) an all-clear in case anybody experienced this with stock sh, too. Once again: the command Code:
wget -t 2 -T 3 -q -O - checkip.dyndns.com | awk -F ": " '{print $2}' | awk -F "</" '{print $1}' I do not think it was caused by wget or awk as both programs did not have an instance running anymore. Unfortunately my shell is now gone, as I had an umexpected reboot ... |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
Code:
sh: wget: not found |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
There is no wget in stock sh, but wget is available from the repo and listed as dependency in a lot of apps. And, to be sure, you did not suffer from h-h getting stalled? At least this bug (no output from sh command, hereby h-h getting stalled) does not need to be caused by wget, but could be from stock (bb-power) sh or Maemo system itself. |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
|
Re: [N900] Yes, another hildon-home bug thread...
OK.
This just means you do not have wget installed and of course cannot suffer from the bug raised by this command. But it could be caused also by any other command line!?? And it leads me to this conclusion (bug in sh or Maemo, not terminating nor wrtitng output to stdout) ... |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
I'll repeat - by all my knowledge and experience this is a (design)bug in the application using such i/o where it has no place. The reason sh (or whatever app) to not write to stdout could be that it simply has no data to output. Or the output could be to stderr. Or it might want to get user input (y/N). Etc, etc... Still, it is the calling process the one who should take care of such scenarios - by either using multithreading or by using non-blocking i/o, select(), whatever. No such things exist, at least in DCEW. Simply calling fread() in the main GTK thread and hoping for the best is a very bad approach IMO. Don't know about QBW though, but I guess there is similar code. Did anyone contact QBW maintainer? |
Re: [N900] Yes, another hildon-home bug thread...
Thanks freemangordon for your input.
And I agree to your explanation. Nevertheless one should be able to rely on a process to end (if it gives output or not does not matter; in case of requesting input y/N you are totally right, but this is not the case here). When I could observe that scenario in sh, it just did not end. There was no next prompt after the command. Wget and awk did not have a process running anymore, this is confusing to me. And I would really believe in a sh command to terminate, whether it has output or not ... But yes a multithreading/blocking mechanism would be more safe, but for simple commands not absolutely necessary. Do you have any idea why that command Code:
wget -t 2 -T 3 -q -O - checkip.dyndns.com | awk -F ": " '{print $2}' | awk -F "</" '{print $1}' DCEW to block is the second problem (I would see a solution in DCEW as workaround; at least for my situation ;)). If above would occur more often, it would mean system resources wasting, as the sh would run forever. |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
|
Re: [N900] Yes, another hildon-home bug thread...
Quote:
Thanks. And I keep fingers crossed :) --edit I would really like to get this "thing" fixed, but it is totally unreproducable. So there is almost no chance to catch it. And it does not happen very often (at least to me, every few weeks/months). But when in situations where you dou rely on your mobile to be reactive or sound an alarm ! :eek: |
Re: [N900] Yes, another hildon-home bug thread...
Damn ! :(
I got h-h hanged again today. So, it seems my workaround with wrapping all widget commands into sh scripts and call those with timeout does not work (which I do not understand). I attached gdb and got this again: Quote:
--edit Strike my last sentence. The problem is not caused by the commands inside the sh scripts, but by shell (Maemo) itself regarding thsi ppoll/pselect thing. So if outermost (DCEW) sh experiences this bug, there is no gain in creating time(d)out executable scripts.. Right? Looks like we have to wait for freemangordon and other CSSUs and switch to latest CSSU release then. |
Re: [N900] Yes, another hildon-home bug thread...
OK, some more news:
today I had the second occurance within 2 days. And I am atm in a house with bad wireless reception (WLAN going off and on frequently). So I do think that this happens really more often when internet connection is cut. This was also the case when I have seen that in console. Does that help anybody to narrow that down? |
Re: [N900] Yes, another hildon-home bug thread...
Quote:
a combination of the above will rule out (or will confirm) if ppoll/pselect bug is the reason for your h-h to hang. The above kernel is the same as used in CSSU-thumb, with ppoll/pselect support added. glibc in cssu-devel should've been already in cssu-testing, but the repo refused to load the debs. Both should be safe, but make a backup, just in case. |
Re: [N900] Yes, another hildon-home bug thread...
1 Attachment(s)
Hey fmg,
Thanks for that. Will try that out after I have seen my next workaround failing ;) This is what I have thought about the last hour: Code:
#!/bin/sh It will fetch the pid of h-h, then call strace and if output from strace matches a string I just have seen/verified then it will killall h-h and also restore widgets. Be sure to make a save backup of /home/user/.config/hildon-desktop/home.plugins because sometimes you need to copy that back to original location (do not know why my small widget reenabler works most of the time, but sometimes fails). I am doing such thing already for h-d consuming more than 4% of CPU for longer than 30 seconds (if so killing it :)) and have good experiences. --edit This IS now my workaround! :) a BIG thank you to freemangordon, iDont (who brought me to this) and of course all others for their input. Also to sixwheeledbeast for "borrowing his thread".;) nevertheless: I think it will continue; stay tuned ... --edit2 Added an upstart script. Just download, remove the txt-ending, put it in /etc/event.d and start it/reboot. This works for me (just confirmed again today, same buiding with bad inet connectivity). You may change the loopTime or the timeoutTime to your likings/needs. --edit3 Just detected another typo in attached upstart script. So please re-download. |
All times are GMT. The time now is 15:31. |
vBulletin® Version 3.8.8