As well as making a new release, I rewrote most of the Makefile, so that it uses cabal to build git-annex. This avoids some duplication, and most importantly, means that the Makefile can auto-detect available libraries rather than needing to juggle build flags manually. Which was becoming a real pain.
I had avoided doing this before because cabal is slow for me on my little netbook. Adding ten seconds to every rebuild really does matter! But I came up with a hack to let me do incremental development builds without the cabal overhead, by intercepting and reusing the ghc command that cabal runs.
There was also cabal "fun" to get the Android build working with cabal.
And more fun involving building the test suite. For various reasons, I
decided to move the test suite into the git-annex binary. So you can run
git annex test
at any time, any place, and it self-tests. That's a neat
trick I've seen one or two other programs do, and probably the nicest thing
to come out of what was otherwise a pretty yak shaving change that involved
babysitting builds all day.
Oh, and here is how it looks ps -e |grep git command after git-annex has been stopped (from the gui): (54 process, from which 50 process ) http://pastebin.com/5u74qTNU
Lazlo, could you please file a proper bug report and include details like what version of git-annex you're using there when you get the zombies.
I have modified the webapp to only ever show 10 queued transfers on the dashboard.
When I run the 28-Feb-2013 android version of git annex, I'm getting the error:
Maybe this code is not finding the busybox.so file:
Any ideas how I can troubleshoot?
I'm running Android 4.2.2.
@Brian what you can do is go to the terminal's preferences menu and change the shell it runs to
/system/bin/sh
. This should let you open a new tab with a shell prompt. Then you can try to cd to/data/data/ga.androidterm
, and see if bothlib/lib.start.so
andlib/lib.busybox.so
exist.You could then try to do the same thing it does to set up the system:
@joey Both .so files were present and I was able to run the ln and busybox commands. And after that 'git annex' displayed the help screen. Thanks!
Then I ran 'ps | grep ga.androidterm' to find the pid and then 'ls -l /proc/<pid>/exe' and it showed the symlink points at '/system/bin/app_process'.
So the 'int n=readlink("/proc/self/exe", buf, 1023);' in start.c isn't very useful in this case.
@Brian, I follow your logic, it does seem that start.c is not finding itself. But, you checked the pid of the terminal, while start.c is the program it (usually) starts.
Anyway, I have tried making start.c fall back to a hard coded path if it cannot find busybox. It'll also say what path it detected, which may help debug the underlying problem. You can pick up an app with this change from the autobuilder.