On Mittwoch, 30. September 2009, Alex Balashov wrote:
Do you use
allow_trusted in caching mode, or does it query the db for
every invocation? If the latter, i'd take a closer look to the failure
handling logic in the function, perhaps it lets some variables staying
in a unclean state after a failure.
Non-caching mode, and by design. The list changes with some frequency.
I understood from the backtrace that the crash was *in* the function
mysql_real_escape_string(), but I did not necessarily assume that means
the problem is with the implementation of that function in the sense of
a "bug."
Hi Alex,
yes, perhaps i expressed myself a bit unclear.
Perhaps the function should do a better job of
validating all input it
receives, yes, but the fundamental problem may be with the way that it's
being invoked by the caller under that particular set of circumstances.
That's assuming the problem has to do with invalid parameters to the
function at all, and not some indirect cause.
This is also my opinion.
I have tried very hard to recreate this problem with a
few other modules
that utilise the database and also call standard libmysqlclient
functions (including mysql_real_escape_string(), I would imagine) such
as avpops, and I cannot get it to crash. My only conclusion is that
there has got to be something that the implementation of allow_trusted()
is doing that is a little bit ... special.
I also suspect this, as i don't get this behaviour so far in similar test/
production scenarios.
Henning