maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Maemo 5 / Fremantle (https://talk.maemo.org/forumdisplay.php?f=40)
-   -   [N900] Yes, another hildon-home bug thread... (https://talk.maemo.org/showthread.php?t=86804)

mr_pingu 2012-11-27 12:12

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/

peterleinchen 2012-11-27 14:08

Re: [N900] Yes, another hildon-home bug thread...
 
Of course (will become a very long post, sorry):

Code:

~ $ lal /usr/lib/hildon-desktop/
drwxr-xr-x    3 root    root          7216 Nov  3 23:16 .
drwxr-xr-x  107 root    root        91376 Nov  5 22:50 ..
-rw-r--r--    1 root    root        10944 Oct  5 13:00 CallNotify.py
-rw-r--r--    1 root    root          6494 Apr 20  2011 ConkyLayoutSwitcher.py
-rwxr-xr-x    1 root    root        12694 Jan 15  2011 actman.py
-rw-r--r--    1 root    root          6367 Feb  4  2011 advanced-clock-plugin.py
-rwxr-xr-x    1 root    root          1306 Aug 10 04:32 advanced_interface_switcher.py
-rwxr-xr-x    1 root    root          1052 Apr  6  2011 advanced_power.py
lrwxrwxrwx    1 root    root            44 Oct 30 23:56 advifswlib -> /opt/maemo/usr/lib/hildon-desktop/advifswlib
lrwxrwxrwx    1 root    root            43 Aug  8 09:39 advpowlib -> /opt/maemo/usr/lib/hildon-desktop/advpowlib
-rw-r--r--    1 root    root        14368 Jan 22  2010 bluetooth_headset_status_menu_item.so
-rw-r--r--    1 root    root          9536 Apr 17  2010 bluezwitch.py
-rw-r--r--    1 root    root        97804 Sep 26  2011 cal-home-widget.so
-rw-r--r--    1 root    root        69404 Jun  2  2010 calendar-home-applet.so
-rw-r--r--    1 root    root        18676 Dec 14  2009 clock-plugin.so
-rw-r--r--    1 root    root        11316 Jan 28  2010 connui-bluetooth-status-menu-item.so
-rw-r--r--    1 root    root        10268 Jan 28  2010 connui-bluetooth-transfer-status-menu-item.so
-rw-r--r--    1 root    root        12088 Aug  6  2010 connui-cellular-operator-home-item.so
-rw-r--r--    1 root    root          8600 Aug  6  2010 connui-cellular-status-item.so
-rw-r--r--    1 root    root        14744 Jul  1  2010 connui-internet-status-menu-item.so
-rw-r--r--    1 root    root        32544 May 22  2010 conversations-inbox-widget.so
-rw-r--r--    1 root    root          1281 Apr 13  2010 desktop-cmd-exec.la
-rw-r--r--    1 root    root        29532 Apr 13  2010 desktop-cmd-exec.so
-rw-r--r--    1 root    root        51246 Jun  5  2010 fmms_status.a
-rw-r--r--    1 root    root          1256 Jun  5  2010 fmms_status.la
-rw-r--r--    1 root    root          7896 Jun  5  2010 fmms_status.so
-rw-r--r--    1 root    root          9228 Oct 13  2009 fmtx_status_menu_item.so
-rw-r--r--    1 root    root        32904 May 15  2011 gps-data-logger-widget.so
-rw-r--r--    1 root    root        35228 Jul 19  2010 ham-notifier-status-menu-item.so
-rw-r--r--    1 root    root        46140 Jul 19  2010 ham-updates-status-menu-item.so
-rw-r--r--    1 root    root          9016 Jun  6  2010 lens-cover-reminder-sp.so
-rw-r--r--    1 root    root        14589 Sep 14  2010 lfocuswi.py
-rw-r--r--    1 root    root        12388 Jan  3  2011 lib-fm-carkit-widget.so
lrwxrwxrwx    1 root    root            58 Jul 12  2011 lib-simple-fmtx-widget.a -> /opt/maemo/usr/lib/hildon-desktop/lib-simple-fmtx-widget.a
-rw-r--r--    1 root    root          1349 Mar 21  2010 lib-simple-fmtx-widget.la
lrwxrwxrwx    1 root    root            31 Jul 12  2011 lib-simple-fmtx-widget.so -> lib-simple-fmtx-widget.so.0.0.0
lrwxrwxrwx    1 root    root            31 Jul 12  2011 lib-simple-fmtx-widget.so.0 -> lib-simple-fmtx-widget.so.0.0.0
lrwxrwxrwx    1 root    root            65 Jul 12  2011 lib-simple-fmtx-widget.so.0.0.0 -> /opt/maemo/usr/lib/hildon-desktop/lib-simple-fmtx-widget.so.0.0.0
-rw-r--r--    1 root    root          4776 Sep 10  2010 lib-ssh-status-menu-widget.a
-rw-r--r--    1 root    root          1370 Sep 10  2010 lib-ssh-status-menu-widget.la
lrwxrwxrwx    1 root    root            35 Jul 12  2011 lib-ssh-status-menu-widget.so -> lib-ssh-status-menu-widget.so.0.0.0
lrwxrwxrwx    1 root    root            35 Jul 12  2011 lib-ssh-status-menu-widget.so.0 -> lib-ssh-status-menu-widget.so.0.0.0
-rw-r--r--    1 root    root          6752 Sep 10  2010 lib-ssh-status-menu-widget.so.0.0.0
lrwxrwxrwx    1 root    root            28 Sep 10  2010 libas-status-applet.so -> libas-status-applet.so.0.0.0
lrwxrwxrwx    1 root    root            28 Sep 10  2010 libas-status-applet.so.0 -> libas-status-applet.so.0.0.0
-rw-r--r--    1 root    root        52240 Jun 10  2010 libas-status-applet.so.0.0.0
lrwxrwxrwx    1 root    root            57 Jul 12  2011 libflashlight-applet.so -> /opt/maemo/usr/lib/hildon-desktop/libflashlight-applet.so
-rw-r--r--    1 root    root        10116 Oct  6  2009 libgooglesearchwidget.so
-rw-r--r--    1 root    root        64840 Aug  3  2010 libhildon-plugins-notify-sv.so
-rw-r--r--    1 root    root        13448 Dec  2  2009 liblocation.so
-rw-r--r--    1 root    root        118060 Jun 21  2010 libmediaplayerhomeapplet.so
-rw-r--r--    1 root    root        76516 Aug 19  2010 libmodest-home-applet.so
-rw-r--r--    1 root    root        13156 Feb  5  2010 libovipromotionwidget.so
-rw-r--r--    1 root    root        213324 Jul 27  2010 librtcom-notification-ui.so
-rw-r--r--    1 root    root        77852 Jun 17  2010 librtcom-presence-ui.so
-rw-r--r--    1 root    root        10232 Nov 12  2009 libtutorial-home.so
-rw-r--r--    1 root    root        10500 Feb 18  2010 libtweakr-profile-status-menu-widget.so
-rw-r--r--    1 root    root        21752 May 18  2010 libyellownotes_applet.a
-rw-r--r--    1 root    root          1333 May 18  2010 libyellownotes_applet.la
-rw-r--r--    1 root    root        22792 May 18  2010 libyellownotes_applet.so
drwxr-xr-x    2 root    root          248 Jul 12  2011 loaders
-rw-r--r--    1 root    root        21640 Dec 17  2009 location-home-applet.so
-rw-r--r--    1 root    root          8728 Feb 13  2010 mode-selection-applet.so
-rw-r--r--    1 root    root        27380 Aug 11  2010 monorail-status-plugin.so
-rw-r--r--    1 root    root        37352 May  5  2010 openvpn-applet.py
-rw-r--r--    1 root    root        36080 Jul 12  2011 openvpn-applet.pyc
-rw-r--r--    1 root    root          1299 May 26  2010 personal-ip-address.la
-rw-r--r--    1 root    root        20116 May 26  2010 personal-ip-address.so
-rw-r--r--    1 root    root        13348 Sep 30  2009 profiles_status_menu_item.so
-rwxr-xr-x    1 root    root        31789 Oct 29  2010 recaller.py
-rw-r--r--    1 root    root          1309 Jun  8  2010 rss_home_applet.la
-rw-r--r--    1 root    root        55996 Jun  8  2010 rss_home_applet.so
-rw-r--r--    1 root    root        31124 Jun 14  2010 sharing-manager-status.so
-rw-r--r--    1 root    root        14811 Apr 19  2010 shutter.py
-rw-r--r--    1 root    root        12396 Apr 13  2010 simple-brightness-applet.so
-rw-r--r--    1 root    root        21300 Feb 24  2010 status-area-applet-battery.so
lrwxrwxrwx    1 root    root            59 May  1  2012 status-area-applet-tor.so -> /opt/maemo/usr/lib/hildon-desktop/status-area-applet-tor.so
-rw-r--r--    1 root    root        13257 Jun 20  2011 status-area-wlan-driver-selector-applet.py
-rw-r--r--    1 root    root        15177 Jul 14  2011 status-area-wlan-driver-selector-applet.pyc
-rw-r--r--    1 root    root          8984 Jan 21  2010 status_area_load_applet.so
-rw-r--r--    1 root    root        10664 Jan 21  2010 status_menu_load_applet.so
-rw-r--r--    1 root    root        10188 Oct 12  2009 sync-plugin.so
-rw-r--r--    1 root    root        50791 Dec 13  2010 tvbgone.py
-rw-r--r--    1 root    root        22772 Nov 25  2009 usb_plugin.so
-rw-r--r--    1 root    root        24524 Feb  2  2010 volume_status_menu_item.so
lrwxrwxrwx    1 root    root            55 Oct  1 22:19 wifi-signal-applet.so -> /opt/maemo/usr/lib/hildon-desktop/wifi-signal-applet.so

Code:

~ $ lal /usr/lib/hildon-desktop/loaders/
drwxr-xr-x    2 root    root          248 Jul 12  2011 .
drwxr-xr-x    3 root    root          7216 Nov  3 23:16 ..
-rw-r--r--    1 root    root        11192 Mar  3  2010 libpythonpluginloader.so

Code:

~ $ lal /usr/share/applications/hildon-home/
drwxr-xr-x    2 root    root          1848 May  1  2012 .
drwxr-xr-x    9 root    root          1280 Oct 21 00:20 ..
-rw-r--r--    1 root    root          6148 May 19  2009 .DS_Store
-rw-r--r--    1 root    root          115 Feb 28  2010 bluezwitch.desktop
-rw-r--r--    1 root    root          135 Sep 26  2011 cal-home-widget.desktop
-rw-r--r--    1 root    root          189 Jun  2  2010 calendar-home-applet.desktop
-rw-r--r--    1 root    root          185 May 22  2010 conversations-inbox-widget.desktop
-rw-r--r--    1 root    root          162 Apr 13  2010 desktop-cmd-exec.desktop
-rw-r--r--    1 root    root          145 Oct  6  2009 google-search-widget.desktop
-rw-r--r--    1 root    root          185 May 15  2011 gps-data-logger-widget.desktop
-rw-r--r--    1 root    root          165 Jun  8  2010 homeosso_rss_feed_reader.desktop
-rw-r--r--    1 root    root          153 Dec 17  2009 location-home-applet.desktop
-rw-r--r--    1 root    root          185 Jun 21  2010 mediaplayerhomeapplet.desktop
-rw-r--r--    1 root    root          140 Aug 19  2010 modest-applet.desktop
-rw-r--r--    1 root    root          125 Feb  5  2010 ovi-promotion-widget.desktop
-rw-r--r--    1 root    root          126 May 26  2010 personal-ip-address.desktop
-rw-r--r--    1 root    root          112 Oct 30  2010 recaller.desktop
-rw-r--r--    1 root    root          121 Jan  9  2010 shutter.desktop
-rw-r--r--    1 root    root          155 Mar 21  2010 simple-fmtx-widget.desktop
-rw-r--r--    1 root    root          218 Nov 12  2009 tutorial-home.desktop
-rw-r--r--    1 root    root          110 Dec 13  2010 tvbgone.desktop
-rw-r--r--    1 root    root          234 May 18  2010 yellownotes-applet.desktop

Thanks for helping/trying out (still at work :(;))j

freemangordon 2012-11-27 14:36

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

peterleinchen 2012-11-27 15:16

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! :)

don_falcone 2012-11-27 15:25

Re: [N900] Yes, another hildon-home bug thread...
 
Why do so many widgets hang h-h? DCEW, TVBG, OMWeather...

mr_pingu 2012-11-27 16:33

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.

sixwheeledbeast 2012-11-27 19:57

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by don_falcone (Post 1298944)
Why do so many widgets hang h-h? DCEW, TVBG, OMWeather...

recaller eats system resources too.

I haven't got half the stuff of peterleinchen and still have the problem.

Code:

/usr/lib/hildon-desktop $ ls -la
drwxr-xr-x    3 root    root        4040 Nov 17 09:34 .
drwxr-xr-x  91 root    root        80496 Nov 16 22:14 ..
-rw-r--r--    1 root    root        14368 Jan 22  2010 bluetooth_headset_status_menu_item.so
-rw-r--r--    1 root    root        69404 Jun  2  2010 calendar-home-applet.so
-rw-r--r--    1 root    root        18676 Dec 14  2009 clock-plugin.so
-rw-r--r--    1 root    root        11316 Jan 28  2010 connui-bluetooth-status-menu-item.so
-rw-r--r--    1 root    root        10268 Jan 28  2010 connui-bluetooth-transfer-status-menu-item.so
-rw-r--r--    1 root    root        12140 Dec 19  2009 connui-cellular-operator-home-item.so
-rw-r--r--    1 root    root        12088 Aug  6  2010 connui-cellular-operator-home-item.so.distrib
-rw-r--r--    1 root    root        8600 Aug  6  2010 connui-cellular-status-item.so
-rw-r--r--    1 root    root        14744 Jul  1  2010 connui-internet-status-menu-item.so
-rw-r--r--    1 root    root        51246 Jun  5  2010 fmms_status.a
-rw-r--r--    1 root    root        1256 Jun  5  2010 fmms_status.la
-rw-r--r--    1 root    root        7896 Jun  5  2010 fmms_status.so
-rw-r--r--    1 root    root        10264 Nov  9  2011 fmtx_status_menu_item.so
-rw-r--r--    1 root    root        35228 Nov  9  2011 ham-notifier-status-menu-item.so
-rw-r--r--    1 root    root        46140 Nov  9  2011 ham-updates-status-menu-item.so
-rw-r--r--    1 root    root        9016 Jun  5  2010 lens-cover-reminder-sp.so
-rw-r--r--    1 root    root        12634 Nov 10  2011 lib-orientationlock-status-menu.so
lrwxrwxrwx    1 root    root          28 Sep 29  2010 libas-status-applet.so -> libas-status-applet.so.0.0.0
lrwxrwxrwx    1 root    root          28 Sep 29  2010 libas-status-applet.so.0 -> libas-status-applet.so.0.0.0
-rw-r--r--    1 root    root        52240 Jun 10  2010 libas-status-applet.so.0.0.0
lrwxrwxrwx    1 root    root          57 Sep 16 13:54 libflashlight-applet.so -> /opt/maemo/usr/lib/hildon-desktop/libflashlight-applet.so
-rw-r--r--    1 root    root        64840 Aug  3  2010 libhildon-plugins-notify-sv.so
-rw-r--r--    1 root    root        13448 Dec  2  2009 liblocation.so
-rw-r--r--    1 root    root      118060 Jun 21  2010 libmediaplayerhomeapplet.so
-rw-r--r--    1 root    root        76516 Aug 19  2010 libmodest-home-applet.so
-rw-r--r--    1 root    root      213324 Jul 27  2010 librtcom-notification-ui.so
-rw-r--r--    1 root    root        77852 Jun 17  2010 librtcom-presence-ui.so
-rw-r--r--    1 root    root        10500 Feb 18  2010 libtweakr-profile-status-menu-widget.so
-rw-r--r--    1 root    root        1326 Aug 12  2011 libweather-home.la
lrwxrwxrwx    1 root    root          52 Sep 16 18:31 libweather-home.so -> /opt/maemo/usr/lib/hildon-desktop/libweather-home.so
drwxr-xr-x    2 root    root          240 Sep 16 13:24 loaders
-rw-r--r--    1 root    root        21640 Dec 17  2009 location-home-applet.so
-rw-r--r--    1 root    root        8728 Feb 13  2010 mode-selection-applet.so
-rw-r--r--    1 root    root        13348 Sep 30  2009 profiles_status_menu_item.so
-rwxr-xr-x    1 root    root      154512 Sep 28 14:47 qmltube-widget
-rw-r--r--    1 root    root        1279 Jan 18  2011 queen-beecon.la
-rw-r--r--    1 root    root      226088 Jan 18  2011 queen-beecon.so
-rw-r--r--    1 root    root        1309 Jun  8  2010 rss_home_applet.la
-rw-r--r--    1 root    root        55996 Jun  8  2010 rss_home_applet.so
-rw-r--r--    1 root    root        31124 Jun 14  2010 sharing-manager-status.so
-rw-r--r--    1 root    root        12396 Apr 13  2010 simple-brightness-applet.so
-rw-r--r--    1 root    root        21300 Feb 24  2010 status-area-applet-battery.so
-rw-r--r--    1 root    root        8976 Dec 16  2009 status_area_cpumem_applet.so
-rw-r--r--    1 root    root        10188 Oct 12  2009 sync-plugin.so
-rw-r--r--    1 root    root        22772 Nov 25  2009 usb_plugin.so
-rw-r--r--    1 root    root        24524 Feb  2  2010 volume_status_menu_item.so

/usr/lib/hildon-desktop/loaders $ ls -la
drwxr-xr-x    2 root    root          240 Sep 16 13:24 .
drwxr-xr-x    3 root    root        4040 Nov 17 09:34 ..
-rw-r--r--    1 root    root        10172 Dec 20  2010 libqtpluginloader.so

/usr/share/applications/hildon-home $ ls -la
drwxr-xr-x    2 root    root          840 Nov 17 09:34 .
drwxr-xr-x    9 root    root        1064 Sep 16 16:25 ..
-rw-r--r--    1 root    root          189 Jun  2  2010 calendar-home-applet.desktop
-rw-r--r--    1 root    root          165 Jun  8  2010 homeosso_rss_feed_reader.desktop
-rw-r--r--    1 root    root          153 Dec 17  2009 location-home-applet.desktop
-rw-r--r--    1 root    root          185 Jun 21  2010 mediaplayerhomeapplet.desktop
-rw-r--r--    1 root    root          140 Aug 19  2010 modest-applet.deskto
-rw-r--r--    1 root    root          224 Aug 12  2011 omweather-home.desktop
-rw-r--r--    1 root    root          189 Jan 13  2012 qmltube-widget.desktop
-rw-r--r--    1 root    root          222 Jan 18  2011 queen-beecon.desktop


electroaudio 2012-12-02 12:02

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by don_falcone (Post 1298944)
Why do so many widgets hang h-h? DCEW, TVBG, OMWeather...

It may not hang h-h, rather lockup h-h for other processes while waiting for something, because hhs lack of preemtive multitasking.

peterleinchen 2012-12-03 16:35

Re: [N900] Yes, another hildon-home bug thread...
 
Here is backtrace of h-h (hanging):

Quote:

(gdb) backtrace
#0 0x401886f4 in read () from /lib/libc.so.6
#1 0x401a3080 in __libc_enable_asynccancel () from /lib/libc.so.6
#2 0x40139e3c in _IO_new_file_underflow () from /lib/libc.so.6
#3 0x4013b0d8 in __underflow () from /lib/libc.so.6
#4 0x4013b1b0 in _IO_default_xsgetn_internal () from /lib/libc.so.6
#5 0x4013a28c in _IO_sgetn_internal () from /lib/libc.so.6
#6 0x4012c8a8 in fread () from /lib/libc.so.6
#7 0x42c2f608 in desktop_cmd_exec_update_content ()
from /usr/lib/hildon-desktop/desktop-cmd-exec.so
#8 0x42c2f7b8 in ?? () from /usr/lib/hildon-desktop/desktop-cmd-exec.so
#9 0x42c2f7b8 in ?? () from /usr/lib/hildon-desktop/desktop-cmd-exec.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
Looks like decw is the bad guy here, isnt it?
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.

freemangordon 2012-12-03 16:50

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by peterleinchen (Post 1301019)
Here is backtrace of h-h (hanging):



Looks like decw is the bad guy here, isnt it?
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.

Yeah, seems like that. AIUI it waits in fread() and blocks h-h. Could you install decw debug symbols and do detach/attach to the process, so we can gather more useful info.

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.

mr_pingu 2012-12-03 18:25

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?

peterleinchen 2012-12-03 19:05

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:

(gdb) info threads
* 1 Thread 0x4001eeb0 (LWP 20403) 0x401886f4 in read () from /lib/libc.so.6

freemangordon 2012-12-04 08:01

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by peterleinchen (Post 1301080)
I do not find dbg symbols for dcew?

That's bad, blame the developer for not providing -dbg package.

Quote:

And yeah it seems also other widgets are compromised (or it is h-h itself?).
It seems the only compromised widget on your device is dcew, both backtrace and info threads clearly show that.

Quote:

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).
I/O operations does not block on simple files, so it has blocked on pipe/socket/fifo/who_knows_what_else. I'd recommend to check your dcew configuration and figure out what falls in the above list.

Quote:

Or maybe thread problem while synchronous access to one of these (overall Maemo prob?)?
???
--edit
Yeah, or little green man :p . Your info threads command clearly shows there is only one active thread, which is doing blocking I/O in dcew. So it is either bug in dcew or dcew is broken by design. Or dcew does not support your custom configuration.

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.

freemangordon 2012-12-04 08:34

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)
        {
                fp = popen (self->priv->instanceCmd, "r");
               
                /* AP; No!No!No!Yes!, thanks! */
                //        while (fgets (line, sizeof line, fp)) {//Needed to change this "line-based" management for output //AP
                if (l=fread (line, 1, sizeof line, fp)) {//to this "buffer-based" for multiline handling in widget //AP
                        line[l-1]='\000';//AP
                       
                        gtk_label_set_text (GTK_LABEL (self->priv->cmdResult_lb), line);//AP
                        found = TRUE;
                }
                pclose (fp);

                if (!found) {
                        gtk_label_set_text (GTK_LABEL (self->priv->cmdResult_lb), "Invalid Command");
                }

Now, if the process started with popen does not flush its STDOUT and does not exit, dcew will block till eternity in fread (...) call. And this is what happens on your device. Period. Pester the developer of dcew to implement it in the correct way - by either using threads, or setting the file descriptor in non-blocking mode or using select() or ... .

reinob 2012-12-04 09:44

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by freemangordon (Post 1301217)
Code:

        if (l=fread (line, 1, sizeof line, fp)) {//to this "buffer-based" for multiline handling in widget //AP

Thanks for that freemangordon!

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?

sixwheeledbeast 2012-12-04 12:52

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by reinob (Post 1301226)
Can anyone comment on QBW? is that any better than DCEW?

I'd say so but I have the h-h issues having never used DCEW.
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.

don_falcone 2012-12-04 13:04

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%.

peterleinchen 2012-12-04 21:09

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by freemangordon (Post 1301209)
That's bad, blame the developer for not providing -dbg package.

Yeah, but when gone he is gone.

Quote:

Originally Posted by freemangordon (Post 1301209)
It seems the only compromised widget on your device is dcew, both backtrace and info threads clearly show that.

Yes, sure. I was talking about mr_pingu's comment (QBW also compromised). But maybe we all suffer from same/similar coding bug.
Or what?

Quote:

Originally Posted by freemangordon (Post 1301209)
I/O operations does not block on simple files, so it has blocked on pipe/socket/fifo/who_knows_what_else. I'd recommend to check your dcew configuration and figure out what falls in the above list.

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.

I tried but did not yet understand how to interprete such output from /proc/xxxx/fd:
0 -> pipe:[3666]
Will continue ...


Quote:

Originally Posted by freemangordon (Post 1301209)
Yeah, or little green man :p

I think so :D

Quote:

Originally Posted by freemangordon (Post 1301209)
Your info threads command clearly shows there is only one active thread, which is doing blocking I/O in dcew. So it is either bug in dcew or dcew is broken by design. Or dcew does not support your custom configuration.

Quote:

Originally Posted by freemangordon (Post 1301217)
@peterleinchen: I looked at dcew code, this is broken by design:

Code:

                fp = popen (self->priv->instanceCmd, "r");
               
                if (l=fread (line, 1, sizeof line, fp)) {//to this "buffer-based"                }
                pclose (fp);

Now, if the process started with popen does not flush its STDOUT and does not exit, dcew will block till eternity in fread (...) call. And this is what happens on your device. Period.

Thank you again very much for looking into other people's problem.
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:

c_commands=
uptime|cut -d" " -f4-|sed 's/\\, *load.*//';
hal-device bme | awk '/l.p/ {perc = $3}\;\s/s_c/ {isch = $3} END if (isch == "false") {print perc" %"} else {print "Chrg"}';
hal-device bme | grep battery.reporting | awk -F. '{print $3}' | sort | awk '$1 == "current" { current = $3}\;\s$1== "design" {print current "/" $3}';
cat /proc/bootreason;
cat /var/lib/dsme/boot_count;
wget -q -O - api.myiptest.com | awk -F "\"" '{print $4}';
/sbin/ifconfig | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}';
df | awk '$1 == "rootfs" {print $5}';
df -h | awk ' $1 == "rootfs" {print $4"B"}';
hal-device bme | grep "battery." | sort | awk '/l.p/ {perc = $3}\;\s/g.c/ {curr = $3}\;\s/g.la/ {last = $3}\;\s/g.des/ {design = $3}\;\s/s_c/ {isch = $3} END if (isch == "true") {printf "!Ch! "}\;\sEND {print perc"% ("curr"/"last"/"design" mAh)"}';
printf "Rsn: " && printf `cat /proc/bootreason` && printf ", Cnt: " && printf `cat /var/lib/dsme/boot_count`;
echo $(sudo i2cget -y 2 0x55 0x06 w\;\scat /sys/devices/platform/omap34xx_temp/temp1_input) | awk '{ print $1*0.25-273 " \\("$2"\\) °C"}';
wget -t 2 -T 3 -q -O - api.myiptest.com | awk -F "\\"" '{print $4" \\n("$12" @ "$20", "toupper($28)")"}';
sudo iwconfig wlan0 txpower 20\;\srun-standalone.sh /usr/bin/dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"WLAN power set to 100 mW";
wget -t 2 -T 3 -q -O - checkip.dyndns.com | awk -F ": " '{print $2}' | awk -F "</" '{print $1}';
Most of them only excuted on click and switching desktop. Only boot reason and uptime on boot; and network (IP) also on network connected. I do not see any of them to cause the block! Or?

peterleinchen 2012-12-04 21:16

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by don_falcone (Post 1301273)
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.

don
could you click any other widget on desktop (not counting are contacts or browser links)? Or was it also totally "frozen"?

don_falcone 2012-12-04 21:19

Re: [N900] Yes, another hildon-home bug thread...
 
Everything else mentioned worked, IIRC. Only updating the value wasn't.

peterleinchen 2012-12-04 21:22

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by reinob (Post 1301226)
Thanks for that freemangordon!

One more thanks.


Quote:

Originally Posted by reinob (Post 1301226)
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?

I have listed all commands above. Not all of them are used. Some are still standard, some are customized.
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.

peterleinchen 2012-12-04 21:23

Re: [N900] Yes, another hildon-home bug thread...
 
And thanks to all of you trying to help/identify this phenomenon !!

peterleinchen 2012-12-04 21:32

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by don_falcone (Post 1301430)
Everything else mentioned worked, IIRC. Only updating the value wasn't.

Strange! Do you have more Widgets on desktop updating values? Or was this the only one?
Normal applications, contacts, links, etc. still work even with this "hanging".
How did you recover? Reboot?

don_falcone 2012-12-11 08:46

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.

peterleinchen 2012-12-25 13:08

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:

~ $ wget -t 2 -T 3 -q -O - checkip.dyndns.com | awk -F ": " '{print $2}' | awk -F "</" '
{print $1}'


open ...

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

reinob 2012-12-27 22:49

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!

peterleinchen 2012-12-27 23:26

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:

~ $ apt-cache policy wget
wget:
Installed: 1.10.2-2osso3
Candidate: 1.10.2-2osso3
Version table:
*** 1.10.2-2osso3 0
500 http://repository.maemo.org fremantle-1.3/free Packages
500 http://repository.maemo.org fremantle/free Packages
500 http://repository.maemo.org fremantle/free Packages
100 /var/lib/dpkg/status
1.10.2-2osso3 0
500 http://repository.maemo.org fremantle/tools/free Packages
So, I do not hink this is the reason. As this would imply there is still an instance of wget (busybox) running, which is not the case.
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:

~ $ ps |grep sh
1053 root 4712 S /usr/sbin/alsaped -p 4 -f /usr/share/policy/etc/current/als
1108 root 3632 S /usr/sbin/wappushd -b
1278 user 2836 S {autodisconnect-} /bin/ash /opt/autodisconnect/autodisconne
1524 user 2836 S sh -c /opt/BatteryGraph/bin/BatteryGraphd
1549 root 2836 S {savecpu.sh} /bin/sh /opt/savecpu/savecpu.sh start
1550 root 2836 S {run-standalone.} /bin/sh /usr/bin/run-standalone.sh /usr/s
1596 user 2836 S {run-standalone.} /bin/sh /usr/bin/run-standalone.sh /usr/b
1731 user 2836 S {ringtonedctl} /bin/sh /usr/bin/ringtonedctl startwait
1821 user 4416 S /usr/bin/crash_reporter_daemon
2345 root 3844 S /usr/sbin/sshd -D
2854 root 2836 S /bin/sh -e /dev/fd/8 hildon-desktop
2855 root 2836 S /bin/sh -e /dev/fd/8 hildon-desktop
6170 root 0 SW [pdflush]
6209 root 0 SW [pdflush]
7103 root 2836 S {autodisconnect-} /bin/ash /opt/autodisconnect/autodisconne
7467 root 2836 S {swapoffon_mmc} /bin/sh /sbin/swapoffon_mmc
7542 user 2844 S grep sh
21444 user 2912 S -sh
21465 user 2912 S -sh
21741 root 2836 D {cpu_normal.sh} /bin/sh /opt/scripts/cpu_normal.sh :1.13 nu
at the time of having two instances of x-term open, two browser windows and modest.
???

peterleinchen 2013-01-01 21:54

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}'
did not return, so no output could be catched by DCEW (or QBW, ...), this way the h-h did hang until killed (or reboot).

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 ...

sixwheeledbeast 2013-01-01 23:03

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by peterleinchen (Post 1309851)
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.

Seems there's no wget as standard in the stock sh.

Code:

sh: wget: not found
So there's no way this is the issue I am having from the OP.

peterleinchen 2013-01-02 15:37

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by sixwheeledbeast (Post 1309865)
Seems there's no wget as standard in the stock sh.

So there's no way this is the issue I am having from the OP.

Yes, you are right sixwheeledbeast.
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.

sixwheeledbeast 2013-01-02 15:56

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by peterleinchen (Post 1310139)
And, to be sure, you did not suffer from h-h getting stalled?

Tested in terminal and QBW nothing happened only the output in my previous post.

peterleinchen 2013-01-02 22:32

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) ...

freemangordon 2013-01-02 23:06

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by peterleinchen (Post 1310312)
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) ...

Hmm, guess why blocking i/o is called "blocking" ;)

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?

peterleinchen 2013-01-03 17:09

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}'
executed in x-term did not terminate?
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.

freemangordon 2013-01-03 17:37

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by peterleinchen (Post 1310567)
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}'
executed in x-term did not terminate?
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.

On the other hand it is possible that you hit the famous "ppoll()/pselect() missing on ARM" bug. Hopefully that one will be fixed in some future release of CSSU :). We have all the needed pieces (kernel and glibc), so it is just a matter of time.

peterleinchen 2013-01-03 19:56

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by freemangordon (Post 1310577)
On the other hand it is possible that you hit the famous "ppoll()/pselect() missing on ARM" bug. Hopefully that one will be fixed in some future release of CSSU :). We have all the needed pieces (kernel and glibc), so it is just a matter of time.

After reading (and partly understanding ;)) this, I think this could be the thing here ...

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:

peterleinchen 2013-01-12 22:51

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:

(gdb) backtrace
#0 0x401886f4 in read () from /lib/libc.so.6
#1 0x401a3080 in __libc_enable_asynccancel () from /lib/libc.so.6
#2 0x40139e3c in _IO_new_file_underflow () from /lib/libc.so.6
#3 0x4013b0d8 in __underflow () from /lib/libc.so.6
#4 0x4013b1b0 in _IO_default_xsgetn_internal () from /lib/libc.so.6
#5 0x4013a28c in _IO_sgetn_internal () from /lib/libc.so.6
#6 0x4012c8a8 in fread () from /lib/libc.so.6
#7 0x429ab608 in desktop_cmd_exec_update_content ()
from /usr/lib/hildon-desktop/desktop-cmd-exec.so
#8 0x429ab7b8 in ?? () from /usr/lib/hildon-desktop/desktop-cmd-exec.so
#9 0x429ab7b8 in ?? () from /usr/lib/hildon-desktop/desktop-cmd-exec.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Problems come from DCEW widget, but as I wrapped all my commands with timeout, this should not happen, or?

--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.

peterleinchen 2013-01-13 20:59

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?

freemangordon 2013-01-13 21:51

Re: [N900] Yes, another hildon-home bug thread...
 
Quote:

Originally Posted by peterleinchen (Post 1314503)
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?

If you wish you may want to try glibc from cssu-devel and the kernel from http://merlin1991.at/~freemangordon/kernel-cssu-ppoll/

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.

peterleinchen 2013-01-13 22:40

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
#workaround for hanging hildon-home process, by peterleinchen

timeout -t 1 -s 1 strace -o /tmp/h-h.str -p `ps | grep hildon-home | awk '{sum += 1}  {if (sum == 2) print $1}')`

###read(xx,  <unfinished ...>
if [ "read" == "`awk -F "(" '{print $1}' /tmp/h-h.str`" ]; then
  if [ "  <unfinished ...>" == "`awk -F "," '{print $2}' /tmp/h-h.str`" ]; then
    echo `date` > /home/user/.out_hhh
    cp /home/user/.config/hildon-desktop/home.plugins      /home/user/.config/hildon-desktop/home.plugins.tmp
    #sudo killall hildon-home
    killall hildon-home
    sleep 10
    #cp /home/user/.config/hildon-desktop/home.plugins.tmp  /home/user/.config/hildon-desktop/home.plugins
    cat /home/user/.config/hildon-desktop/home.plugins.tmp > /home/user/.config/hildon-desktop/home.plugins
  fi
fi

This run in an endless loop with a big delay (about 15 minutes or so) should also get me/us in a safe situation.
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