Inquisit on tablets is crashing without obvious reasons


Author
Message
pinguin
pinguin
New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)
Group: Forum Members
Posts: 3, Visits: 9
Dear Inquisit Community,

we want to deploy a cognitive test battery via tablets.

The tests contain audio instructions using .mp3 files.

We have done this several times in the past so far and it has always worked without problems. Of course we have now adapted our programming, which is why we need to test it again.

Some basic information:

- The inquisit scripts are called by a batch (a total of 14 scripts)
- The test battery shall be made available on the tablets for offline use.
- All in all, a single test sessions lasts about 60min.
- We have tested the scripts extensively on our computers, everything works fine.
- We are using various kinds of tablets and both Android and iPadOS.

Right now, we wanted to start a testing phase switching from computers to our tablets, in order to make sure that everything works there as intended. We are right now using the online mode to run the tests.

However, we are currently experiencing repeated abortions of the test battery.

On Android tablets, it does not even finish the first script and aborts really early.
On iPads, the app once told us, that some „.mp3“ files would not be supported on this device and it stopped working during the third script. In another instance, I was able to get until script six and it was aborted afterwards.

The error messages typically are: „Inquisit encountered an error while executing script penguin_debug_v1“. without any further specifications. Once, the app just crashed, without any further notice.

Is there anything we can do about this? I am wondering whether we are asking too much of the app. All in all, our files amount to 66.3MB. We must ensure that the test battery does not get randomly aborted.

Here is the link to the test battery: https://mili2nd.co/z4gc

Any hints would be much appreciated!

In addition to that, I was wondering whether there is some AppConfig Profile available that would help us to make the tests offline available centrally (e.g. via a Configuration Profile of JAMF)

Best,

pinguin
pinguin
pinguin
New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)
Group: Forum Members
Posts: 3, Visits: 9
P.S. When running the monkey through the batch on the computer, everything works as intended. I am really thinking this is an issue of deploying the tests via the app. 
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 102K
pinguin - 8/14/2024
P.S. When running the monkey through the batch on the computer, everything works as intended. I am really thinking this is an issue of deploying the tests via the app. 

Typically issues like these indicate your tablets are running out of available memory (RAM) mid-task at some point. Check the on-device log files (Player app -> Tests tab -> Log in the upper right corner), which have a record of memory available on app startup. What vaiues do you typically see there on the varous tablets?

Free up as much RAM as possible on the devices, i.e. close down any other apps, reboot devices regularly.

Take steps to reduce memory consumption of your scripts.

pinguin
pinguin
New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)New Member (8 reputation)
Group: Forum Members
Posts: 3, Visits: 9
Hi Dave. Thanks for your prompt reply. This is what I feared.

On the iPad it says: MemAvail=98352  MemTotal=2444560

Additionally, the log of the iPad states „Received iOS Memory Warning!!!“

So yes, it seems like a RAM problem.

We have now tested it on other devices as well; an iPad Air 2023, where it worked perfectly. And another Android tablet (Samsung Galaxy A7), where it also worked.

Apart from closing down apps and rebooting the devices regularly; do you have any other recommendations that we could implement into our scripts? Is there something similar like a garbage collector that we could apply?

Best,

pinguin
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 102K
pinguin - 8/14/2024
Hi Dave. Thanks for your prompt reply. This is what I feared.

On the iPad it says: MemAvail=98352  MemTotal=2444560

Additionally, the log of the iPad states „Received iOS Memory Warning!!!“

So yes, it seems like a RAM problem.

We have now tested it on other devices as well; an iPad Air 2023, where it worked perfectly. And another Android tablet (Samsung Galaxy A7), where it also worked.

Apart from closing down apps and rebooting the devices regularly; do you have any other recommendations that we could implement into our scripts? Is there something similar like a garbage collector that we could apply?

Best,

pinguin

Yeah, you're definitely running into RAM issues. The tablets simply don't have enough RAM available to stably and reliably run these scripts.

Rough estimates based on a few preliminary tests:
- For the binding and positioning scripts, overall RAM demand is on the order of 800 MB. So a device will have to have that available to execute these scripts plus some extra slack for the rest of the system.
- RAM demand for the _gc scripts is drastically higher, on the order of 1.6 GB. This is due to the sheer amount of stimuli involved: Well over 1000 individual images, hundreds of audio files. Short of cutting the amount of stimuli involved down drastically, you won't bring that down to a level your available tablets will be able to execute reliably.

The > 1000 images alone will cause close to 1GB of RAM usage when they are parsed into memory at script startup.

There's no garbage collector you can trigger programmatically. Inquisit deallocates memory automatically, and overall memory management is done by the operating system.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search