FAQ
Hi,

I was compiling PHP 5.4 SVN for Windows and noticed that the NTS Debug
version does not compile correctly if mysqlnd is enabled. The ZTS Debug,
ZTS Release and NTS Release versions work without any problems. Also,
PHP 5.3 in all 4 variants (Debug/Release, NTS/ZTS) has no problems.

I've attached the error messages I got as a text file, I apologize in
advance for the German error messages, the Visual Studio version I have
I have no idea how to make it output English messages. (There appears to
be no LC_ALL=C in Windows.) However, it should be easy to search for the
corresponding error message IDs if you have trouble understanding the
messages.

To summarize the error, it chokes on the following statements:

mysqlnd_driver.c, 100:
DBG_ENTER("mysqlnd_error_list_pdtor");

mysqlnd_driver.c, 104:
DBG_VOID_RETURN;

Since I have no idea whatsoever about the internals of mysqlnd, I'm
posting this to the list.

Regards,
Christian

Search Discussions

  • Pierre Joye at Jan 22, 2012 at 10:07 am
    hi,

    I cannot reproduce the error, mysqlnd builds just fine here.

    What's your configure line?

    Cheers,

    2012/1/21 Christian Seiler <chris_se@gmx.net>:
    Hi,

    I was compiling PHP 5.4 SVN for Windows and noticed that the NTS Debug
    version does not compile correctly if mysqlnd is enabled. The ZTS Debug,
    ZTS Release and NTS Release versions work without any problems. Also,
    PHP 5.3 in all 4 variants (Debug/Release, NTS/ZTS) has no problems.

    I've attached the error messages I got as a text file, I apologize in
    advance for the German error messages, the Visual Studio version I have
    I have no idea how to make it output English messages. (There appears to
    be no LC_ALL=C in Windows.) However, it should be easy to search for the
    corresponding error message IDs if you have trouble understanding the
    messages.

    To summarize the error, it chokes on the following statements:

    mysqlnd_driver.c, 100:
    DBG_ENTER("mysqlnd_error_list_pdtor");

    mysqlnd_driver.c, 104:
    DBG_VOID_RETURN;

    Since I have no idea whatsoever about the internals of mysqlnd, I'm
    posting this to the list.

    Regards,
    Christian

    --
    PHP Internals - PHP Runtime Development Mailing List
    To unsubscribe, visit: http://www.php.net/unsub.php


    --
    Pierre

    @pierrejoye | http://blog.thepimp.net | http://www.libgd.org
  • Christian Seiler at Jan 22, 2012 at 10:38 am
    Hi Pierre,
    I cannot reproduce the error, mysqlnd builds just fine here.

    What's your configure line?
    cscript /nologo configure.js
    "--disable-phar"
    "--disable-ipv6"
    "--disable-zts"
    "--enable-cgi"
    "--disable-bcmath"
    "--disable-calendar"
    "--disable-odbc"
    "--disable-tokenizer"
    "--disable-xmlreader"
    "--disable-xmlwriter"
    "--without-wddx"
    "--enable-debug"
    "--enable-cli-win32"
    "--enable-pdo"
    "--with-openssl"
    "--with-php-build=..\deps"
    "--with-libxml"
    "--with-pdo-sqlite"

    This is done in a Windows SDK 6.1 shell with

    setenv /debug /x86 /xp [*]

    and VC9 Pro SP1 is used. The same configure line works fine for PHP
    5.3.9.

    Thanks,
    Christian

    [*] But also setenv /release /x86 /xp has the same issue.
  • Pierre Joye at Jan 22, 2012 at 11:37 am
    hi,

    Can reproduce it now, can you open a bug please and assign it to mysql?

    The problem is due to TSRMLS_FETCH being called at the wrong place.
    I'm not sure how they want it but ideally it should in the DBG macro
    already.

    Added Andrey to the loop.

    Cheers,
    On Sun, Jan 22, 2012 at 11:38 AM, Christian Seiler wrote:
    Hi Pierre,

    I cannot reproduce the error, mysqlnd builds just fine here.

    What's your configure line?

    cscript /nologo configure.js
    "--disable-phar"
    "--disable-ipv6"
    "--disable-zts"
    "--enable-cgi"
    "--disable-bcmath"
    "--disable-calendar"
    "--disable-odbc"
    "--disable-tokenizer"
    "--disable-xmlreader"
    "--disable-xmlwriter"
    "--without-wddx"
    "--enable-debug"
    "--enable-cli-win32"
    "--enable-pdo"
    "--with-openssl"
    "--with-php-build=..\deps"
    "--with-libxml"
    "--with-pdo-sqlite"

    This is done in a Windows SDK 6.1 shell with

    setenv /debug /x86 /xp  [*]

    and VC9 Pro SP1 is used. The same configure line works fine for PHP 5.3.9.

    Thanks,
    Christian

    [*] But also setenv /release /x86 /xp has the same issue.


    --
    Pierre

    @pierrejoye | http://blog.thepimp.net | http://www.libgd.org
  • Andrey Hristov at Jan 22, 2012 at 8:16 pm
    Hi Pierre,
    On 01/22/2012 12:37 PM, Pierre Joye wrote:
    hi,

    Can reproduce it now, can you open a bug please and assign it to mysql?

    The problem is due to TSRMLS_FETCH being called at the wrong place.
    I'm not sure how they want it but ideally it should in the DBG macro
    already.
    called at the wrong place? it should be always before DBG or the
    DBG_ENTER macro won't compile. So how it could be possibly wrong? :)
    Added Andrey to the loop.
    Cheers,

    On Sun, Jan 22, 2012 at 11:38 AM, Christian Seilerwrote:
    Hi Pierre,

    I cannot reproduce the error, mysqlnd builds just fine here.

    What's your configure line?

    cscript /nologo configure.js
    �"--disable-phar"
    �"--disable-ipv6"
    �"--disable-zts"
    �"--enable-cgi"
    �"--disable-bcmath"
    �"--disable-calendar"
    �"--disable-odbc"
    �"--disable-tokenizer"
    �"--disable-xmlreader"
    �"--disable-xmlwriter"
    �"--without-wddx"
    �"--enable-debug"
    �"--enable-cli-win32"
    �"--enable-pdo"
    �"--with-openssl"
    �"--with-php-build=..\deps"
    �"--with-libxml"
    �"--with-pdo-sqlite"

    This is done in a Windows SDK 6.1 shell with

    �setenv /debug /x86 /xp �[*]

    and VC9 Pro SP1 is used. The same configure line works fine for PHP 5.3.9.

    Thanks,
    Christian

    [*] But also setenv /release /x86 /xp has the same issue.
    Best,
    Andrey
  • Pierre Joye at Jan 22, 2012 at 10:07 pm
    hi Andrey,

    The TSRM macro must always be the last declaration, always. The
    problem is that the DBG macros have code in them...
    On Sun, Jan 22, 2012 at 9:15 PM, Andrey Hristov wrote:
    Hi Pierre,
    On 01/22/2012 12:37 PM, Pierre Joye wrote:

    hi,

    Can reproduce it now, can you open a bug please and assign it to mysql?

    The problem is due to TSRMLS_FETCH being called at the wrong place.
    I'm not sure how they want it but ideally it should in the DBG macro
    already.

    called at the wrong place? it should be always before DBG or the DBG_ENTER
    macro won't compile. So how it could be possibly wrong? :)

    Added Andrey to the loop.
    Cheers,

    On Sun, Jan 22, 2012 at 11:38 AM, Christian Seiler<chris_se@gmx.net>
    wrote:
    Hi Pierre,

    I cannot reproduce the error, mysqlnd builds just fine here.

    What's your configure line?


    cscript /nologo configure.js
    �"--disable-phar"
    �"--disable-ipv6"
    �"--disable-zts"
    �"--enable-cgi"
    �"--disable-bcmath"
    �"--disable-calendar"
    �"--disable-odbc"
    �"--disable-tokenizer"
    �"--disable-xmlreader"
    �"--disable-xmlwriter"
    �"--without-wddx"
    �"--enable-debug"
    �"--enable-cli-win32"
    �"--enable-pdo"
    �"--with-openssl"
    �"--with-php-build=..\deps"
    �"--with-libxml"
    �"--with-pdo-sqlite"

    This is done in a Windows SDK 6.1 shell with

    �setenv /debug /x86 /xp �[*]

    and VC9 Pro SP1 is used. The same configure line works fine for PHP
    5.3.9.

    Thanks,
    Christian

    [*] But also setenv /release /x86 /xp has the same issue.
    Best,
    Andrey


    --
    Pierre

    @pierrejoye | http://blog.thepimp.net | http://www.libgd.org
  • Christian Seiler at Jan 23, 2012 at 11:15 pm
    Hi Pierre,
    Can reproduce it now, can you open a bug please and assign it to mysql?
    Done: https://bugs.php.net/bug.php?id=60863

    Thanks,
    Christian

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-internals @
categoriesphp
postedJan 21, '12 at 9:10p
activeJan 23, '12 at 11:15p
posts7
users3
websitephp.net

People

Translate

site design / logo © 2018 Grokbase