summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-05-02 19:04:55 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-05-02 19:04:55 -0400
commitc636de345331026a18ff33aa09bbc642029e51a8 (patch)
tree5ef59844711bb90a12f4f3eaec987b505386b4c5
parentb48554b021efe79ef7029c7a66aab1063e71ac47 (diff)
blog for the day
-rw-r--r--doc/design/assistant/blog/day_253__OMG.mdwn22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/design/assistant/blog/day_253__OMG.mdwn b/doc/design/assistant/blog/day_253__OMG.mdwn
new file mode 100644
index 000000000..b79fb8144
--- /dev/null
+++ b/doc/design/assistant/blog/day_253__OMG.mdwn
@@ -0,0 +1,22 @@
+[[!img /assistant/android/webapp.png alt="git-annex webapp on Android"]]
+
+I fixed what I thought was keeping the webapp from working on Android, but
+then it started segfaulting every time it was started. Eventually I
+determined this segfault happened whenever haskell code called
+`getaddrinfo`. I don't know why. This is particularly weird since I had
+a demo web server that used `getaddrinfo` working way back in
+[[day_201__real_Android_wrapup]]. Anyway, I worked around it by not using
+`getaddrinfo` on Android.
+
+Then I spent 3 hours stuck, because the webapp seemed to run, but
+nothing could connect to the port it was on. Was it a firewall? Was
+the Haskell threaded runtime's use of `accept()` broken? I went all the way
+down to the raw system calls, and back, only to finally notice I had `netstat`
+available on my Android. Which showed it was not listening to the port I
+thought it was!
+
+Seems that `ntohs` and `htons` are broken somehow. To get the
+screenshot, I fixed up the port manually. Have a build running that
+should work around the issue.
+
+Anyway, the webapp works on Android!