On Fri, 12 Oct 2012 00:54:51 -0400, Nick Sabalausky wrote:

On Fri, 12 Oct 2012 03:59:11 +0200
"Chang Long" changlon@gmail.com wrote:

On Thu, 11 Oct 2012 16:50:40 +0200, S=F6nke Ludwig wrote:

Am 10/11/2012 5:09 AM, schrieb Chang Long:

still use vibe.core.tcp, after I change it to vibe.core.net, and
fix a ref error, it throw this when I run it:
=20
object.Exception@/opt/installs/d/vibe.d/source/vibe/core/drivers/libev=
ent2tcp.d(482):<br>Socket error: 32 ---------------- 5 app 0x0000000106b19404<br>=20<br>Thanks for the hint, I've pushed a version with the compile errors<br>fixed and also improved the error message (fix is in vibe.d<br>master). The error message should be similar to "Failed to connect<br>to host xx on port yy".<br>=20<br>I am sure I use the correct username and password, but it still throw<br>this:<br>=20<br>object.Exception@/opt/installs/d/vibe.d/source/vibe/core/drivers/libevent=<br>2.d(210):<br>Failed to connect to host 127.0.0.1 on port 3306: 33 ----------------<br>5 app 0x000000010e8f0018 vibe.core.net.TcpConnection<br>vibe.core.net.connectTcp(immutable(char)[], ushort) + 68 6 app<br>0x000000010e90fe2f void mysql.connection.Connection.initconnection()

  • 111 7 app 0x000000010e91076d mysql.connection.Connection
    mysql.connection.Connection.__ctor(immutable(char)[],
    immutable(char)[], immutable(char)[], immutable(char)[], ushort,
    uint) + 137 8 app 0x000000010e85d5c2 mysql.connection.Connection
    mysql.db.MysqlDB.createConnection() + 82 9 app 0x000000010e85d7f8
    vibe.core.connectionpool.LockedConnection!(mysql.connection.Connection).L=

ockedConnection

vibe.core.connectionpool.ConnectionPool!(mysql.connection.Connection).Con=
nectionPool.lockConnection()

  • 512 10 app 0x000000010e85d55a
    vibe.core.connectionpool.LockedConnection!(mysql.connection.Connection).L=

ockedConnection

mysql.db.MysqlDB.lockConnection() + 110 11 app 0x000000010e8ef927
void index.showHome(vibe.http.server.HttpServerRequest,
vibe.http.server.HttpServerResponse) + 183 12 app 0x000000010e864978
void std.functional.DelegateFaker!(void
function(vibe.http.server.HttpServerRequest,
vibe.http.server.HttpServerResponse)).DelegateFaker.doIt(vibe.http.serve=<br>r.HttpServerRequest,<br>vibe.http.server.HttpServerResponse) + 104 13 app 0x000000010e921c0a<br>void<br>vibe.http.router.UrlRouter.handleRequest(vibe.http.server.HttpServerReque=<br>st,<br>vibe.http.server.HttpServerResponse) + 386 14 app 0x000000010e863373<br>bool vibe.http.server.handleRequest(vibe.stream.stream.Stream,<br>immutable(char)[], vibe.http.server.HTTPServerListener, ref<br>vibe.http.server.HttpServerSettings) + 4775 15 app 0x000000010e86200c<br>void<br>vibe.http.server.handleHttpConnection(vibe.core.net.TcpConnection,<br>vibe.http.server.HTTPServerListener) + 488 16 app 0x000000010e85f1a2<br>void<br>vibe.http.server.listenHttpPlain(vibe.http.server.HttpServerSettings,<br>void delegate(vibe.http.server.HttpServerRequest,<br>vibe.http.server.HttpServerResponse)).void<br>doListen(vibe.http.server.HttpServerSettings,<br>vibe.http.server.HTTPServerListener, immutable(char)[]).void<br>__lambda1(vibe.core.net.TcpConnection) + 54 17 app 0x000000010e8c9870<br>extern (C) nothrow void<br>vibe.core.drivers.libevent2_tcp.onConnect(int, short, void).void
ClientTask.execute() + 668 18 app 0x000000010e93fe5d void
vibe.core.core.CoreTask.run() + 129 19 app 0x000000010e954c79 void
core.thread.Fiber.run() + 49 20 app 0x000000010e954821
fiber_entryPoint + 97 21 ??? 0x0000000000000000 0x0 + 0
=20
=20
my server is: ./mysqld Ver 5.5.27 for osx10.8 on i386 (Source
distribution)
=20

Just a shot in the dark, but is it possible that your database could be
using an old-style MySQL password? If you're not sure, try re-setting
your password in the DB.

Somewhere around 4.0-ish MySQL introduced a new, longer, more secure
password hash system, but kept supporting the old for compatibility.
The mysqln library only supports the new style. I ran into that problem
once.

I do some check and turn out the mac port default install has a option "skip-networking" on my.cnf, after remove it the problem is solved.