Folks, I email abit ago about using 1.3.12 in my environment, and fixing a dead-lock problem. Since 1.3.12 is 'obsolete', not supported, and GPL I'm provided a patch to the mailing list of my changes to the the src/soruce.c distributed file. (Its small but significant, as it allows for transparent relays to work) I need to use icecast 1 until icecast2 is a) released and b) supports transparent relaying like icecast1 does for the time being. If anyone else is in the same boat, the following diff fixes problems with 1.3.12. [wolpert at memeplex] src> diff icecast-1.3.12/src/source.c old/icecast-1.3.12/src/source.c 686,692d685 < thread_mutex_unlock (&info.mount_mutex); < thread_mutex_unlock (&info.source_mutex); < thread_mutex_unlock (&info.double_mutex); < sourcecon = relay_pull_stream (req, &err); < thread_mutex_lock (&info.double_mutex); < thread_mutex_lock (&info.mount_mutex); < thread_mutex_lock (&info.source_mutex); 694c687 < if (sourcecon) --- > if ((sourcecon = relay_pull_stream (req, &err))) Enjoy -- Virtually, Ned Wolpert <ned.wolpert at knowledgenet.com> D08C2F45: 28E7 56CB 58AC C622 5A51 3C42 8B2B 2739 D08C 2F45 "An idea is something you have; an ideology is something that has you." --Morris Berman <p>--- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request at xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Folks- First, let me submit a disclaimer... I know 1.3.12 is unsupported. However, since icecast2 isn't officially released, I'm abit SOL anyways, so I'm currently trying to debug it and will release a patch when I'm done. (Which I'm doing since the code is GPL and I want to contribute... if no one cares, let me know and I'll stop updating the list with what i find) As some on the list knows, Alex Stansfield found a deadlock condition (see http://www.xiph.org/archives/icecast/1300.html) back in Sept of 2001 which is found when using the transparent proxy feature. I'm hitting that today and I'm working on finding the solution to the deadlock. The first issue I saw is that the function find_mount_with_req() is unlocking mutexes out of order. Now this may not matter since its during the unlocking phase, but I figure I'd mention it. Second, there seems to be a looping issue with mutexes being locked multiple times with the same thread; which is where the problem may be; In find_mount_with_req() (which must be called with mutex's locked) if the transparent proxy is set, it calls relay_pull_stream(), (line 687) which eventually calls source_login which relocks info.source_mutex. (This was Alex's find) At this point, that thread is locked up, and eventually the second connection handler thread tries to lock it, and the calendar thread too. The original server is unable to send data so it kicks the relay and the server is hosed. The potential fix for this is cleaning up the mutex during the transparent_proxy configuration (source.c:681) so it behaves like like the 'alias' one a few lines up. (So a change to the code went from this (line 684): xa_debug (1, "DEBUG: Trying transparent proxy with host: [%s]",req->host); if ((sourcecon = relay_pull_stream (req, &err))) to this: xa_debug (1, "DEBUG: Trying transparent proxy with host: [%s]", req->host); thread_mutex_unlock (&info.mount_mutex); thread_mutex_unlock (&info.source_mutex); thread_mutex_unlock (&info.double_mutex); sourcecon = relay_pull_stream (req, &err); thread_mutex_lock (&info.double_mutex); thread_mutex_lock (&info.mount_mutex); thread_mutex_lock (&info.source_mutex); if (sourcecon) Simple enough... yes? But is it correct. It seems to work in my test cases. If anyone still follows 1.3.12, please add your input. Finally, the third thing was on line 497, locking &source->mutex. I'm having trouble following the logic flow since it seems that the mutex always gets locked through the source_func() function but never unlocked. (Least not in the flows that I've followed) Any enlightenment? <p><p> -- Virtually, Ned Wolpert <ned.wolpert@knowledgenet.com> D08C2F45: 28E7 56CB 58AC C622 5A51 3C42 8B2B 2739 D08C 2F45 "An idea is something you have; an ideology is something that has you." --Morris Berman <p>--- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
I've specified a number of genres for my station separated by commas (Newage, World, Easy Listening, Folk) and doing a freeform search on any of these doesn't display my station. Is a fix needed or should I separate genres with something else? It is listed on http://yp.icecast.net Regards, Ross. --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
ummm...what IS your station ? oddsock At 12:10 PM 6/21/2003 +1200, you wrote:>I've specified a number of genres for my station separated by commas >(Newage, World, Easy Listening, Folk) and doing a freeform search on any of >these doesn't display my station. Is a fix needed or should I separate >genres with something else? It is listed on http://yp.icecast.net > >Regards, >Ross. > >--- >8 ---- >List archives: http://www.xiph.org/archives/ >icecast project homepage: http://www.icecast.org/ >To unsubscribe from this list, send a message to 'icecast-request@xiph.org' >containing only the word 'unsubscribe' in the body. No subject is needed. >Unsubscribe messages sent to the list will be ignored/filtered.<p>--- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Sooner or later, rather sooner i suppose (time permitting) ill be updating the yp.icecast.net site, simular to the way the old casterclub directory was written, with alot of error checking and possibly a xml backend for players such as winamp to interface to list in a plugin of sorts, the way winamp uses the shoutcast yp to list in the media library plugin. Any ideas oddsock for writting a gen winamp plugin to interface the icecast.net yp? like shoutcast's <p><p>Dave St John Mediacast1 Administration (720) 641-7586 ----- Original Message ----- From: "Ross Levis" <ross@stationplaylist.com> To: <icecast@xiph.org> Sent: Friday, June 20, 2003 6:10 PM Subject: [icecast] yd dir search <p>> I've specified a number of genres for my station separated by commas> (Newage, World, Easy Listening, Folk) and doing a freeform search on anyof> these doesn't display my station. Is a fix needed or should I separate > genres with something else? It is listed on http://yp.icecast.net > > Regards, > Ross. > > --- >8 ---- > List archives: http://www.xiph.org/archives/ > icecast project homepage: http://www.icecast.org/ > To unsubscribe from this list, send a message to'icecast-request@xiph.org'> containing only the word 'unsubscribe' in the body. No subject is needed. > Unsubscribe messages sent to the list will be ignored/filtered. ><p>--- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
This is in CVS, FWIW (that is, not much since the odds of 1.3.13 being released are epsilon close to nil). On Wednesday, 02 July 2003 at 11:38, Ned Wolpert wrote:> Folks, > I email abit ago about using 1.3.12 in my environment, and fixing a > dead-lock problem. Since 1.3.12 is 'obsolete', not supported, and GPL > I'm provided a patch to the mailing list of my changes to the the > src/soruce.c distributed file. (Its small but significant, as it allows > for transparent relays to work) > > I need to use icecast 1 until icecast2 is a) released and b) supports > transparent relaying like icecast1 does for the time being. If anyone > else is in the same boat, the following diff fixes problems with 1.3.12. > > [wolpert@memeplex] src> diff icecast-1.3.12/src/source.c > old/icecast-1.3.12/src/source.c > 686,692d685 > < thread_mutex_unlock (&info.mount_mutex); > < thread_mutex_unlock (&info.source_mutex); > < thread_mutex_unlock (&info.double_mutex); > < sourcecon = relay_pull_stream (req, &err); > < thread_mutex_lock (&info.double_mutex); > < thread_mutex_lock (&info.mount_mutex); > < thread_mutex_lock (&info.source_mutex); > 694c687 > < if (sourcecon) > > if ((sourcecon = relay_pull_stream (req, &err))) > > Enjoy >--- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.