Post Update Tango GUI - random restarts

General discussion relating to the O2 Joggler, from the default O2 setup, to alternative operating systems and applications.
Post Reply
User avatar
Positivity
Posts: 35
Joined: Tue May 08, 2012 8:49 pm

Post Update Tango GUI - random restarts

Post by Positivity »

Hello,

I originally posted about this problem in a Squeezeplay thread, but I realise that it is not a Squeezeplay problem - although it is more often noticed there because I run the app for longer.

I know we may be getting another update which may fix this, but I was wondering if anyone else had seen this problem...

Basically the Tango GUI/Main screen crashes in the background when running another app (e.g. Squeezeplay, Opera, Weather etc), then relaunches on top of the app so you can no longer control it. Thus Squeezeplay keeps playing music, but you can no longer change the music. If you use the Restart Tango app, you can verify the other app is still running as it briefly appears before Tango does. If you try and "restart" the hidden app by clicking its icon again, it actually quits the app. Clicking a second time launches it again.

The worst case I have had was when this happened while running Opera - I ended up with the Opera cursor over the Tango screensaver, but couldn't access either, so the only way to recover was to power off and on.

If anyone else has seen this behaviour, please respond. If I am the only one affected by this, it may be a problem specific to my setup, e.g. WiFi or USB connections. I am keen to get back to the more stable system I had pre-update. Thanks.
multiplex
Posts: 59
Joined: Wed Aug 24, 2011 8:07 pm
Location: Hampshire, UK

Re: Post Update Tango GUI - random restarts

Post by multiplex »

I think that I may have seen this once - I didn't go in to deep diagnosis (just did a CEGB reset) but your description sounds about right...

Not happened since but we've had lots of power cuts (Thunder storms) recently so it's had frequent resets...
User avatar
roobarb!
Posts: 1746
Joined: Sat Mar 05, 2011 1:30 pm
Location: Salford, UK
Contact:

Re: Post Update Tango GUI - random restarts

Post by roobarb! »

The native OS, version 26635 (the O2 version, rather than the more recent OpenPeak v30291) did exactly the same thing. It could be crashing, or it could be doing it on purpose for some reason.
BirdsLikeWires - Get fresh builds of Debian Bullseye and Bookworm for OpenFrame with the latest 5.10 and 6.1 kernels! 8-)
User avatar
Positivity
Posts: 35
Joined: Tue May 08, 2012 8:49 pm

Re: Post Update Tango GUI - random restarts

Post by Positivity »

Just in case anyone else is suffering this issue, I reflashed to the O2 OS version 26635 using the Reflasher (thanks roobarb!), applied PNP III and I no longer have the problem. Prior to that I reflashed to the latest OpenPeak OS (using openpeak-small_12-06-14.img), reapplied PNP III but still had the problem. So in my case it seems to have been connected with the OpenPeak updates.
mrw
Posts: 47
Joined: Mon Jan 02, 2012 6:30 pm

Re: Post Update Tango GUI - random restarts

Post by mrw »

Positivity wrote: The worst case I have had was when this happened while running Opera - I ended up with the Opera cursor over the Tango screensaver, but couldn't access either, so the only way to recover was to power off and on.
The 'random restart' may be simulated by executing 'killall tango' from the command line. The particular problem with Opera lies in the fact that it is being run in 'fullscreen' mode. This doesn't play well with the Joggler native OS, as you have discovered, but it is possible to do something about it in the post-update GUI. I had the problem in the pre-update GUI as well, I think.

I am using the appended 'start' script in my operamobile directory, together with a tool called 'xdotool'. The script is somewhat commented.

You'll have to get hold of 'xdotool' - I have suggested the Ubuntu Hardy xdotool package as your source. You'll have to unpack the Debian archive - in brief it's a two stage approach. First, use 'ar' to unpack the archive. There are three files contained in it, we're interested in 'data.tar.gz'. Then use 'tar' to extract the actual file from 'data.tar.gz'.


There are other possibilities. I do have a draft script that just restores an existing Opera/Squeezeplay window after Tango restarts itself, without having to kill off the apps. But it is not fit for publication, at least at present. I'm not familiar with the Weather app.

Code: Select all

#!/bin/sh

#
# /media/opt/operamobile/start
#

# A modified OperaMobile 10.1 start up script for the Joggler native OS.
# Deals with issue whereby Tango can be restarted while Opera is running (in
# full screen mode), and all UI is then lost.

# Requires 'xdotool' to be available in directory /media/opt/operamobile.
# 'xdotool' can be extracted from Ubuntu's Hardy xdotool package:

#   http://packages.ubuntu.com/hardy-backports/x11/xdotool
#   http://packages.ubuntu.com/hardy-backports/i386/xdotool/download


unset SDL_WINDOWID
export LD_LIBRARY_PATH=/media/opt/operamobile/common-lib:/media/opt/operamobile
export KMP_DUPLICATE_LIB_OK=TRUE
export DISPLAY=:0.0
export SDL_AUDIODRIVER=alsa


# Opera 10.1 uses SDL 1.2. Unfortunately SDL's 'Fullscreen' mode does not play
# well with the Joggler's native OS, because:
# (a) Opera/SDL grabs the input device in this mode, and
# (b) Tango periodically restarts over the top of Opera, and then cannot
#     access the input device (it's been grabbed).

# So we don't do this:
#/media/opt/operamobile/operamobile -fullscreen -mem 256M

# SDL's 'Window managed' mode suits us better, because then the input device
# is not grabbed, and a restarted Tango will have a usable UI.


# We arrange to kill Opera if we are launching it while it's still running,
# e.g. launching from a restarted Tango.

# Actually we could choose to reuse an existing Opera instance... but
# no matter, this script just doesn't.

# Kill any Operas.
unset IFS
OPERAPID=$(pidof operamobile)
if [ -n "${OPERAPID}" ]; then
    killall operamobile > /dev/null 2>&1 
fi


# This ought to start Opera in SDL's 'window managed' mode, with the
# resolution we want.
/media/opt/operamobile/operamobile -geometry 800x480 -mem 256M &

# Unfortunately Opera refuses to start up in 800x480 !

# So we use 'xdotool' to resize the window once it's running. The layout of
# the UI buttons is not identical to true 800x480, but it will do.


# Get the window id. This gives the id of the SDL 'managed' window, which is
# the window we're interested in.

# Remark:
# SDL gives its 'fullscreen' window no class attribute, so it is not found
# by the following xdotool search. But SDL doesn't map the 'fullscreen' window
# anyway, so it is invisible. We can safely ignore it.

# Wait for matters to settle. If we try too soon, we don't get a window id.
sleep 1
OPERA_MWINID=$(/media/opt/operamobile/xdotool search --class operamobile)


# Resize our window, assuming we found one (or more).
# It's not impossible that we still have more than one Opera running at the
# moment (killall takes some time), so we loop through all windows that we
# found.

if [ -n "${OPERA_MWINID}" ]; then
    for WIN in ${OPERA_MWINID}; do
        /media/opt/operamobile/xdotool windowsize ${WIN} 800 480
    done
else
    echo "Couldn't identify Opera window" >&2
fi

User avatar
Positivity
Posts: 35
Joined: Tue May 08, 2012 8:49 pm

Re: Post Update Tango GUI - random restarts

Post by Positivity »

Hi,

Revisiting an old post because I am now running the latest OpenPeak OS (30300) with the latest PNP III and Tango is once again randomly restarting - this happens on both my Jogglers so I don't think it is a hardware issue.

Looking at the SqueezePlay for Joggler (Native, Ubuntu & sqpOS) thread it looks like the Tango restart is still happening for a number of people.

I really only want to use the Joggler to run Squeezeplayer, so I have tried changing the end of openpeak/tango/run to start squeezeplay instead of tango:

Code: Select all

#xinit /openpeak/tango/xinit.sh -- -br
xinit /media/opt/squeezeplay/bin/squeezeplay.sh -- -br
however this does not work as the USB drive with my music on is not mounted.

Does anyone know how I can enable the auto-mounting of USB drives (so I can unplug and replug the USB drive for updating the music) without running Tango and before starting Squeezeplay in the run script?

Obviously if anyone has found out how to prevent the Tango restarts that would be the preferred solution.

Many thanks
User avatar
Positivity
Posts: 35
Joined: Tue May 08, 2012 8:49 pm

Re: Post Update Tango GUI - random restarts

Post by Positivity »

Oops! I now have this working, I used the wrong switch for the mount command. openpeak/tango/run now ends with the following and everything works:

Code: Select all

while true ; do
   # Run Squeezeplay instead of Tango GUI
   #xinit /openpeak/tango/xinit.sh -- -br
   # Mount USB drive read-only
   mount -t vfat -r /dev/sda1 /mnt
   xinit /media/opt/squeezeplay/bin/squeezeplay.sh -- -br
done
If I want to update my music I now just logon using PuTTY and remount read-write:

Code: Select all

mount -o remount,rw /dev/sda1
Then update the music using WinSCP, then remount as read-only:

Code: Select all

mount -o remount,ro /dev/sda1
I suppose I could mount as read-write in the first place, but this is more secure from me making a mistake and now I can update everything from the PC without unplugging the USB drive.

Hopefully this will be useful to someone.
Post Reply