On Nov 14, 2016, at 12:32 AM, J. Cameron Cooper <jccoo...@gmail.com> wrote:
> 
> I've been happily using fossil for quite a few years now, but I recently had 
> an unusual symptom develop on one of my machines. I think it's a bug, but I 
> have no idea how to add a ticket on the main site, so I'll drop it here.

This is the correct place to report such things.  The Fossil project’s ticket 
tracker is not publicly writable to avoid ticket spam.

> I found the command 'fossil server' caused fossil to spin with 100% cpu usage 
> (for at least hours, so I'm guessing it's indefinite) when it tried to listen 
> on the default port if that port was already occupied by 'crtmpserver'. (For 
> most occupants of a port fossil prints out a message about the conflict and 
> exits, but for 'crtmpserver' it just sits and spins as described. Perhaps 
> 'crtmpserver' is poorly behaved?)

The OS’s network stack doesn’t consult the program already bound to the TCP 
port in order to figure out what it should do when another program comes along 
and tries to bind to the same port.  All of the logic it uses to decide what to 
do is part of the network stack and related code, such as the firewall and 
security subsystems of the kernel.

Therefore, this problem cannot be specific to crtmpserver, or to Fossil.

> crtmpserver may have just started running on 8080 via an update; dunno why 
> else I suddenly encountered this.

8080 is a very popular default port number to use for anything that speaks 
HTTP, as both Fossil and crtmpserver do.  (RTMP can be encapsulated within 
HTTP.)

> OS is Linux Mint 17.3. Fossil version is 1.35, though the same occurs on 1.27 
> (the distro version). The 1.35 version prints "Listening for HTTP requests on 
> TCP port 8080"; the 1.27 prints nothing. 'fossil ui' behaves similarly.

I’m confused.  Are you saying that it says "Listening for HTTP requests on TCP 
port 8080” and then pegs the CPU, and doesn’t respond?  And that it does this 
even though crtmpserver is already bound to port 8080?

If Fossil isn’t running, and you try to connect to http://localhost:8080 from a 
browser on the Fossil/crtmpserver machine, what do you get in the browser when 
Fossil isn’t running?  Does that change after you start Fossil?

I can’t replicate your problem here on a CentOS 7 box.  I’ve started a random 
program here on port 8080, then started Fossil, and it correctly failed to bind 
to port 8080 and moved on to 8081.

What do you get from strace if you run Fossil underneath it while crtmpserver 
is running, causing Fossil to hit 100% CPU?
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to