-
Notifications
You must be signed in to change notification settings - Fork 373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Faulting module name: ODBC32.dll #434
Comments
Hi @dga26 , I would suggest to setup a clean VM, try to run the script using php-cli (command line). If the issue still persists, please post the steps to recreate your environment, such as OS, MSODBCSQL version, PHP configure options ( Please also make sure that, you provide a php script that reproduces the crash. |
Hi @dga26 ,
|
Hi @ulvii I try with pdo_mysql on MySQL database and no issue. Have you any link to up odbc32.dll? I search on many ms website but the only package I found was mdac2.8 not ready for win server 2012 r2... Sure for the last point I agree with you but at this time I am not able to give you a script because it appears when I m clicking along our website randomly but always before a web redirect with header location |
I suppose it's related to the end of php script. The things I tried is to make pure exit after sending headers A very strange behavior |
@dga26 , odbc32.dll is an OS component on newer versions of Windows so there is no separate download for it. If it is damaged, you will need to restore it from backup or the distribution disk. Please let me know, when you are able to provide a repro script. |
@ulvii thanks i try with another dll without success. A new step i try is about pdo_sqlsrv log severity (-1) when no issue the last lines are inverted ..;any idea? |
Hi @ulvii news from windbg debug ... the final issue is always the same inside windows log events. more information for you with windbg !analyse step as follow
|
hi @ulvii For information |
Hi @dga26 , Your application is trying to free a statement that has already been freed. The debug information that you have posted is from Driver Manager, which does not really help me to identify where the issue is happening. I am assuming you downloaded the latest dlls from PECL. You will also find .pdb files inside that package. Please load them with WinDbg and check if you get any SQLSRV related output. |
Hi @ulvii about "php_pdo_sqlsrv!std::`dynamic atexit destructor for '_Fac_tidy_reg''+0xa222"
|
@dga26 This issue could be a potential bug, and we are interested to look closely into it. To be able to proceed with investigation on this issue we need php repo script in the format of |
hi @Hadis-Fard, @ulvii We are in our application using adodb (lens) to interface app and database plugged with pdo_sqlsrv driver. I cannot send you the whole application but i'll try to minimize the code to reproduce a very special case...only reproducible by the interface with the same scheme Thanks for your answers |
hi @Hadis-Fard, @ulvii 2 new business cases on same windows event root error, sure nobody post another similar issue ? The problem seems to appear since a long date but we never see that before. Faulting application name: php-cgi.exe, version: 7.0.19.0, time stamp: xx Regards |
hi @Hadis-Fard, @ulvii We are forced to downgrade php version to 5.6, this problem made us too much trouble and takes to much time to investigate. We also view and find bugs over php 7.0.20 so don't want to take much risks I'll tried to investigate more soon on virtual machine, if you have any information don't hesitate;) Regards |
Same here. Brand new Server2012R2 with php7.1
Same as above I had to downgrade to v 5.6 to make the pages work. |
hi @Hadis-Fard, @ulvii Any idea about this issue since your last post ? Thanks @psuplat for the feedback, we hope others can bring any other information. I have made all the test i am able to do, i can't waist more time debugging to help you. Regards |
@dga26 @psuplat We cannot reproduce this issue in our test lab. From the logs posted it seems the issue happens in Free statement, and to reproduce the issue we need to know the queries your are executing, the APIs used to execute the queries and the order of them. It would be great if you could give us a minimized PHP repo script, so we can proceed with the investigation on this issue. |
@Hadis-Fard i'll try to compute a windows vm with minimal stack for you but i'm not sure to reproduce with only few php (i've tried before) thanks for reply |
Hi Nobody send you any feedback about that ? Regards |
Hi Another user with the same issue..we are very embarassed with this problem...on a recent PHP release 7.1.7 and apache https://bugs.php.net/bug.php?id=74710&edit=2 Regards |
I must reiterate that this is extremely difficult to investigate without a repro script, and we have never seen it in our test lab. If @dga26 cannot provide one, perhaps @psuplat can? Anything at all that can produce this error, no matter how simple or complicated, will help us track down the problem. |
Hi good news ! after many tries .. we succeed to reproduce with very simple code (not good code sure but 100% efficient ;) ) Fails When
Then
Succeed with normal exception: When :
Then
Succeed too with
Regards Sure i'm not using transaction as normal case but the error doesn't raise correctly |
@david-puglielli When i remove Regards |
Hello. I have the same problem. It may not be a fundamental solution, but isn't it settled by turning off use in a connection pool? (example)
I haven't tried this yet. Thanks. |
same issue here:
|
Hi @david-puglielli or @ulvii Any news about this issue ? I see many guys are waking up around my initial post ;) To help during your tests i notice that the issue raised everytime on win server 2012 r2 Regards |
Thank you @bstoney for the clear steps. We will investigate and get back to you. |
Hi @bstoney Assuming IIS is used, I'm unable to reproduce the issue using zendframework/zend-db or PDO directly. Tested in Win 10, Win Server 2016 and Win Server 2012 R2, with PHP 7.2.7 instead of PHP 7.2.8 (I doubt this will make a difference). Please see the screenshot attached. For Composer, I do not use developer mode nor proxy. |
Sorry, I should have mentioned that I did not see this issue when using php_cgi and IIS, though I cannot be sure it doesn't. Hopefully if you run the test above using the command line |
Hi @bstoney , so run the php script using phpunit in command line? How did you install PHP 7.2? Downloaded the zip file or built it from source? If the latter case, did you build in debug mode? |
Yes @bstoney I can reproduce the issue with phpunit in command line with PHP 7.2.7 in Windows 10 (I haven't yet tried the other Windows platforms). Will do some investigation and get back to you. |
@yitam PHP 7.2 was installed from the downloaded zip file. I have reproduced it in PHP 7.2.7 and 7.2.8 on Windows Server 2012 R2 and Windows Server 2016. I have found that explicitly setting any references to a |
Thanks @bstoney
Just wondering, this line is not really necessary, is it? Anyway, any other info you can provide will help. Thank you! |
That is correct, I am beginning to think that this error might be caused by some underlying variable reference tracking or garbage tracking issue in PHP 7.2. Your tests would hint that this is the case, particularly as you say it does not happen if the variable is unset. However I don't really have enough expertise in how PHP manages references to be sure. |
Hi @bstoney I could finally track exactly why it crashed -- freeing a SQLHANDLE when it had already been freed earlier. However, the cause(s) remain unclear to me, and my suspicions are similar to what you said. Thanks for your input. Please stay tuned. |
Hello @bstoney I have tested the fix with both 64bit and 32bit of PHP 7.2 and verified that the problem no longer occurs. Also tested with PHP 7.1, even though the problem only happens with PHP 7.2. The fix will be available in the next preview release. Thank you for your inputs. |
Thanks heaps @yitam, I will verify the fix as soon as the next preview is available. I really appreciate your efforts. |
Hi @yitam, Thanks for your reply and @bstoney to. I try to rollback odbc driver to older (11 2011.xxx.xx) version because no problem comes on development environment with this one ... without success on production in our customer server. We tried to identify any differences between material and system configuration. Finally we are updating our sources to match php 7.2 version and update pdo_sqlsrv, seeing @bstoney post we are a bit afraid by issue is still happening. Be sure we make effort to send you any input or reproduce script to investigate. Regards |
Thanks @dga26. Please let us know how often you encounter this issue, and yes, if you have any input or script to help us investigate that will be great. |
Hi @yitam, Good news from us ! Win server 2012 Regards Full php.ini conf Bad Good |
Interesting! Thanks @dga26 for the new info. We will keep this issue open regardless for more investigation on our side. |
Hi @dga26 Based on the php opcache fast-shutdown reference,
However, we did not encounter any crash issues when testing our latest drivers 5.3.0 with PHP 7.2 with simple queries using IIS as the web server. We repeated the tests against PHP 7.0 and 7.1 by enabling the fast_shutdown flags. No crash either. If possible, please consider providing your typical queries / scenarios that you experienced crashes before. |
hi @yitam , same problem today on windows server 2016, php 7.2.9.... |
Thanks @dga26 for getting back to us. We suspect it's a similar issue with the one reported by @bstoney above (also only happened with php 7.2*). We are planning to release a preview with the fix for that, so please stay tuned. In the meantime, you might want to send us some typical queries that you run on a regular basis. That would help us investigate. |
Hi @dga26 and @bstoney , just so you know, 5.4.0-preview is released today. Please let us know when you have a chance to verify the fix. |
Thanks @yitam , my tests are all passing with 5.4.0-preview. 👍 |
Thanks @yitam , we had the same problems (with php 7.2.9 and sqlsrv 5,3,0). With 5.4.0-preview our tests are all passing. |
Hi @yitam , Seems to be good for us after few install. Thanks a lot for your job @david-puglielli @yitam and others like me. Regards |
Thanks for the good news @dga26 ! Our plan is to continue working on some feature requests and adding new features for the production release. We can't promise you a date yet but please stay tuned. I'll close this issue, and please feel free to reopen if the same problem resurfaces. |
Hi,
I have posted this bug on php.net portal :
https://bugs.php.net/bug.php?id=74710
I can send you more stacktrace or analysis informations from debugdiag or procmon explorer..
The most important to keep is :
i use pdo_sqlsrv pre-release from latest 4.2.0 (https://github.com/Microsoft/msphpsql/releases/tag/v4.2.0-preview) and test many before.
Everytime php-cgi process failed with
Faulting application path: C:\PHP\php-cgi.exe
Faulting module path: C:\Windows\SYSTEM32\ODBC32.dll
Do you have any idea about this bug?
Regards
David
The text was updated successfully, but these errors were encountered: