Subject: server got hung

From: Loredana Lo Conte <[email-masked]>
Date: Fri, 23 Aug 2002 11:08:15 +0100 (BST)

Again? Believe me or not, I managed to tamper with my working copy of
Ale again. And the server seems to be down again. And the lisp directory
is missing from ale-0.1.186.

On the positive site, I was conscientiously going through the output of
svn log when all of this happened.

Loredana

On Thu, 22 Aug 2002, Loredana Lo Conte wrote:

> On Thu, 22 Aug 2002, Karl Fogel wrote:
>
> > Loredana, try again now.  The server got hung, it's a known problem
> > (with Subversion, not Ale).  I've restarted the server, and I'm able
> > to check out and update now.  I'm also going to bump to 0.1.186 and
> > make a new release, so you can simply download it from the web site if
> > necessary.
>

---

From: Karl Fogel <[email-masked]>
Date: 23 Aug 2002 08:30:42 -0500

Loredana Lo Conte <[email-masked]> writes:
> Because yesterday I lost my working copy :) And I wanted to remember what
> is the starting revision (that's why I used 'rev-24'). Will adopt
> the standard practice from now on. Please keep asking me these
> questions, so that I can learn the standard practice while practicing.

Once you've run "svn update", the old starting revision will no
longer be relevant, except as a minimum.  You should just run one of

   $ svn status
   $ svn status -u
   $ svn status -uv

to see what revision(s) you have.

(Run "svn help status" to learn about the output formats of the status
command.)

---

From: Karl Fogel <[email-masked]>
Date: 23 Aug 2002 08:31:19 -0500

Loredana Lo Conte <[email-masked]> writes:
> And the lisp directory is missing from ale-0.1.186.

???

I'll take a look right now...

> svn log when all of this happened.

Yay!

-Karl

---

From: Loredana Lo Conte <[email-masked]>
Date: Fri, 23 Aug 2002 18:26:29 +0100 (BST)

> I'll take a look right now...

Maybe you want to add a link to your marvelous instructions on the web
page http://www.red-bean.com/ale/

Assuming you have the "svn" client installed <link?>

And don't forget to restart the server :)

Loredana

---

From: Karl Fogel <[email-masked]>
Date: 23 Aug 2002 08:56:20 -0500

> page http://www.red-bean.com/ale/

Yes, go ahead and do that, please :-).  It's "www/index.html.in".

If you can't commit, send me your preferred username and password
(plaintext is fine), and I'll set you up with commit access.

> And don't forget to restart the server :)

Done.

Sorry for that constant inconvenience.  This problem is *much* more
common on svn.red-bean.com than on most modern machines running
Subversion servers.  Svn.red-bean.com is the Sun equivalent of an
i486; we're planning to upgrade the hardware soon.

I've fixed the ale-0.1.186 distribution; it has the lisp/ subdir now.

(Jim, the problem was that Ale configuration found
/usr/local/bin/emacs, but that file was mode 000!  So the
byte-compilation step failed, so the whole lisp/ directory `make'
failed, so that dir never got included in the distribution tarball.
I've made /usr/local/bin/emacs a link to /usr/bin/emacs now.)

-Karl

---

From: Jim Blandy <[email-masked]>
Date: 23 Aug 2002 13:14:59 -0500

> I've made /usr/local/bin/emacs a link to /usr/bin/emacs now.)

It would be good to make sure the entire make fails when it can't find
Emacs.

---

From: Karl Fogel <[email-masked]>
Date: 23 Aug 2002 09:41:09 -0500

> It would be good to make sure the entire make fails when it can't find

Yeah!

I won't have time to get to this before Monday at the earliest,
unfortunately.  Anyone else please go for it...

---

From: Loredana Lo Conte <[email-masked]>
Date: Fri, 23 Aug 2002 21:20:28 +0100 (BST)

> > Yes, go ahead and do that, please :-).  It's "www/index.html.in".

Ok, tomorrow. Now I prefer to re-build ale and make sure it is ok.

Are you sure you want it under Ale? It seems to me that it would rather
belong to Subversion.

Loredana

---

From: Loredana Lo Conte <[email-masked]>
Date: Fri, 23 Aug 2002 22:04:49 +0100 (BST)

I compiled and installed from both the tarball and the repository. Ale is
in good shape for what I can see at the moment.

Two things:

1) www/index.html is missing in ale-0.1.186.tar.gz

  % gunzip -c ale-0.1.186.tar.gz | tar -xvf -
  % cd ale-0.1.186
  % ./configure
[..]
config.status: creating www/index.html
config.status: error: cannot find input file: www/index.html.in

I copied index.html.in from the working copy and the rest of it was ok.

2) 'make install' actually installs two identical copies, ale and
ale-0.1.186:

  % l /usr/local/bin/ale*
-rwxr-xr-x    2 root     root          516 Aug 23 21:47 /usr/local/bin/ale*
-rwxr-xr-x    1 root     root          516 Aug 11 20:11 /usr/local/bin/ale-0.1.183*
-rwxr-xr-x    2 root     root          516 Aug 23 21:47 /usr/local/bin/ale-0.1.186*

I have to remove 'ale' by hand and add a link manually. As an aside, I
observed this behaviour with several other packages, wonder whether it is
intentional.

Anyway ... I am an early bird and quite exhausted at 10pm. Stop now, but
I will spend some time during the weekend.

'Night
Loredana

---

From: Karl Fogel <[email-masked]>
Date: 23 Aug 2002 13:37:53 -0500

> Are you sure you want it under Ale? It seems to me that it would rather

Some of the comments that have appeared on this list would be helpful
to potential users and developers of Ale.  Other comments would be
useful for Subversion.  There's some degree of overlap between them, I
suppose...

Use your judgement, and add anything to the Ale website or
documentation that you think would be helpful.

-K

---

From: Karl Fogel <[email-masked]>
Date: 23 Aug 2002 13:40:19 -0500

> I copied index.html.in from the working copy and the rest of it was ok.

Ahh, so the missing file is `index.html.in' not `index.html'.

Okay, I think I know what the problem is.  I'll try to fix it soon.

> observed this behaviour with several other packages, wonder whether it is

Read the link count in the second leftmost column.  `ale' is a hard
link to ale-0.1.186.  That way if you install another ale, the old
one is still available.  The new one will be called `ale', and link
to ale-0.1.187 or whatever, but you could always invoke ale-0.1.186
manually if you wanted to.  (In fact, you have exactly that situation
with ale-0.1.183 above!)

Other packages do this for the same reason.

-Karl

---

From: Karl Fogel <[email-masked]>
Date: 23 Aug 2002 13:47:50 -0500

Karl Fogel <[email-masked]> writes:
> `ale' is a hard link to ale-0.1.186.

It would have been more accurate of me to say that they're both hard
links to the same underlying file.  Does that clear things up?

---

From: Loredana Lo Conte <[email-masked]>
Date: Sat, 24 Aug 2002 07:29:41 +0100 (BST)

> links to the same underlying file.  Does that clear things up?

YUP.

---

From: Loredana Lo Conte <[email-masked]>
Date: Sat, 24 Aug 2002 19:48:34 +0100 (BST)

> Okay, I think I know what the problem is.  I'll try to fix it soon.

Does it have to do with:

rev 14:  kfogel | 2002-08-21 19:47:33 +0100 (Wed, 21 Aug 2002) | 1 line

Set svn:ignore on www/.

?

Loredana

---

From: Karl Fogel <[email-masked]>
Date: 24 Aug 2002 11:03:01 -0500

> rev 14:  kfogel | 2002-08-21 19:47:33 +0100 (Wed, 21 Aug 2002) | 1 line

I don't _think_ so (but good guess nevertheless).  Sorry I haven't had
a chance to fix this yet; hope to get to it before the end of the
weekend.

If you want to have a go at it, try looking in the top level
Makefile.in at how the "dist" rule works, see if maybe it's not
putting index.html.in into the distribution.

---

From: Loredana Lo Conte <[email-masked]>
Date: Sat, 24 Aug 2002 22:12:35 +0100 (BST)

> putting index.html.in into the distribution.

What about:

dist-dir:
	mkdir ${DISTDIR}
	ln configure.in configure config.guess Makefile.in ale.in ${DISTDIR}
	ln BUGS ChangeLog.CVS README WISHLIST ${DISTDIR}

	mkdir ${DISTDIR}/demo-data
	ln demo-data/demo.gb ${DISTDIR}/demo-data/demo.gb
	ln demo-data/demo.phylo ${DISTDIR}/demo-data/demo.phylo

+	mkdir ${DISTDIR}/www
+	ln www/index.html.in ${DISTDIR}/www/index.html.in

It seems to work. I am using a test directory, not the working copy.

What is the "standard" way of committing and sending the email report?

Loredana

---

From: Loredana Lo Conte <[email-masked]>
Date: Sat, 24 Aug 2002 22:47:14 +0100 (BST)

> > putting index.html.in into the distribution.

I also removed MINOR-BUGS (and found about svn diff :)

What about:

Index: ./Makefile.in
===================================================================
--- ./Makefile.in
+++ ./Makefile.in	Sat Aug 24 22:49:22 2002
@@ -154,8 +154,11 @@
 dist-dir:
 	mkdir ${DISTDIR}
 	ln configure.in configure config.guess Makefile.in ale.in ${DISTDIR}
-	ln BUGS ChangeLog.CVS MINOR-BUGS README WISHLIST ${DISTDIR}
+	ln BUGS ChangeLog.CVS README WISHLIST ${DISTDIR}

+

Do I have to do anything else besides commit?

Loredana

---

From: Karl Fogel <[email-masked]>
Date: 24 Aug 2002 19:50:00 -0500

> Do I have to do anything else besides commit?

Hey, these patches look good to me -- I haven't tested them either,
but they look right, and anyway, if there's anything wrong with them,
we can always revert.

To commit, do the following:

   $ cd ale-working-copy
   $ emacs log-msg.txt       ## write a log message  
   $ svn st -q               ## optional: check what files you changed
   $ svn diff                ## optional: check the changes themselves
   $ svn ci -F log-msg.txt   ## commit!

That last step won't work until you've sent me your preferred username
and password, so we can set you up with commit access to the ale
repository.  Just send plaintext for the password; this isn't strong
security anyway, just http basic auth.

-Karl

---

From: Loredana Lo Conte <[email-masked]>
Date: Sun, 25 Aug 2002 11:10:30 +0100 (BST)

loredana
allele

You know which is which.

Somebody reclaiming attention today, but I will work on the
svn+ale documentation tomorrow. [Should I use texinfo? This would be
a good exercize. I want to learn how to write in texinfo.]

? section

After I commit, someone out there will have to regenerate the tarball
and post it on the web site, correct ?
Why isn't the tarball under svn, with a link to the ale repository from
the web page ?

> -Karl
+loredana :)

---

From: Loredana Lo Conte <[email-masked]>
Date: Sun, 25 Aug 2002 11:21:19 +0100 (BST)

> unfortunately.  Anyone else please go for it...

I don't know how to do this properly. Where is Jim? :)

? section
Why to make 'make' fail and not, for example, 'configure' ?

Loredana

---

From: Karl Fogel <[email-masked]>
Date: 25 Aug 2002 11:52:07 -0500

Okay, Loredana, you're set up to commit now.

> a good exercize. I want to learn how to write in texinfo.]

Is this documentation intended for the user manual, or for the
website, or for somewhere else?

I'd stick to plain text unless there's some compelling reason to do
otherwise.

> and post it on the web site, correct ?

No, we don't have to generate a new release for every commit.  We can
do it whenever we think enough new features and bugfixes have
accumulated that it's time to do another release.  (That's the way
these things are typically done.)

> Why isn't the tarball under svn, with a link to the ale repository from

Tarballs are generated, just like `configure' is generated from
`configure.in'.  We only version masters, not the things that are
generated from masters, because otherwise we'd have to keep the
generated stuff up to date all the time, which is an error-prone task.

Also, we want the web pages to work even when the repository is down.

People developing Ale should always be building and testing from an
up-to-date working copy.  People who download Ale just to use it can
download a tarball, or build from working copy, whichever is more
convenient.

---

From: Karl Fogel <[email-masked]>
Date: 25 Aug 2002 11:55:25 -0500

> Why to make 'make' fail and not, for example, 'configure' ?

The problem is that I typed

  make dist

and it *did* make a distribution tarball (an incomplete one), even
though one stage of the make failed -- the `configure' stage exited
with error, because it couldn't find `index.html.in'.  Jim's saying
that if any step encounters an error, the entire process should fail,
instead of proceeeding.  By proceeding, it misleads one into thinking
everything went okay, which is why I didn't notice that the tarball
didn't have a working web area.

(Jim's just busy, I presume.)

---

From: Loredana Lo Conte <[email-masked]>
Date: Mon, 26 Aug 2002 15:52:18 +0100 (BST)

> website, or for somewhere else?

What about an Ale-developer manual? Actually, a primer for newcomings?
I am in the best position to write a draft for one at the moment as I am
learning myself, doing all the usual stupid things, and thinking of it.

You should edit it before posting, of course. It is a way of structuring
all the teaching you are doing for me and all the mess I am producing
in the exchange for that :) Some of the mistakes, if they are common
enough, may be useful in a section entitled: Don't do this!

If nothing else, at the end *I* would have learned, as writing as if I
were teaching to myself would do the job. But I think it would be useful
in general. It was useful to have your recipe to build an svn client, as
it lowered the energy barrier for a starter. And it was useful to have
Jim's methodological/technical suggestions. As you said, we should post
them.

What do you think?

> I'd stick to plain text unless there's some compelling reason to do

But from a Texinfo file you can always get your plain text :)

I would rather try Texinfo, unless you see compelling reasons not to do
so. One possible reason is that this will slow me down at the beginning of
course, but we will recover this time in the medium, long term. And I
don't yet see a long queue of impatient developers waiting for these
instructions, at the moment :)

> these things are typically done.)

This means that if somebody downloads the tarball before you update the
web site s/he will not be able to build Ale properly despite the bug is
now fixed (well, hopefully).

I noticed that this is the typical way, but I don't like it (neither for
Ale, nor for the typical package).

> Also, we want the web pages to work even when the repository is down.

Well, this sounds a good reason. What about adding the revision number
from which the tarball has been generated, and the svn log (from the
repository) to the web main, so that an end-user can always patch the
tarball locally without necessarily having to install a working copy?
If the svn server is down, s/he can try to get the log later on.

Loredana

---

From: Karl Fogel <[email-masked]>
Date: 26 Aug 2002 07:38:30 -0500

> learning myself, doing all the usual stupid things, and thinking of it.

Absolutely!  It sounds like a good idea.

> enough, may be useful in a section entitled: Don't do this!

Yes.  I'll read it over as you commit it, don't worry :-).

> Jim's methodological/technical suggestions. As you said, we should post

Go for it!

I've made a link from the front page to

   http://www.red-bean.com/ale/ale-archive.mbox

so you can get at old messages.

> instructions, at the moment :)

Texinfo is fine, sure.

> Ale, nor for the typical package).

There are good reasons for the policy, though.  Bugfixes can have
unexpected consequences.  You can't just release the package after
every change -- you need a period of stability and testing, otherwise
you simply exchange a set of known bugs for a set of unknown ones.

Basically, anyone who needs the bleeding edge all the time should use
a working copy.  It's only inconvenient for them at first, whereas
making new distributions is inconvenient *every time* for the
developers :-).

> If the svn server is down, s/he can try to get the log later on.

Yeah, that would be good.

This is a bit tricky, as it assumes the entire working copy is at the
same revision.  However, we do it for Subversion, so it shouldn't be
too hard.

Would you like to look at the `dist.sh' script in the Subversion
source tree, and have a go at making ours do this?

-Karl

---

From: Loredana Lo Conte <[email-masked]>
Date: Mon, 26 Aug 2002 17:46:55 +0100 (BST)

> so you can get at old messages.

My God! This reminds me of a question. What is going to happen to this
mailing list? I think I spoiled it with a lot of comments that should be
purged before making it public.

One more reason to filter out what is relevant and forget the rest of it.

You must have somewhere rules to use a developer mailing list, I am sure :)

> you simply exchange a set of known bugs for a set of unknown ones.

Yes, this is a good reason.

> > from which the tarball
> same revision.

Not sure I understand. You mean: svn up before committing?

> source tree, and have a go at making ours do this?

Yes.

> -Karl
Why '-'?

Loredana

---

From: Loredana Lo Conte <[email-masked]>
Date: Sun, 6 Oct 2002 19:01:05 +0100 (BST)

Hi,

I have been testing ale for a while now 'till I spotted another
bug:		ale demo-data/demo.gb demo-data/demo.phylo &
generates a: 	"wrong type argument: window-live-p, nil"

After that, nothing else works. For example, response for Mouse-1 on any
organism is: 	"wrong number of args to `select-range' request"

Ale 0.1.183 under emacs 2.50.1 also generates the "wrong type argument:
window-live-p, nil" error message, but then it seems to work fine.

Elisp hackers please help! :)

Loredana

---

From: Karl Fogel <[email-masked]>
Date: 06 Oct 2002 20:46:17 -0500

> generates a: 	"wrong type argument: window-live-p, nil"

I think I've fixed this bug in revisions 29 and 30 (in other words,
Ale 0.1.188, but don't worry, I'll stop bumping the release number
every time we fix a bug, as soon as you get the release tarballs to
reflect the repository revisions :-) ).
 
> organism is: 	"wrong number of args to `select-range' request"

I'm still getting this bug too, will take a look...  I'm pretty sure
phylogenetic browsing *did* work at some time since we resurrected
Ale, so I might do a binary search over the recent changes to narrow
it down :-).

> Elisp hackers please help! :)

Do you know about "M-x toggle-debug-on-error"?  If you're in
debug-on-error mode and some elisp function throws an error (like the
"wrong type argument" error above), then Emacs throws you into a
Backtrace buffer where you can see the call stack that led to the
error.  (Hit `q' in the Backtrace buffer to return to normal editing.)

I just put this line in my ~/.ale init file:

   (setq debug-on-error t)

...so it's always in debug mode for me.

-Karl

---

From: Loredana Lo Conte <[email-masked]>
Date: Mon, 7 Oct 2002 15:46:24 +0100 (BST)

> Ale, so I might do a binary search over the recent changes to narrow

Yes, phylogenetic browsing in the original Ale 0.1.183 release still works
(but under emacs 20.5.1 only). It is the first thing I checked when I
downloaded Ale from Jim's web page.

> ...so it's always in debug mode for me.

This helps. Thanks.

Loredana

---

From: Karl Fogel <[email-masked]>
Date: 09 Oct 2002 11:33:56 -0500

> downloaded Ale from Jim's web page.

Okay, that helps, thanks!