Helping my kid have a functional MIT AI2 learning setup based on Kubuntu (Ubuntu spinoff based on KDE desktop) Linux. This being a modern 64-bit system, I had to do some work to get the 32-bit emulator working. When I connect to the Emulator, the Emulator loads up fine, and then the Companion app also startup, and it says something like it is waiting to load the blocks, after which it turns into white screen with none of the components or the app show.
Based on this other older thread (Blank screen when emulator starts (LINUX)), I ran adb logcat
and see some errors which might indicate missing components, and/or an out-of-memory error. Wondering if anyone can help figure out what's going on and what I should do to get this emulator working as expected ? adb logcat
output:
I/global ( 280): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
D/AppInvHTTPD( 280): POST '/_values'
D/AppInvHTTPD( 280): POST '/_newblocks'
D/AppInvHTTPD( 280): Incoming Mac = deb8c35ac312c2dee2d3935d67af045fed45573c
D/AppInvHTTPD( 280): Computed Mac = deb8c35ac312c2dee2d3935d67af045fed45573c
D/AppInvHTTPD( 280): Incoming seq = 116
D/AppInvHTTPD( 280): Computed seq = 116
D/AppInvHTTPD( 280): blockid = -2
D/AppInvHTTPD( 280): To Eval: (begin (require <com.google.youngandroid.runtime>) (process-repl-input -2 (begin (try-catch (let ((attempt (delay (set-form-name "Screen1")))) (force attempt)) (exception java.lang.Throwable 'notfound))(do-after-form-creation (set-and-coerce-property! 'Screen1 'AboutScreen "Test app" 'text)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'ActionBar #t 'boolean)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'AppName "Test" 'text)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'ScreenOrientation "unspecified" 'text)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'ShowListsAsJson #t 'boolean)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'Sizing "Responsive" 'text)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'Title "Login Screen" 'text)
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component Screen1 com.google.appinventor.components.runtime.VerticalArrangement VerticalArrangement1
D/AppInvHTTPD( 280): (set-and-coerce-property! 'VerticalArrangement1 'Height -2 'number)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (set-and-coerce-property! 'VerticalArrangement1 'Width -2 'number)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.Label Label1
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Label1 'Text "Login username" 'text)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.TextBox username
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.Label Label2
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Label2 'Text "Password" 'text)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.PasswordTextBox password
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.Button Button1
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Button1 'Text "Login" 'text)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component Screen1 com.google.appinventor.components.runtime.TinyDB TinyDB1
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280): (init-runtime)(define-event Button1 Click()(set-this-form)
D/AppInvHTTPD( 280): (call-component-method 'TinyDB1 'StoreValue (list-for-runtime "greeting_text" (get-property 'username 'Text)) '(text any))(call-yail-primitive open-another-screen (list-for-runtime "LoggedIn") '(text) "open another screen"))(call-Initialize-of-components 'Screen1 'VerticalArrangement1 'Label1 'username 'Label2 'password 'Button1 'TinyDB1) )))
I/dalvikvm-heap( 280): Clamp target GC heap from 16.503MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 35842 objects / 1515880 bytes in 196ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.511MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 44599 objects / 1496832 bytes in 186ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.550MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 4926 objects / 258368 bytes in 183ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.567MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 126 objects / 102688 bytes in 169ms
E/AppInvHTTPD( 280): newblocks: Scheme Failure
E/AppInvHTTPD( 280): java.lang.RuntimeException: invalid syntax in eval form:
E/AppInvHTTPD( 280): :10:1: caught exception in inliner for # - java.lang.RuntimeException: no such class: com.google.appinventor.components.runtime.com.google.appinventor.components.runtime.VerticalArrangement
E/AppInvHTTPD( 280): gnu.bytecode.ObjectType.getReflectClass(ObjectType.java:148)
E/AppInvHTTPD( 280): gnu.bytecode.ClassType.getModifiers(ClassType.java:103)
E/AppInvHTTPD( 280): gnu.bytecode.ClassType.isInterface(ClassType.java:471)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.checkType(InlineCalls.java:56)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:49)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitSetExpValue(InlineCalls.java:363)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitSetExpValue(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visitSetExp(ExpVisitor.java:114)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitSetExp(InlineCalls.java:369)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitSetExp(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.SetExp.visit(SetExp.java:406)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visit(ExpVisitor.java:55)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:46)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:272)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.BeginExp.visit(BeginExp.java:156)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visit(ExpVisitor.java:51)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:46)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:272)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.BeginExp.visit(BeginExp.java:156)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visit(ExpVisitor.java:51)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:46)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:317)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.LetExp.visit(LetExp.java:207)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visit(ExpVisitor.java:51)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:46)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.LambdaExp.visitChildrenOnly(LambdaExp.java:1664)
E/AppInvHTTPD( 280): gnu.expr.LambdaExp.visitChildren(LambdaExp.java:1651)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitScopeExp(InlineCalls.java:279)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:349)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.LambdaExp.visit(LambdaExp.java:1640)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visit(ExpVisitor.java:55)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:46)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visitAndUpdate(ExpVisitor.java:162)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visitExps(ExpVisitor.java:176)
E/AppInvHTTPD( 280): gnu.expr.ApplyExp.visitArgs(ApplyExp.java:416)
E/AppInvHTTPD( 280): gnu.kawa.reflect.CompileInvoke.validateApplyInvoke(CompileInvoke.java:23)
E/AppInvHTTPD( 280): java.lang.reflect.Method.invokeNative(Native Method)
E/AppInvHTTPD( 280): java.lang.reflect.Method.invoke(Method.java:521)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.maybeInline(InlineCalls.java:467)
E/AppInvHTTPD( 280): gnu.expr.QuoteExp.validateApply(QuoteExp.java:150)
E/AppInvHTTPD( 280): gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:191)
E/AppInvHTTPD( 280): gnu.kawa.functions.CompilationHelpers.validateApplyToArgs(CompilationHelpers.java:66)
E/AppInvHTTPD( 280): java.lang.reflect.Method.invokeNative(Native Method)
E/AppInvHTTPD( 280): java.lang.reflect.Method.invoke(Method.java:521)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.maybeInline(InlineCalls.java:467)
E/AppInvHTTPD( 280): gnu.expr.QuoteExp.validateApply(QuoteExp.java:150)
E/AppInvHTTPD( 280): gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:191)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:119)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:28)
E/AppInvHTTPD( 280): gnu.expr.ApplyExp.visit(ApplyExp.java:411)
E/AppInvHTTPD( 280): gnu.expr.ExpVisitor.visit(ExpVisitor.java:55)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.visit(InlineCalls.java:46)
E/AppInvHTTPD( 280): gnu.expr.QuoteExp.validateApply(QuoteExp.java:162)
E/AppInvHTTPD( 280): gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:191)
E/AppInvHTTPD( 280): gnu.kawa.functions.CompilationHelpers.validateApplyToArgs(CompilationHelpers.java:66)
E/AppInvHTTPD( 280): java.lang.reflect.Method.invokeNative(Native Method)
E/AppInvHTTPD( 280): java.lang.reflect.Method.invoke(Method.java:521)
E/AppInvHTTPD( 280): gnu.expr.InlineCalls.maybeInline(InlineCalls.java:467)
E/AppInvHTTPD( 280): gnu.expr.QuoteExp.validateApply(QuoteExp.java:150)
E/AppInvHTTPD( 280): gnu.expr.ReferenceExp.validateApply(ReferenceExp.ja
I/dalvikvm-heap( 280): Clamp target GC heap from 16.553MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 265 objects / 147936 bytes in 230ms
W/System.err( 280): NanoHTTPD: getPoolSize() = 2
W/System.err( 280): NanoHTTPD: getPoolSize() = 2
I/dalvikvm-heap( 280): Clamp target GC heap from 16.399MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 369 objects / 217360 bytes in 199ms
I/global ( 280): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
I/global ( 280): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
D/AppInvHTTPD( 280): POST '/_values'
I/global ( 280): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
I/global ( 280): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
D/AppInvHTTPD( 280): POST '/_newblocks'
D/AppInvHTTPD( 280): Incoming Mac = 0c19067f6fedc5468a2df15868daff06f764d492
D/AppInvHTTPD( 280): Computed Mac = 0c19067f6fedc5468a2df15868daff06f764d492
D/AppInvHTTPD( 280): Incoming seq = 117
D/AppInvHTTPD( 280): Computed seq = 117
D/AppInvHTTPD( 280): blockid = -1
D/AppInvHTTPD( 280): To Eval: (begin (require <com.google.youngandroid.runtime>) (process-repl-input -1 (begin (clear-current-form) )))
W/System.err( 280): NanoHTTPD: getPoolSize() = 2
I/global ( 280): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
I/dalvikvm-heap( 280): Clamp target GC heap from 16.551MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 4113 objects / 240056 bytes in 162ms
I/global ( 280): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
D/AppInvHTTPD( 280): POST '/_newblocks'
D/AppInvHTTPD( 280): Incoming Mac = 12aa20d598a731e87031ff7e04223aebafbc725e
D/AppInvHTTPD( 280): Computed Mac = 12aa20d598a731e87031ff7e04223aebafbc725e
D/AppInvHTTPD( 280): Incoming seq = 118
D/AppInvHTTPD( 280): Computed seq = 118
D/AppInvHTTPD( 280): blockid = -2
D/AppInvHTTPD( 280): To Eval: (begin (require <com.google.youngandroid.runtime>) (process-repl-input -2 (begin (try-catch (let ((attempt (delay (set-form-name "Screen1")))) (force attempt)) (exception java.lang.Throwable 'notfound))(do-after-form-creation (set-and-coerce-property! 'Screen1 'AboutScreen "Test app" 'text)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'ActionBar #t 'boolean)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'AppName "Test" 'text)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'ScreenOrientation "unspecified" 'text)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'ShowListsAsJson #t 'boolean)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'Sizing "Responsive" 'text)
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Screen1 'Title "Login Screen" 'text)
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component Screen1 com.google.appinventor.components.runtime.VerticalArrangement VerticalArrangement1
D/AppInvHTTPD( 280): (set-and-coerce-property! 'VerticalArrangement1 'Height -2 'number)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (set-and-coerce-property! 'VerticalArrangement1 'Width -2 'number)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.Label Label1
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Label1 'Text "Login username" 'text)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.TextBox username
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.Label Label2
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Label2 'Text "Password" 'text)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.PasswordTextBox password
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component VerticalArrangement1 com.google.appinventor.components.runtime.Button Button1
D/AppInvHTTPD( 280): (set-and-coerce-property! 'Button1 'Text "Login" 'text)
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280):
D/AppInvHTTPD( 280): (add-component Screen1 com.google.appinventor.components.runtime.TinyDB TinyDB1
D/AppInvHTTPD( 280): )
D/AppInvHTTPD( 280): (init-runtime)(define-event Button1 Click()(set-this-form)
D/AppInvHTTPD( 280): (call-component-method 'TinyDB1 'StoreValue (list-for-runtime "greeting_text" (get-property 'username 'Text)) '(text any))(call-yail-primitive open-another-screen (list-for-runtime "LoggedIn") '(text) "open another screen"))(call-Initialize-of-components 'Screen1 'VerticalArrangement1 'Label1 'username 'Label2 'password 'Button1 'TinyDB1) )))
I/dalvikvm-heap( 280): Clamp target GC heap from 16.681MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 35562 objects / 1321976 bytes in 193ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.686MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 39163 objects / 1310288 bytes in 162ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.718MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 6200 objects / 271248 bytes in 150ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.729MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 45 objects / 31424 bytes in 146ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.735MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 5 objects / 24000 bytes in 156ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.725MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 15 objects / 34584 bytes in 149ms
I/dalvikvm-heap( 280): Clamp target GC heap from 16.749MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 3 objects / 104 bytes in 146ms
I/dalvikvm-heap( 280): Forcing collection of SoftReferences for 18100-byte allocation
I/dalvikvm-heap( 280): Clamp target GC heap from 16.547MB to 16.000MB
D/dalvikvm( 280): GC_FOR_MALLOC freed 4604 objects / 211032 bytes in 146ms
E/dalvikvm-heap( 280): Out of memory on a 18100-byte allocation.
I/dalvikvm( 280): "HTTPD Session" daemon prio=5 tid=9 RUNNABLE
I/dalvikvm( 280): | group="biggerstack" sCount=0 dsCount=0 s=N obj=0x43ffe448 self=0x26c0c8
I/dalvikvm( 280): | sysTid=288 nice=0 sched=0/0 cgrp=default handle=2540040
I/dalvikvm( 280): | schedstat=( 38833185576 4463613567 2405 )
I/dalvikvm( 280): at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:~97)
I/dalvikvm( 280): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:136)
I/dalvikvm( 280): at java.lang.StringBuffer.append(StringBuffer.java:274)
I/dalvikvm( 280): at java.io.StringWriter.write(StringWriter.java:138)
I/dalvikvm( 280): at java.io.PrintWriter.doWrite(PrintWriter.java:707)
I/dalvikvm( 280): at java.io.PrintWriter.write(PrintWriter.java:682)
I/dalvikvm( 280): at java.io.PrintWriter.write(PrintWriter.java:657)
I/dalvikvm( 280): at java.io.PrintWriter.write(PrintWriter.java:725)
I/dalvikvm( 280): at java.io.PrintWriter.print(PrintWriter.java:485)
I/dalvikvm( 280): at java.io.PrintWriter.println(PrintWriter.java:506)
I/dalvikvm( 280): at java.io.PrintWriter.println(PrintWriter.java:620)
I/dalvikvm( 280): at java.lang.Throwable.printStackTrace(Throwable.java:311)
I/dalvikvm( 280): at android.util.Log.getStackTraceString(Log.java:276)
I/dalvikvm( 280): at android.util.Log.e(Log.java:226)
I/dalvikvm( 280): at com.google.appinventor.components.runtime.util.AppInvHTTPD.serve(AppInvHTTPD.java:192)
I/dalvikvm( 280): at com.google.appinventor.components.runtime.util.NanoHTTPD$HTTPSession.run(NanoHTTPD.java:470)
I/dalvikvm( 280): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
I/dalvikvm( 280): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
I/dalvikvm( 280): at java.lang.Thread.run(Thread.java:1096)
I/dalvikvm( 280):
W/dalvikvm( 280): threadid=9: thread exiting with uncaught exception (group=0x43ffe498)
E/AndroidRuntime( 280): FATAL EXCEPTION: HTTPD Session
E/AndroidRuntime( 280): java.lang.OutOfMemoryError
E/AndroidRuntime( 280): at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:97)
E/AndroidRuntime( 280): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:136)
E/AndroidRuntime( 280): at java.lang.StringBuffer.append(StringBuffer.java:274)
E/AndroidRuntime( 280): at java.io.StringWriter.write(StringWriter.java:138)
E/AndroidRuntime( 280): at java.io.PrintWriter.doWrite(PrintWriter.java:707)
E/AndroidRuntime( 280): at java.io.PrintWriter.write(PrintWriter.java:682)
E/AndroidRuntime( 280): at java.io.PrintWriter.write(PrintWriter.java:657)
E/AndroidRuntime( 280): at java.io.PrintWriter.write(PrintWriter.java:725)
E/AndroidRuntime( 280): at java.io.PrintWriter.print(PrintWriter.java:485)
E/AndroidRuntime( 280): at java.io.PrintWriter.println(PrintWriter.java:506)
E/AndroidRuntime( 280): at java.io.PrintWriter.println(PrintWriter.java:620)
E/AndroidRuntime( 280): at java.lang.Throwable.printStackTrace(Throwable.java:311)
E/AndroidRuntime( 280): at android.util.Log.getStackTraceString(Log.java:276)
E/AndroidRuntime( 280): at android.util.Log.e(Log.java:226)
E/AndroidRuntime( 280): at com.google.appinventor.components.runtime.util.AppInvHTTPD.serve(AppInvHTTPD.java:192)
E/AndroidRuntime( 280): at com.google.appinventor.components.runtime.util.NanoHTTPD$HTTPSession.run(NanoHTTPD.java:470)
E/AndroidRuntime( 280): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
E/AndroidRuntime( 280): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
E/AndroidRuntime( 280): at java.lang.Thread.run(Thread.java:1096)
W/ActivityManager( 60): Force finishing activity edu.mit.appinventor.aicompanion3/.Screen1
I/Form ( 280): Form Screen1 got onPause
I/Form ( 280): Form Screen1 got onStop
I/Form ( 280): Form Screen1 got onDestroy
W/ActivityManager( 60): Duplicate finish request for HistoryRecord{4406a608 edu.mit.appinventor.aicompanion3/.Screen1}
I/AndroidRuntime( 280): AndroidRuntime onExit calling exit(0)
E/JavaBinder( 280): Unknown binder error code. 0xfffffff7
I/Process ( 280): Sending signal. PID: 280 SIG: 9
I/ActivityManager( 60): Process edu.mit.appinventor.aicompanion3 (pid 280) has died.
I/WindowManager( 60): WIN DEATH: Window{44074ff0 edu.mit.appinventor.aicompanion3/edu.mit.appinventor.aicompanion3.Screen1 paused=false}
W/InputManagerService( 60): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43e59648
I/ARMAssembler( 60): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x3093c8:0x309484] in 2848268 ns
W/ActivityManager( 60): Activity destroy timeout for HistoryRecord{4406a608 edu.mit.appinventor.aicompanion3/.Screen1}
D/SntpClient( 60): request time failed: java.net.SocketException: Address family not supported by protocol
I/EventLogService( 159): Aggregate from 1740572704278 (log), 1740572704278 (data)
D/dalvikvm( 159): GC_FOR_MALLOC freed 3259 objects / 371016 bytes in 62ms