<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/index.php?action=history&amp;feed=atom&amp;title=Deprecated_Protocol_Features</id>
	<title>Deprecated Protocol Features - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/index.php?action=history&amp;feed=atom&amp;title=Deprecated_Protocol_Features"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Deprecated_Protocol_Features&amp;action=history"/>
	<updated>2026-06-18T12:01:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Deprecated_Protocol_Features&amp;diff=273503&amp;oldid=prev</id>
		<title>Ramzi Linden: /* Deprecated protocol feature:  stray colon in HTTP 500 responses (viewers 1.20.17 and earlier) */ added timeline for obsolescence</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Deprecated_Protocol_Features&amp;diff=273503&amp;oldid=prev"/>
		<updated>2009-03-11T19:31:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Deprecated protocol feature:  stray colon in HTTP 500 responses (viewers 1.20.17 and earlier): &lt;/span&gt; added timeline for obsolescence&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:31, 11 March 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Third-party developers should update the parser code in their viewers to be ready for a future change by the server from &amp;quot;500:&amp;quot; to &amp;quot;500&amp;quot;.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Third-party developers should update the parser code in their viewers to be ready for a future change by the server from &amp;quot;500:&amp;quot; to &amp;quot;500&amp;quot;.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;The change to server infrastructure described below will take place ON OR AFTER 9-May-2009.&#039;&#039;&#039;  After that date, without further warning, the server response may cease to contain a stray colon. Open source &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;viewers based on the obsoleted EventPoll code of viewer 1.20 would cease to fully function at that time, without warning.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ramzi Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Deprecated_Protocol_Features&amp;diff=262142&amp;oldid=prev</id>
		<title>Ramzi Linden: /* Patches */</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Deprecated_Protocol_Features&amp;diff=262142&amp;oldid=prev"/>
		<updated>2009-03-02T19:48:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Patches&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:48, 2 March 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l40&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Patches =====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== Patches =====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If your viewer is based on the open source code of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;version &lt;/del&gt;1.21 or later, there are no patches that you need to implement.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If your viewer is based on the open source code of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Viewer &lt;/ins&gt;1.21 or later, there are no patches that you need to implement.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following patches are a minimum changeset &#039;&#039;&#039;if your viewer is based on the open source code of version 1.20.17 or earlier.&#039;&#039;&#039;  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following patches are &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;posted to {{Jira|VWR-12248}}.  This is &lt;/ins&gt;a minimum changeset &#039;&#039;&#039;if your viewer is based on the open source code of version 1.20.17 or earlier.&#039;&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;font color=&quot;red&quot;&amp;gt;&lt;/ins&gt;PLEASE NOTE:  These patches are provided as a convenience only and are NOT TESTED BY LINDEN LAB as a discrete set of changes to code.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/font&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PLEASE NOTE:  These patches are provided as a convenience only and are NOT TESTED BY LINDEN LAB as a discrete set of changes to code.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ramzi Linden</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Deprecated_Protocol_Features&amp;diff=262122&amp;oldid=prev</id>
		<title>Ramzi Linden: New page: == Deprecated protocol feature:  stray colon in HTTP 500 responses (viewers 1.20.17 and earlier) == &#039;&#039;&#039;Date posted:&#039;&#039;&#039; :* 02-March-2008  &#039;&#039;&#039;The following information applies to these versi...</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Deprecated_Protocol_Features&amp;diff=262122&amp;oldid=prev"/>
		<updated>2009-03-02T19:30:46Z</updated>

		<summary type="html">&lt;p&gt;New page: == Deprecated protocol feature:  stray colon in HTTP 500 responses (viewers 1.20.17 and earlier) == &amp;#039;&amp;#039;&amp;#039;Date posted:&amp;#039;&amp;#039;&amp;#039; :* 02-March-2008  &amp;#039;&amp;#039;&amp;#039;The following information applies to these versi...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Deprecated protocol feature:  stray colon in HTTP 500 responses (viewers 1.20.17 and earlier) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Date posted:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:* 02-March-2008&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following information applies to these versions: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:* Second Life Viewer 1.20&lt;br /&gt;
:* Second Life Viewer 1.19.1, 1.19.0.4, or earlier&lt;br /&gt;
:* Any third-party viewers based on the source code of Viewer 1.20 or earlier. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #a2b4ff; color: black; font-size: 1.2em; font-weight: bold; -moz-border-radius-topleft: 15px; -moz-border-radius-topright: 15px; border: grey 1px solid; border-bottom: 0; text-align:center&amp;quot;&amp;gt;Summary:&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 1px grey solid; border-right: 1px grey solid; border-bottom: 1px grey solid; padding: 5px 5px 5px 5px; background-color: white; margin-bottom: 10px; -moz-border-radius-bottomleft: 10px; -moz-border-radius-bottomright: 10px; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a bug in the LLEventPoll parser code of Viewer 1.20 and all earlier viewers.  This code was subsequently fixed (and improved in functionality) in Viewer 1.21.6 and again in Viewer 1.22.&lt;br /&gt;
&lt;br /&gt;
* Specifically:  when a viewer initiates its LLEventPoll request to the simulator, the response from the Apache2 server has always contained a stray colon &amp;quot;:&amp;quot; at the end of its 500 response.  The stray colon is a historical anomaly to Second Life&amp;#039;s server response, but it is not part of the HTTP protocol.&lt;br /&gt;
* The LLEventPoll parser in Viewer 1.21 and Viewer 1.22 is prepared to handle a server response of 500 without a stray colon. &lt;br /&gt;
* Viewers 1.20.17 and earlier are not prepared to handle a server response without a stray colon.  Due to a bug, these earlier viewers depend on the stray colon to be fully functional with the Second Life Grid. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Third-party developers should update the parser code in their viewers to be ready for a future change by the server from &amp;quot;500:&amp;quot; to &amp;quot;500&amp;quot;.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Details: ===&lt;br /&gt;
&lt;br /&gt;
There is a bug in the LLEventPoll parser code of Viewer 1.20 and all earlier viewers.  This code was subsequently fixed (and improved in functionality) in Viewer 1.21.6.  Viewer 1.20 and earlier can only remain connected to the simulator backbone through its EventPoll connection, due to a series of bad assumptions in code. &lt;br /&gt;
&lt;br /&gt;
Specifically: when the viewer 1.20 initiates its LLEventPoll to the simulator and a server error results, the backbone has historically returned a reply in the format of &amp;quot;500:&amp;quot; or &amp;quot;5xx:&amp;quot; with a stray colon at the end.  The viewer&amp;#039;s parser relies on a response in this format to generate an internal &amp;quot;499&amp;quot; error, which is the &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; error code that will cause this viewer to retry its EventPoll connection.  &lt;br /&gt;
&lt;br /&gt;
The parser in Viewer 1.20 is not capable of processing a &amp;quot;5xx&amp;quot; response correctly with no colon. In this case no internal &amp;quot;499&amp;quot; error is generated, and it would subsequently kill the EventPoll completely, and cease to acquire any capabilities.  Without capabilities, a user of viewer 1.20 is unable to complete Teleports, cross regions, open the World Map, and use other key functionality.  However no indication is given to the user of such silent failures; the result would appear only as a mysterious loss of functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Changes in Viewer 1.21.6 and Viewer 1.22=====&lt;br /&gt;
&lt;br /&gt;
The LLEventPoll parser in Viewer 1.21.6 (and later) has further improvements in the viewer code in addition to supporting a &amp;quot;500&amp;quot; response.&lt;br /&gt;
&lt;br /&gt;
Additional behavior: When the Apache2 server responds with a server error for the primary region&amp;#039;s EventPoll (or, the EventPoll for a neighboring region) then newer viewers will retry the EventPoll connection  up to 10 times, with a slightly increasing delay between attempts.  During this time (up to 425 seconds), the viewer might not acquire any capabilities.  However, on a successful re-try this situation is recovered.&lt;br /&gt;
&lt;br /&gt;
Furthermore, after 10 continuous failed attempts (for over 425 seconds) on the primary EventPoll, these newer viewers make a determination that the EventPoll with the primary region has become unrecoverable.  Viewer 1.22 (and later) notifies the user that his/her session has been unfortunately disconnected from the region, and causes the avatar to log out.  At this point, a new login into Second Life is the only way to recover capabilities and restore functionality with the region.&lt;br /&gt;
&lt;br /&gt;
===== Patches =====&lt;br /&gt;
&lt;br /&gt;
If your viewer is based on the open source code of version 1.21 or later, there are no patches that you need to implement.&lt;br /&gt;
&lt;br /&gt;
The following patches are a minimum changeset &amp;#039;&amp;#039;&amp;#039;if your viewer is based on the open source code of version 1.20.17 or earlier.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
PLEASE NOTE:  These patches are provided as a convenience only and are NOT TESTED BY LINDEN LAB as a discrete set of changes to code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*  linden-r96560.patch&lt;br /&gt;
** QAR-825 DEV-18489 Event poll is brittle and doesn&amp;#039;t parse status correctly&lt;br /&gt;
** Files affected:&lt;br /&gt;
*** U linden/branches/viewer/viewer_1-21/indra/llcommon/CMakeLists.txt&lt;br /&gt;
*** A linden/branches/viewer/viewer_1-21/indra/llcommon/llhttpstatuscodes.h&lt;br /&gt;
*** U linden/branches/viewer/viewer_1-21/indra/llmessage/llhttpclient.cpp&lt;br /&gt;
*** U linden/branches/viewer/viewer_1-21/indra/llmessage/llurlrequest.cpp&lt;br /&gt;
*** U linden/branches/viewer/viewer_1-21/indra/llmessage/llurlrequest.h&lt;br /&gt;
*** U linden/branches/viewer/viewer_1-21/indra/newview/lleventpoll.cpp&lt;br /&gt;
*  linden-r99401.patch &lt;br /&gt;
** DEV-21865 - Removed forceDisconnect call from LLEventPollResponder.&lt;br /&gt;
** Files affected:&lt;br /&gt;
*** U linden/branches/viewer/viewer_1-21/indra/newview/lleventpoll.cpp&lt;br /&gt;
*  linden-r107540.patch&lt;br /&gt;
** The fix is to handle 404 errors on the event poll quietly, rather than counting up the errors and eventually disconnecting.&lt;br /&gt;
** add back the forceDisconnect call, but only for the main region and with a localizable message.&lt;br /&gt;
** DEV-22203 - Reanabled the forceDisconnect call when the agent&amp;#039;s main region event poll dies.&lt;br /&gt;
** Files affected:&lt;br /&gt;
*** U linden/branches/viewer/viewer_1-22/indra/newview/lleventpoll.cpp&lt;/div&gt;</summary>
		<author><name>Ramzi Linden</name></author>
	</entry>
</feed>