• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: MISC-686
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Deanfred Brandeis
Votes: 29
Watchers: 12
Operations

If you were logged in you would be able to see more operations.
4. Second Life Misc Issues - MISC

Eliminate all script delays.

Created: 14/Sep/07 06:14 PM   Updated: 12/Jul/09 01:34 PM
Return to search
Component/s: Miscellaneous
Affects Version/s: None
Fix Version/s: None

Environment: NA
Issue Links:
Duplicate
 
Relates
 


 Description  « Hide
Reproduction:
1. Try to create a viable product in LSL
2. Observe that many silly walls are run into

Script delays that are meant to prevent or slow down griefing and spamming do not work. Griefers, spammers, and honest developers alike can work around these problems by using the dispatcher-to-agents technique. Griefers and spammers don't care if they run into walls. They just try again and again and again.

The honest developers and their customers are the ones who really suffer because of these limitations. Developers can work around these delays, but due to the delays, they cannot easily write a robust, reliable application that will always work.

In addition, the use of "multithreading" in scripts causes more overall lag, due to the way that LSL is scheduled, and due to interscript communication overhead. These delays that are designed to lessen lag are actually causing more lag.

Allow honest developers to write robust applications. Don't cripple your technology to fight griefing and spamming.

1. Remove all simple script delays from the LSL runtime.
2. Use throttles similar to HTTPRequest has, if you must, on functions that really need it only.
3. Consider which functions really don't need delay/throttles.

  • but make sure we have a way to detect if we've been throttled

If detection of throttle is impossible then as a less desirable alternative cause the script to block when it is throttled (i.e. dynamic delay) This dynamic delay should only kick in after a threshold, it should be possible to make several zero-delay calls before encountering any with delays.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Lee Ponzu made changes - 22/Oct/07 11:32 AM
Field Original Value New Value
Environment NA
Summary Remove all script delays and grey-goo mitigation Reconsider values of script delays and grey-goo mitigation
AnnMarie Otoole made changes - 30/Oct/07 11:15 PM
Summary Reconsider values of script delays and grey-goo mitigation Reconsider values of script delays causing XML-RPC functions to fail.
Issue Type New Feature [ 2 ] Bug [ 1 ]
Priority Normal [ 4 ] Major [ 3 ]
Deanfred Brandeis made changes - 31/Oct/07 10:02 PM
Summary Reconsider values of script delays causing XML-RPC functions to fail. Eliminate all script delays.
Gigs Taggart made changes - 06/Nov/07 11:28 PM
Description Script delays that are meant to prevent or slow down griefing and spamming do not work. Griefers, spammers, and honest developers alike can work around these problems by using the dispatcher-to-agents technique. However, this technique has a built-in race condition, which is exacerbated by the additional griefing/spamming "protection" related to preventing "grey-goo" attacks. Griefers and spammers again work around these issues. They don't care if they run into walls. They just try again and again and again.

The honest developers and their customers are the ones who really suffer because of these limitations. Developers can work around these delays, but due to the delays, they cannot write a robust, reliable application that will always work. They lose customers because their popular vendors aren't reliable. They get complaints because their web-integrated application that uses XML-RPC is very slow.

--------
Remove all script delays from the LSL runtime. Remove all grey-goo mitigation from the LSL runtime. Allow honest developers to write robust applications. Don't cripple your technology to fight griefing and spamming; investigate abuse reports quickly, and use the TOS to ban them.
--------
Script delays that are meant to prevent or slow down griefing and spamming do not work. Griefers, spammers, and honest developers alike can work around these problems by using the dispatcher-to-agents technique. Griefers and spammers don't care if they run into walls. They just try again and again and again.

The honest developers and their customers are the ones who really suffer because of these limitations. Developers can work around these delays, but due to the delays, they cannot write a robust, reliable application that will always work. They lose customers because their popular vendors aren't reliable.


Allow honest developers to write robust applications. Don't cripple your technology to fight griefing and spamming.

1. Remove all simple script delays from the LSL runtime.
2. Use throttles similar to HTTPRequest has, if you must, on functions that really need it only.
3. Consider which functions really don't need delay/throttles.
      * but make sure we have a way to detect if we've been throttled

If detection of throttle is impossible then as a less desirable alternative cause the script to block when it is throttled (i.e. dynamic delay)
Gigs Taggart made changes - 06/Nov/07 11:33 PM
Description Script delays that are meant to prevent or slow down griefing and spamming do not work. Griefers, spammers, and honest developers alike can work around these problems by using the dispatcher-to-agents technique. Griefers and spammers don't care if they run into walls. They just try again and again and again.

The honest developers and their customers are the ones who really suffer because of these limitations. Developers can work around these delays, but due to the delays, they cannot write a robust, reliable application that will always work. They lose customers because their popular vendors aren't reliable.


Allow honest developers to write robust applications. Don't cripple your technology to fight griefing and spamming.

1. Remove all simple script delays from the LSL runtime.
2. Use throttles similar to HTTPRequest has, if you must, on functions that really need it only.
3. Consider which functions really don't need delay/throttles.
      * but make sure we have a way to detect if we've been throttled

If detection of throttle is impossible then as a less desirable alternative cause the script to block when it is throttled (i.e. dynamic delay)
Script delays that are meant to prevent or slow down griefing and spamming do not work. Griefers, spammers, and honest developers alike can work around these problems by using the dispatcher-to-agents technique. Griefers and spammers don't care if they run into walls. They just try again and again and again.

The honest developers and their customers are the ones who really suffer because of these limitations. Developers can work around these delays, but due to the delays, they cannot write a robust, reliable application that will always work. They lose customers because their popular vendors aren't reliable.


Allow honest developers to write robust applications. Don't cripple your technology to fight griefing and spamming.

1. Remove all simple script delays from the LSL runtime.
2. Use throttles similar to HTTPRequest has, if you must, on functions that really need it only.
3. Consider which functions really don't need delay/throttles.
      * but make sure we have a way to detect if we've been throttled

If detection of throttle is impossible then as a less desirable alternative cause the script to block when it is throttled (i.e. dynamic delay) This dynamic delay should only kick in after a threshold, it should be possible to make several zero-delay calls before encountering any with delays.
Gigs Taggart made changes - 06/Nov/07 11:36 PM
Description Script delays that are meant to prevent or slow down griefing and spamming do not work. Griefers, spammers, and honest developers alike can work around these problems by using the dispatcher-to-agents technique. Griefers and spammers don't care if they run into walls. They just try again and again and again.

The honest developers and their customers are the ones who really suffer because of these limitations. Developers can work around these delays, but due to the delays, they cannot write a robust, reliable application that will always work. They lose customers because their popular vendors aren't reliable.


Allow honest developers to write robust applications. Don't cripple your technology to fight griefing and spamming.

1. Remove all simple script delays from the LSL runtime.
2. Use throttles similar to HTTPRequest has, if you must, on functions that really need it only.
3. Consider which functions really don't need delay/throttles.
      * but make sure we have a way to detect if we've been throttled

If detection of throttle is impossible then as a less desirable alternative cause the script to block when it is throttled (i.e. dynamic delay) This dynamic delay should only kick in after a threshold, it should be possible to make several zero-delay calls before encountering any with delays.
Reproduction:
1. Try to create a viable product in LSL
2. Observe that many silly walls are run into


Script delays that are meant to prevent or slow down griefing and spamming do not work. Griefers, spammers, and honest developers alike can work around these problems by using the dispatcher-to-agents technique. Griefers and spammers don't care if they run into walls. They just try again and again and again.

The honest developers and their customers are the ones who really suffer because of these limitations. Developers can work around these delays, but due to the delays, they cannot easily write a robust, reliable application that will always work.

In addition, the use of "multithreading" in scripts causes more overall lag, due to the way that LSL is scheduled, and due to interscript communication overhead. These delays that are designed to lessen lag are actually causing more lag.


Allow honest developers to write robust applications. Don't cripple your technology to fight griefing and spamming.

1. Remove all simple script delays from the LSL runtime.
2. Use throttles similar to HTTPRequest has, if you must, on functions that really need it only.
3. Consider which functions really don't need delay/throttles.
      * but make sure we have a way to detect if we've been throttled

If detection of throttle is impossible then as a less desirable alternative cause the script to block when it is throttled (i.e. dynamic delay) This dynamic delay should only kick in after a threshold, it should be possible to make several zero-delay calls before encountering any with delays.
WarKirby Magojiro made changes - 21/Nov/07 02:30 AM
Issue Type Bug [ 1 ] New Feature [ 2 ]
Rob Linden made changes - 21/Dec/07 11:10 PM
Workflow jira [ 15326 ] jira-2007-12-19 [ 18186 ]
Rob Linden made changes - 22/Dec/07 12:39 AM
Workflow jira-2007-12-19 [ 18186 ] jira-2007-12-21 [ 19840 ]
Rob Linden made changes - 23/Dec/07 01:01 AM
Workflow jira-2007-12-21 [ 19840 ] jira-2007-12-22a [ 50125 ]
McCabe Maxsted made changes - 21/Feb/08 05:31 AM
Link This issue is related to by SVC-710 [ SVC-710 ]
Ezian Ecksol made changes - 09/Sep/08 12:45 PM
Link This issue is duplicated by SVC-3012 [ SVC-3012 ]
Sue Linden made changes - 13/Nov/08 11:37 AM
Workflow jira-2007-12-22a [ 50125 ] jira-2008-11-14 [ 74390 ]
Sue Linden made changes - 13/Nov/08 11:52 AM
Workflow jira-2007-12-22a [ 74390 ] jira-2008-11-14 [ 78635 ]
Sue Linden made changes - 13/Nov/08 04:18 PM
Workflow jira-2008-11-14 [ 78635 ] jira-2008-11-14a [ 83494 ]
Contagious Republic made changes - 03/Jan/09 12:26 AM
Link This issue is related to by MISC-2153 [ MISC-2153 ]
Strife Onizuka made changes - 29/Jun/09 01:58 PM
Link This issue is related to by SVC-4467 [ SVC-4467 ]
Tali Rosca made changes - 12/Jul/09 01:34 PM
Link This issue is related to by SVC-4534 [ SVC-4534 ]