couchbaselabs / TouchDB-Android

CouchDB-compatible mobile database; Android version

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Indexing / Querying explosion

dwt opened this issue · comments

While running a query against a js view I've got this exception in log cat

W/System.err(29033): RHINO USAGE WARNING: Missed Context.javaToJS() conversion:
W/System.err(29033): Rhino runtime detected object [bd89e0edcdb79f372c38664b77711f05, bd89e0edcdb79f372c38664b778aebab] of class java.util.ArrayList where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.
D/dalvikvm(29033): GC_CONCURRENT freed 490K, 53% free 13402K/28359K, paused 2ms+5ms
D/dalvikvm(29033): GC_CONCURRENT freed 429K, 53% free 13484K/28359K, paused 3ms+9ms
D/dalvikvm(29033): GC_CONCURRENT freed 498K, 53% free 13490K/28359K, paused 2ms+5ms
I/dalvikvm(29033): threadid=11: stack overflow on call to Lorg/mozilla/javascript/ScriptableObject;.getIds:LZ
I/dalvikvm(29033):   method requires 44+20+20=84 bytes, fp is 0x50f0834c (76 left)
I/dalvikvm(29033):   expanding stack end (0x50f08300 to 0x50f08000)
I/dalvikvm(29033): Shrank stack (to 0x50f08300, curFrame is 0x50f083b0)
I/dalvikvm(29033): threadid=11: stack overflow on call to Ljava/util/AbstractCollection;.<init>:V
I/dalvikvm(29033):   method requires 4+20+4=28 bytes, fp is 0x50f08308 (8 left)
I/dalvikvm(29033):   expanding stack end (0x50f08300 to 0x50f08000)
I/dalvikvm(29033): Shrank stack (to 0x50f08300, curFrame is 0x50f083ac)
I/dalvikvm(29033): threadid=11: stack overflow on call to Ljava/lang/BootClassLoader;.getInstance:L
I/dalvikvm(29033):   method requires 8+20+4=32 bytes, fp is 0x50f08318 (24 left)
I/dalvikvm(29033):   expanding stack end (0x50f08300 to 0x50f08000)
I/dalvikvm(29033): Shrank stack (to 0x50f08300, curFrame is 0x50f0837c)
I/dalvikvm(29033): threadid=11: stack overflow on call to Ljava/lang/Throwable;.<init>:V
I/dalvikvm(29033):   method requires 8+20+4=32 bytes, fp is 0x50f08318 (24 left)
I/dalvikvm(29033):   expanding stack end (0x50f08300 to 0x50f08000)
I/dalvikvm(29033): Shrank stack (to 0x50f08300, curFrame is 0x50f08380)
W/dalvikvm(29033): Exception thrown (Ljava/lang/StackOverflowError;) while throwing internal exception (Ljava/lang/NoClassDefFoundError;)
W/dalvikvm(29033): Unable to resolve superclass of Lorg/codehaus/jackson/map/JsonMappingException; (888)
W/dalvikvm(29033): Link of class 'Lorg/codehaus/jackson/map/JsonMappingException;' failed
W/TDDatabase(29033): Failed to rebuild view catalog/eventsByCategory: 500
V/TDDatabase(29033): CANCEL transaction (level 1)...
D/dalvikvm(29033): GC_CONCURRENT freed 493K, 53% free 13509K/28359K, paused 2ms+4ms
E/TDDatabase(29033): Exception in TDRouter
E/TDDatabase(29033): java.lang.reflect.InvocationTargetException
E/TDDatabase(29033):    at java.lang.reflect.Method.invokeNative(Native Method)
E/TDDatabase(29033):    at java.lang.reflect.Method.invoke(Method.java:511)
E/TDDatabase(29033):    at com.couchbase.touchdb.router.TDRouter.start(TDRouter.java:367)
E/TDDatabase(29033):    at com.couchbase.touchdb.listener.TDHTTPServlet$2.run(TDHTTPServlet.java:143)
E/TDDatabase(29033):    at android.os.Handler.handleCallback(Handler.java:605)
E/TDDatabase(29033):    at android.os.Handler.dispatchMessage(Handler.java:92)
E/TDDatabase(29033):    at android.os.Looper.loop(Looper.java:137)
E/TDDatabase(29033):    at android.os.HandlerThread.run(HandlerThread.java:60)
E/TDDatabase(29033): Caused by: java.lang.NoClassDefFoundError: org/codehaus/jackson/map/JsonMappingException
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:164)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serializeFields(MapSerializer.java:262)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:186)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serializeFields(MapSerializer.java:262)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:186)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serializeFields(MapSerializer.java:262)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:186)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:23)
E/TDDatabase(29033):    at org.codehaus.jackson.map.ser.BeanPro

the js view was:

function(doc) {
  if ('event' === doc.collection
      && 'Session Event' !== doc.type
  ) {
    if (doc.categories) {
      for (i in doc.categories) {
        emit(doc.categories[i], doc);
      }
    }
    else {
      emit(doc.category, doc);
    }
  }
}

Check to see that you have jackson-mapper available at runtime.

I'm checking. I'd like to note however that other views work fine.

Yeah, it looks like maybe the code generated by Rhino has some problems. Can you give me a sample document to test the view with?

Another data point: I can instantiate the class in question in the app, so it should be available.

I've sent you an example by email.

On trying this again, I now get a different error:


W/System.err(11528): RHINO USAGE WARNING: Missed Context.javaToJS() conversion:
W/System.err(11528): Rhino runtime detected object [bd89e0edcdb79f372c38664b77711f05, bd89e0edcdb79f372c38664b778aebab] of class java.util.ArrayList where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.
D/dalvikvm(11528): GC_CONCURRENT freed 414K, 22% free 13417K/17095K, paused 3ms+4ms
D/dalvikvm(11528): GC_CONCURRENT freed 479K, 22% free 13446K/17095K, paused 2ms+4ms
I/dalvikvm(11528): threadid=11: stack overflow on call to Lorg/mozilla/javascript/ScriptableObject;.getIds:LZ
I/dalvikvm(11528):   method requires 44+20+20=84 bytes, fp is 0x50f0834c (76 left)
I/dalvikvm(11528):   expanding stack end (0x50f08300 to 0x50f08000)
I/dalvikvm(11528): Shrank stack (to 0x50f08300, curFrame is 0x50f083b0)
I/dalvikvm(11528): threadid=11: stack overflow on call to Ljava/util/AbstractCollection;.<init>:V
I/dalvikvm(11528):   method requires 4+20+4=28 bytes, fp is 0x50f08308 (8 left)
I/dalvikvm(11528):   expanding stack end (0x50f08300 to 0x50f08000)
I/dalvikvm(11528): Shrank stack (to 0x50f08300, curFrame is 0x50f083ac)
D/dalvikvm(11528): GC_CONCURRENT freed 452K, 22% free 13481K/17095K, paused 3ms+4ms
E/TDDatabase(11528): Error emitting
E/TDDatabase(11528): org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeJavaMethod["parentScope"]->org.mozilla.javascript.NativeObject["map_results"]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.NativeArray[0]->org.mozilla.javascript.Native

This one is nasty as it seems to happen inside an endless loop.

I believe I fixed the problem. We were not properly wrapping list objects when they got passed to Rhino.

70d89ec

Looks good! I'll give this a shot on thursday. :)

Well, the app seems to index correctly, but I'm still getting errors like this in log cat:

07-04 10:52:36.894: W/System.err(10895): RHINO USAGE WARNING: Missed Context.javaToJS() conversion:
07-04 10:52:36.894: W/System.err(10895): Rhino runtime detected object [bd89e0edcdb79f372c38664b77711f05, bd89e0edcdb79f372c38664b778ad855] of class java.util.ArrayList where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.

Confirmed I still see this warning too. I will look into it.

And another one just popped up here during indexing:


07-18 17:18:07.545: W/CursorWindow(4755): Window is full: requested allocation 315 bytes, free space 44 bytes, window size 2097152 bytes
07-18 17:18:07.615: V/TDDatabase(4755):   call map for sequence=1
07-18 17:18:07.623: W/System.err(4755): RHINO USAGE WARNING: Missed Context.javaToJS() conversion:
07-18 17:18:07.623: W/System.err(4755): Rhino runtime detected object [288b28e4b3b5d1c4214fd79875278a5c] of class java.util.ArrayList where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.
07-18 17:18:07.740: D/dalvikvm(4755): GC_CONCURRENT freed 402K, 63% free 14027K/37831K, paused 2ms+10ms
07-18 17:18:07.771: W/TDDatabase(4755): Failed to rebuild view catalog/productsByExhibitor: 500
07-18 17:18:07.771: V/TDDatabase(4755): CANCEL transaction (level 1)...
07-18 17:18:07.787: E/TDDatabase(4755): Exception in TDRouter
07-18 17:18:07.787: E/TDDatabase(4755): java.lang.reflect.InvocationTargetException
07-18 17:18:07.787: E/TDDatabase(4755):     at java.lang.reflect.Method.invokeNative(Native Method)
07-18 17:18:07.787: E/TDDatabase(4755):     at java.lang.reflect.Method.invoke(Method.java:511)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.couchbase.touchdb.router.TDRouter.start(TDRouter.java:390)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.couchbase.touchdb.ektorp.TouchDBHttpClient.executeRequest(TouchDBHttpClient.java:191)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.couchbase.touchdb.ektorp.TouchDBHttpClient.get(TouchDBHttpClient.java:68)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.couchbase.touchdb.ektorp.TouchDBHttpClient.getUncached(TouchDBHttpClient.java:76)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.ektorp.http.RestTemplate.getUncached(RestTemplate.java:26)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.ektorp.impl.StdCouchDbConnector.executeQuery(StdCouchDbConnector.java:410)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.ektorp.impl.StdCouchDbConnector.queryView(StdCouchDbConnector.java:449)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.insideguidance.android.TouchDBRunner.updateAllIndexesInDesignDocument(TouchDBRunner.java:153)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.insideguidance.android.InsideMobileActivity$1.doInBackground(InsideMobileActivity.java:65)
07-18 17:18:07.787: E/TDDatabase(4755):     at android.os.AsyncTask$2.call(AsyncTask.java:264)
07-18 17:18:07.787: E/TDDatabase(4755):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
07-18 17:18:07.787: E/TDDatabase(4755):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-18 17:18:07.787: E/TDDatabase(4755):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-18 17:18:07.787: E/TDDatabase(4755):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-18 17:18:07.787: E/TDDatabase(4755):     at java.lang.Thread.run(Thread.java:856)
07-18 17:18:07.787: E/TDDatabase(4755): Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot call property forEach in object null. It is not a function, it is "undefined". (map#3)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3785)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3763)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3791)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ScriptRuntime.typeError3(ScriptRuntime.java:3817)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3884)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2360)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2327)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1514)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3178)
07-18 17:18:07.787: E/TDDatabase(4755):     at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.couchbase.touchdb.javascript.TDViewMapBlockRhino.map(TDJavaScriptViewCompiler.java:81)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.couchbase.touchdb.TDView.updateIndex(TDView.java:376)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.couchbase.touchdb.router.TDRouter.queryDesignDoc(TDRouter.java:1366)
07-18 17:18:07.787: E/TDDatabase(4755):     at com.couchbase.touchdb.router.TDRouter.do_GET_DesignDocument(TDRouter.java:1398)
07-18 17:18:07.787: E/TDDatabase(4755):     ... 17 more
07-18 17:18:07.842: W/dalvikvm(4755): threadid=11: thread exiting with uncaught exception (group=0x40a451f8)
07-18 17:18:07.857: E/AndroidRuntime(4755): FATAL EXCEPTION: AsyncTask #1
07-18 17:18:07.857: E/AndroidRuntime(4755): java.lang.RuntimeException: An error occured while executing doInBackground()
07-18 17:18:07.857: E/AndroidRuntime(4755):     at android.os.AsyncTask$3.done(AsyncTask.java:278)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at java.lang.Thread.run(Thread.java:856)
07-18 17:18:07.857: E/AndroidRuntime(4755): Caused by: org.ektorp.DbAccessException: com.couchbase.touchdb.ektorp.TouchDBHttpResponse@41714468
07-18 17:18:07.857: E/AndroidRuntime(4755): URI: touchdb:///artbasel/_design/catalog/_view/productsByExhibitor?key=%22non+existant+key+to+block+json+un-%2F+serialization%22
07-18 17:18:07.857: E/AndroidRuntime(4755): Response Body: 
07-18 17:18:07.857: E/AndroidRuntime(4755): null
07-18 17:18:07.857: E/AndroidRuntime(4755):     at org.ektorp.http.StdResponseHandler.createDbAccessException(StdResponseHandler.java:44)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at org.ektorp.http.StdResponseHandler.error(StdResponseHandler.java:62)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at org.ektorp.http.RestTemplate.handleResponse(RestTemplate.java:107)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at org.ektorp.http.RestTemplate.getUncached(RestTemplate.java:27)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at org.ektorp.impl.StdCouchDbConnector.executeQuery(StdCouchDbConnector.java:410)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at org.ektorp.impl.StdCouchDbConnector.queryView(StdCouchDbConnector.java:449)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at com.insideguidance.android.TouchDBRunner.updateAllIndexesInDesignDocument(TouchDBRunner.java:153)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at com.insideguidance.android.InsideMobileActivity$1.doInBackground(InsideMobileActivity.java:65)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at android.os.AsyncTask$2.call(AsyncTask.java:264)
07-18 17:18:07.857: E/AndroidRuntime(4755):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
07-18 17:18:07.857: E/AndroidRuntime(4755):     ... 4 more
07-18 17:18:07.881: D/dalvikvm(4755): GC_CONCURRENT freed 680K, 64% free 13749K/37831K, paused 2ms+3ms
07-18 17:18:08.654: E/WindowManager(4755): Activity com.insideguidance.android.InsideMobileActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@416bb300 that was originally added here
07-18 17:18:08.654: E/WindowManager(4755): android.view.WindowLeaked: Activity com.insideguidance.android.InsideMobileActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@416bb300 that was originally added here
07-18 17:18:08.654: E/WindowManager(4755):  at android.view.ViewRootImpl.<init>(ViewRootImpl.java:344)
07-18 17:18:08.654: E/WindowManager(4755):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:267)
07-18 17:18:08.654: E/WindowManager(4755):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
07-18 17:18:08.654: E/WindowManager(4755):  at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
07-18 17:18:08.654: E/WindowManager(4755):  at android.view.Window$LocalWindowManager.addView(Window.java:537)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.Dialog.show(Dialog.java:278)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.ProgressDialog.show(ProgressDialog.java:116)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.ProgressDialog.show(ProgressDialog.java:99)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.ProgressDialog.show(ProgressDialog.java:94)
07-18 17:18:08.654: E/WindowManager(4755):  at com.insideguidance.android.SplashScreenPresenter.show(SplashScreenPresenter.java:16)
07-18 17:18:08.654: E/WindowManager(4755):  at com.insideguidance.android.InsideMobileActivity.showSplashScreen(InsideMobileActivity.java:88)
07-18 17:18:08.654: E/WindowManager(4755):  at com.insideguidance.android.InsideMobileActivity.launchApplication(InsideMobileActivity.java:40)
07-18 17:18:08.654: E/WindowManager(4755):  at com.insideguidance.android.InsideMobileActivity.onCreate(InsideMobileActivity.java:32)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.Activity.performCreate(Activity.java:4465)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
07-18 17:18:08.654: E/WindowManager(4755):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-18 17:18:08.654: E/WindowManager(4755):  at android.os.Looper.loop(Looper.java:137)
07-18 17:18:08.654: E/WindowManager(4755):  at android.app.ActivityThread.main(ActivityThread.java:4424)
07-18 17:18:08.654: E/WindowManager(4755):  at java.lang.reflect.Method.invokeNative(Native Method)
07-18 17:18:08.654: E/WindowManager(4755):  at java.lang.reflect.Method.invoke(Method.java:511)
07-18 17:18:08.654: E/WindowManager(4755):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-18 17:18:08.654: E/WindowManager(4755):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-18 17:18:08.654: E/WindowManager(4755):  at dalvik.system.NativeStart.main(Native Method)