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