Donate Share

Work Tracking Facilitator

The forum address has changed, you have been automatically redirected. Please update any bookmarks to use the new URL.

Subscribe

Error I am too dumb for

You are viewing a single message from this topic. View all messages.

  1. 2007-11-07 05:45:39 UTC
    Well three months for a reply ....

    Your certainly not too dumb, it's just an awkward error into what the problem really is. With not much to go off of, it looks like you are either:

    a) Installing WTF on Windows
    b) Installing WTF under Apache with Threaded MPMs (not default in *nix)

    In both cases, Apache will process requests via POSIX (ish) threads rather than forking independent and linked processes. That said, earlier versions of DBD::mysql do not support threads. The error about the CLONE method suggests you are running an earlier version given the new code not only supports threads but also has the CLONE method (http://search.cpan.org/src/CAPTTOFU/DBD-mysql-4.005/lib/DBD/mysql.pm).

    Try upgrading DBD::mysql and see how that works.

    Another shot would be (if you're running under *nix; you're stuck with threaded MPMs under Windows) is compiling Apache with the prefork MPM model.

    Notably, upgrading Db Driver Perl modules on any system isn't the easiest thing to do, since you normally have to also upgrade DBI its self which also implies you will have to upgrade all Perl drivers on the system. No fun, but probably necessary to make it work.

    If you're curious ...

    The CLONE method was designed to clear out any private data that will exist in the module that isn't (nor doesn't want to be) mutexed. Given mutexing serializes stuff in multi-thread land, it's not all that ideal. Furthermore, since DBI is effectively dealing with file handles (sockets to a database), DBI must be adequately aware of a threaded environment to ensure assumptions that are made regarding shared files are still safe assumptions. Otherwise, you could send a query through one thread and have another thread pick up the response (in a highly trafficed situation, but easy to come across).

    There are a lot of nitty-gritty details I could get into, but that's the high-level. Not sure if it helps, but it was fun thinking about and writing down ;)
< Previous | 1 | Next >

Add a Reply

This forum does not allow anonymous participation.

Log in to add a reply. Not registered? Create an account to participate and receive email updates when replies are posted to this topic.