"Unfortunately, ODK Collect has stopped"

Hi,

I have a rather lengthy and complicated xml form (attached). I loaded it onto ODK Collect and it worked fine, but every time I try to open the blank form now, I get a message that says "Unfortunately, ODK COllect has stopped". Is this because the file is too large? Any advice would be appreciated.

Thanks!
Alison

iifipv_9152012.xml (557 KB)

Sorry, I downloaded aLogcat and am attaching the log here.

~Alison

errorlog.txt (64.3 KB)

··· On Monday, September 24, 2012 9:06:44 AM UTC+5:45, Alison wrote: > Hi, > > I have a rather lengthy and complicated xml form (attached). I loaded it onto ODK Collect and it worked fine, but every time I try to open the blank form now, I get a message that says "Unfortunately, ODK COllect has stopped". Is this because the file is too large? Any advice would be appreciated. > > Thanks! > Alison

Hi Alison,
I haven't run into that before. It always seems to be the programming on my side that causes the issue. I have had forms with over 3,000 fields go into odk collect and be ok. If you haven't already,try splitting it up a chunk at a time and see what is and isn't working.
Brian Dyer

··· On Sep 23, 2012, at 11:21 PM, Alison wrote:

Hi,

I have a rather lengthy and complicated xml form (attached). I loaded it onto ODK Collect and it worked fine, but every time I try to open the blank form now, I get a message that says "Unfortunately, ODK COllect has stopped". Is this because the file is too large? Any advice would be appreciated.

Thanks!
Alison

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en
<iifipv_9152012.xml>

Hi Mitch

I have a complicated xml form (attached). I loaded it onto ODK Collect and I get a message that says "Unfortunately, ODK Collect has stopped". What could be the issue with it.

Thanks

ibbss_fsw_french.xlsx (59.6 KB)

ibbss_fsw_french.xml (478 KB)

··· On Monday, September 24, 2012 6:21:44 AM UTC+3, Alison wrote: > Hi, > > I have a rather lengthy and complicated xml form (attached). I loaded it onto ODK Collect and it worked fine, but every time I try to open the blank form now, I get a message that says "Unfortunately, ODK COllect has stopped". Is this because the file is too large? Any advice would be appreciated. > > Thanks! > Alison

The error of significance is:

E/AndroidRuntime( 3737): at java.lang.Thread.run(Thread.java:856)
E/AndroidRuntime( 3737): Caused by: java.lang.StackOverflowError
E/AndroidRuntime( 3737): at
dalvik.system.BlockGuard.getThreadPolicy(BlockGuard.java:140)
E/AndroidRuntime( 3737): at libcore.io.BlockGuardOs.read(BlockGuardOs.java:148)
E/AndroidRuntime( 3737): at libcore.io.IoBridge.read(IoBridge.java:422)
E/AndroidRuntime( 3737): at
java.io.FileInputStream.read(FileInputStream.java:179)

In particular, the "StackOverflowError" mentioned above -- Android has a
rather tight limit on the size of the "execution stack". This restricts
the complexity of expressions (relevant="...", calculate="...', etc.) that
you can use (the execution stack is used to remember where you are during
the evaluation of an expression). From other forms with similar problems,
it appears that this limits expressions to about 50 comparison tests.
Beyond that, you are increasingly likely to run into this
StackOverflowError.

In this case, it is highly likely that the relevant="..." condition for
'/iifipv_9152012/met/compvisit/iifcont/doipv/ipv/ipend"
is too complex to handle as-is.

An easy solution for this is to define one or more form fields that compute
a portion of the relevant condition. Then use those intermediate values in
the final relevant condition.

Mitch

··· On Mon, Sep 24, 2012 at 5:58 AM, Brian Dyer wrote:

Hi Alison,
I haven't run into that before. It always seems to be the programming on
my side that causes the issue. I have had forms with over 3,000 fields go
into odk collect and be ok. If you haven't already,try splitting it up a
chunk at a time and see what is and isn't working.
Brian Dyer

On Sep 23, 2012, at 11:21 PM, Alison alison.connor@gmail.com wrote:

Hi,

I have a rather lengthy and complicated xml form (attached). I loaded it
onto ODK Collect and it worked fine, but every time I try to open the blank
form now, I get a message that says "Unfortunately, ODK COllect has
stopped". Is this because the file is too large? Any advice would be
appreciated.

Thanks!
Alison

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en
<iifipv_9152012.xml>

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

Juma,

I used a log capture tool on the phone (how to at
https://code.google.com/p/opendatakit/wiki/CollectTroubleshooting) and
saw this error.

E/FormController(32062): Only questions are allowed in 'field-list'.
Bad node is: /ibbss_fsw_french/gr1/gr901

I haven't looked closely, but it looks like your form has a group
gr901 that you open at line 22, but never close. Try fixing that and
see if that works better.

Yaw

··· -- Need ODK services? http://nafundi.com provides form design, server setup, professional support, and software development for ODK.

On Sun, Feb 9, 2014 at 11:10 PM, Juma Denice denicejuma@gmail.com wrote:

On Monday, September 24, 2012 6:21:44 AM UTC+3, Alison wrote:

Hi,

I have a rather lengthy and complicated xml form (attached). I loaded it onto ODK Collect and it worked fine, but every time I try to open the blank form now, I get a message that says "Unfortunately, ODK COllect has stopped". Is this because the file is too large? Any advice would be appreciated.

Thanks!
Alison

Hi Mitch

I have a complicated xml form (attached). I loaded it onto ODK Collect and I get a message that says "Unfortunately, ODK Collect has stopped". What could be the issue with it.

Thanks

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups "ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Thanks so much. That is a huge help - I appreciate it!

··· On Monday, September 24, 2012 10:27:59 PM UTC+5:45, Mitch wrote: > > The error of significance is: > > E/AndroidRuntime( 3737): at java.lang.Thread.run(Thread.java:856) > E/AndroidRuntime( 3737): Caused by: java.lang.StackOverflowError > E/AndroidRuntime( 3737): at dalvik.system.BlockGuard.getThreadPolicy(BlockGuard.java:140) > E/AndroidRuntime( 3737): at libcore.io.BlockGuardOs.read(BlockGuardOs.java:148) > E/AndroidRuntime( 3737): at libcore.io.IoBridge.read(IoBridge.java:422) > E/AndroidRuntime( 3737): at java.io.FileInputStream.read(FileInputStream.java:179) > > In particular, the "StackOverflowError" mentioned above -- Android has a > rather tight limit on the size of the "execution stack". This restricts > the complexity of expressions (relevant="...", calculate="...', etc.) that > you can use (the execution stack is used to remember where you are during > the evaluation of an expression). From other forms with similar problems, > it appears that this limits expressions to about 50 comparison tests. > Beyond that, you are increasingly likely to run into this > StackOverflowError. > > In this case, it is highly likely that the relevant="..." condition for > '/iifipv_9152012/met/compvisit/iifcont/doipv/ipv/ipend" > is too complex to handle as-is. > > An easy solution for this is to define one or more form fields that > compute a portion of the relevant condition. Then use those intermediate > values in the final relevant condition. > > Mitch > > On Mon, Sep 24, 2012 at 5:58 AM, Brian Dyer <bdy...@gmail.com wrote: > >> Hi Alison, >> I haven't run into that before. It always seems to be the programming on >> my side that causes the issue. I have had forms with over 3,000 fields go >> into odk collect and be ok. If you haven't already,try splitting it up a >> chunk at a time and see what is and isn't working. >> Brian Dyer >> >> On Sep 23, 2012, at 11:21 PM, Alison <alison...@gmail.com > wrote: >> >> > Hi, >> > >> > I have a rather lengthy and complicated xml form (attached). I loaded >> it onto ODK Collect and it worked fine, but every time I try to open the >> blank form now, I get a message that says "Unfortunately, ODK COllect has >> stopped". Is this because the file is too large? Any advice would be >> appreciated. >> > >> > Thanks! >> > Alison >> > >> > -- >> > Post: opend...@googlegroups.com >> > Unsubscribe: opendatakit...@googlegroups.com >> > Options: http://groups.google.com/group/opendatakit?hl=en >> > >> >> -- >> Post: opend...@googlegroups.com >> Unsubscribe: opendatakit...@googlegroups.com >> Options: http://groups.google.com/group/opendatakit?hl=en >> > > > > -- > Mitch Sundt > Software Engineer > University of Washington > mitche...@gmail.com >

I've created a bug report for ODK Validate for this
http://code.google.com/p/opendatakit/issues/detail?id=973

ODK Validate should warn that this is a badly constructed form, but it does
not.

··· On Tue, Feb 11, 2014 at 9:28 AM, Yaw Anokwa wrote:

Juma,

I used a log capture tool on the phone (how to at
https://code.google.com/p/opendatakit/wiki/CollectTroubleshooting) and
saw this error.

E/FormController(32062): Only questions are allowed in 'field-list'.
Bad node is: /ibbss_fsw_french/gr1/gr901

I haven't looked closely, but it looks like your form has a group
gr901 that you open at line 22, but never close. Try fixing that and
see if that works better.

Yaw

Need ODK services? http://nafundi.com provides form design, server
setup, professional support, and software development for ODK.

On Sun, Feb 9, 2014 at 11:10 PM, Juma Denice denicejuma@gmail.com wrote:

On Monday, September 24, 2012 6:21:44 AM UTC+3, Alison wrote:

Hi,

I have a rather lengthy and complicated xml form (attached). I loaded
it onto ODK Collect and it worked fine, but every time I try to open the
blank form now, I get a message that says "Unfortunately, ODK COllect has
stopped". Is this because the file is too large? Any advice would be
appreciated.

Thanks!
Alison

Hi Mitch

I have a complicated xml form (attached). I loaded it onto ODK Collect
and I get a message that says "Unfortunately, ODK Collect has stopped".
What could be the issue with it.

Thanks

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google
Groups "ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com