Possible Crash Bug

Steamcast is a stand alone server that combines the features of SHOUTcast and Icecast2 and more to make one mega awesome server.
WhiteWolf
Posts: 8
Joined: Thu Oct 20, 2005 9:03 pm
Contact:

Possible Crash Bug

Post by WhiteWolf »

Here's some relevant info:
Linux - 2.6.11.9-050512a #1 SMP Thu May 12 20:53:02 CEST 2005 i686 i686 i386 GNU/Linux

cat /etc/redhat-release
Fedora Core release 2 (Tettnang)

Running the binaries off the website, I've encoutered two issues that are very curious... first of which leads to a full crash and the second leads to a defunct condition.

Just after the server starts up (sucessful) - the radio is fully operational and works like a charm (I REALLY like the mixed set of features from both Icecast and ShoutCAST, really the product I was looking for).

My server is configured with 6 mountpoints, none of them are set public (and none set as default), no logging enabled of any kind and steamcast is redirected to /dev/null...

First, the lesser of two issues (the defunct problem as I see it) if someone (or something) keeps hitting the admin.cgi just as a source connects the connection is then denied (socket error usually spat back to the client) and will not connect again (same socket error), a condition appears in the admin page (if you view it) the source has listed the correct "last" address, but the bytes recieved from the socket is negative, that is the value is not above zero... it appears to go down by 1 byte every time a connection attempt is made but it's been pretty random and I'm not sure if that's 100% accurate, but it's a good observation. Could this be related 404 error page handling? (My client requests favicon.ico from the server, as I'm sure a few other clients do too... humm)

Second, the Segmentation Fault... happens under the same conditions above except usually the source attempts to connect, connects then just goes kersplat in my console with a wonderful error! I think it might be related to some out-of-bounds error caused by the above mentioned symptom.

I've currently got admin.cgi scripted (because for some reason, the last address field isn't available in the status.xml 0.o) - and that's almost definately sure that's whats causing these issues.

Any help, or suggestions, or questions for me would be much appreciated.

Thanks.

EDIT: Made some points more clear.
User avatar
Jay
Will work for food (Administrator)
Posts: 3020
Joined: Mon Jan 14, 2002 12:48 am
Location: Next Door
Contact:

Post by Jay »

hmm ok i'll try to replicate on my dev, although I have had several reports of problems on Fedora Core release 2.

Is your machine a multiprocessor or HyperThread machine?
- Jay
WhiteWolf
Posts: 8
Joined: Thu Oct 20, 2005 9:03 pm
Contact:

Post by WhiteWolf »

Yeah, it's running the SMP version (Hyperthreaded P4 in the box).. if you're unable to replicate the issue I can provide you with access to my box if you need to see anything on the box or check libraries.

Any sort of beta for Linux? (as I've seen some windows binaries posted around as pre-releases).. I want to use Steamcast in my enviroment but right now for my system IceCast is much more stable solution but I much perfer Steamcast's feature set.

Additionally, if you think setting the process affinity to one "virtual thread" in the system would help, I can try that as well.

Thanks for your quick reply.
User avatar
Jay
Will work for food (Administrator)
Posts: 3020
Joined: Mon Jan 14, 2002 12:48 am
Location: Next Door
Contact:

Post by Jay »

can't hurt to try, let me know the outcome. Although I think in order to really fix this I need to just compile a fedora version.
- Jay
WhiteWolf
Posts: 8
Joined: Thu Oct 20, 2005 9:03 pm
Contact:

Post by WhiteWolf »

Update: Binding it to one processor did not have any effect on the issue. Although I did notice that my source connected, got disconnected (it read negative 1 bytes), then connected as normal..

Does any of this help?
WhiteWolf
Posts: 8
Joined: Thu Oct 20, 2005 9:03 pm
Contact:

Post by WhiteWolf »

Perhaps this is a library issue:
[services@devbox steamcast]# ldd steamcast
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x4f4e3000)
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0xb7fb7000)
libm.so.6 => /lib/tls/libm.so.6 (0x4f47c000)
libc.so.6 => /lib/tls/libc.so.6 (0x4f33e000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4f325000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4f7c5000)

My versions are as follows:
libpthread-0.61
libstdc++-3-libc6.2-2-2.10.0
libm-2.3.3.so
libc-2.3.3.so
ld-2.3.3.so
libgcc_s-3.3.3-20040413.so.1


Maybe it be best to compile steamcast static instead of dynamic to avoid these issues? (Also, why isn't SteamCast open source? I've been pondering that for awhile)
Limedrink
Posts: 8
Joined: Fri Oct 14, 2005 9:22 pm

Post by Limedrink »

I'm having a similar problem with Fedora Core 1. Server will just crash, nothing more to it.

Linux 2.4.22-1.2199.nptlsmp #1 SMP Wed Aug 4 11:48:29 EDT 2004 i686 i686 i386 GNU/Linux

I've tried version 0.9.71 beta and it seems more stable, but it still crashes often.

Currently I've got a cronjob that will restart the server when it finds its not running anymore. However, the cronjob is not reliable for some reason.

I hope Jay can find a solution to this issue. I would greatly appreciate it!


Thanks,

Limedrink.
User avatar
Jay
Will work for food (Administrator)
Posts: 3020
Joined: Mon Jan 14, 2002 12:48 am
Location: Next Door
Contact:

Post by Jay »

yea I guess a first step would be to try a static compile.

For linux I will try to offer both dynamic an static although on some systems I had trouble with static compiles as well.
- Jay
Limedrink
Posts: 8
Joined: Fri Oct 14, 2005 9:22 pm

Post by Limedrink »

How long will it take to complete a static compile? I've got no idea what the process is or how long it would take you.

I hope I can get a copy going to testing sometime soon.

I would greatly appreciate that.


Limedrink.
WhiteWolf
Posts: 8
Joined: Thu Oct 20, 2005 9:03 pm
Contact:

Post by WhiteWolf »

Well, compiling something static is just a matter of telling the compiler to link the libraries into the binary... the problem you get though is that some systems are so different that they don't work for the static binary...

Here's some solutions that may work:
1) Compile it for Fedora Core (perhaps several versions... if you need somewhere to test just ask and I can setup any sort of fedora core for you)

2) Compile it static

Or perhaps, just perhaps, there's something wrong in the code.
Limedrink
Posts: 8
Joined: Fri Oct 14, 2005 9:22 pm

Post by Limedrink »

I doubt there is something wrong in the code, as it was running fine on my previous RedHat 9 box.

If I could get a copy of the newest version compiled specifically for Fedora Core 1, it would end my struggles and I would greatly appreciate it.



Thanks,

Limedrink.
User avatar
Jay
Will work for food (Administrator)
Posts: 3020
Joined: Mon Jan 14, 2002 12:48 am
Location: Next Door
Contact:

Post by Jay »

the issue is somewhere in the libs on fedora, it is the only system reported to me as not being capable of running steamcast solidly. Also static can fix this but it still may have issues, I know when I originally compiled it statically it gave me problems on other systems with the network code.
- Jay
Limedrink
Posts: 8
Joined: Fri Oct 14, 2005 9:22 pm

Post by Limedrink »

Jay,

Do you have any plans or ideas on how we can resolve this problem?

Would it be possible to compile a static release that I can test on my Fedora Core 1 box? I think it is worth a try.


Thanks,

Limedrink.
User avatar
Jay
Will work for food (Administrator)
Posts: 3020
Joined: Mon Jan 14, 2002 12:48 am
Location: Next Door
Contact:

Post by Jay »

as I said I will make a static version available for testing.
- Jay
Limedrink
Posts: 8
Joined: Fri Oct 14, 2005 9:22 pm

Post by Limedrink »

Sounds great! When can I expect a release of this static version?


Thanks,

Limedrink.
Post Reply