<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Lucida Console'; font-size:9pt; font-weight:400; font-style:normal;">On Mittwoch, 30. September 2009, Alex Balashov wrote:<br>
&gt; &gt; Do you use allow_trusted in caching mode, or does it query the db for<br>
&gt; &gt; every invocation? If the latter, i'd take a closer look to the failure<br>
&gt; &gt; handling logic in the function, perhaps it lets some variables staying<br>
&gt; &gt; in a unclean state after a failure.<br>
&gt;<br>
&gt; Non-caching mode, and by design.  The list changes with some frequency.<br>
&gt;<br>
&gt; I understood from the backtrace that the crash was *in* the function<br>
&gt; mysql_real_escape_string(), but I did not necessarily assume that means<br>
&gt; the problem is with the implementation of that function in the sense of<br>
&gt; a "bug."<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Hi Alex,<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>yes, perhaps i expressed myself a bit unclear.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>&gt; Perhaps the function should do a better job of validating all input it<br>
&gt; receives, yes, but the fundamental problem may be with the way that it's<br>
&gt; being invoked by the caller under that particular set of circumstances.<br>
&gt;   That's assuming the problem has to do with invalid parameters to the<br>
&gt; function at all, and not some indirect cause.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>This is also my opinion.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>&gt; I have tried very hard to recreate this problem with a few other modules<br>
&gt; that utilise the database and also call standard libmysqlclient<br>
&gt; functions (including mysql_real_escape_string(), I would imagine) such<br>
&gt; as avpops, and I cannot get it to crash.  My only conclusion is that<br>
&gt; there has got to be something that the implementation of allow_trusted()<br>
&gt; is doing that is a little bit ... special.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>I also suspect this, as i don't get this behaviour so far in similar test/ production scenarios.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Henning</p></body></html>