View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000584 | PHP for OS/2, ArcaOS & eComStation (PHP versions v8.x v7.x v5.x) | Bug | public | 2013-09-11 22:42 | 2021-03-12 02:32 |
Reporter | Igor Vaskov | Assigned To | psmedley | ||
Priority | urgent | Severity | block | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | I586 | OS | ECS | OS Version | 2.0 |
Summary | 0000584: php iconv not working (latest kit) | ||||
Description | Please test it! It is very big problem... <?php $test = "TEST OK"; $test = iconv( "UTF-8", "windows-1251//IGNORE", $test ); if (!$test) { echo "test failed"; } else echo $test; ?> | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
|
I back extension kit from php 5.3.17. It works ... maybe correctly. |
|
for some reason 5.3.20 is picking up the minimal iconv implementation from libc rather than gnu iconv... |
|
http://smedley.id.au/tmp/php-5.3.27-os2-20130915.zip Patches same as above 5.3.20 build, updated PHP source, iconv is linked against iconv 1.14 and should be ok. |
|
It works, but there are traps. See attache. |
|
would be helpful is you could install libc065.xqs and find a way to generate a ucv32.xqs Looks like a potential libc bug tho... |
|
Ok. Where can I get libc065.xqs? ucv32.dll it is renamed uconv32.dll from IBM. It was renamed and is used to fix a multiprocessor. Where can I get ucv32.xqs? This kit for uconv: http://mantis.smedley.id.au/file_download.php?file_id=283&type=bug |
|
Libclibc065_xqs-20120511.zip Do you have a symbol file for ucv32? |
|
Paul, please say me link to download this file. No, I do not a symbol file for ucv32. |
|
libc.xqs is at http://home.earthlink.net/~steve53/betas/libc065_xqs-20120511.zip Do you have a link to the distro that includes ucv32.dll? I know what it is, but it's pretty well hidden. |
|
Please update your exceptq.dll to the version in http://home.earthlink.net/~steve53/betas/exceptq-7.11-dll-shl-2013-05-14.zip |
|
ucv32.dll is in http://ecomstation.ru/projects/acpitools/download/uconvfix.ZIP Ucv32.dll is uconv.dll with the entry points renamed. Uconv.dll is a wrapper to serializes access to the ucv32.dll. I'll tweak the original uconv.sym to work with ucv32.dll when I get a moment. Offhand, the ucv32 traps look like heap corruption. It's too soon to tell if they are all the same defect. I'll have more to say once we get a more complete .trp file. |
|
Grab uconv.xqs and ucv32.xqs from the ticket and install them to the directory that contains the matching DLL. |
|
A bit of analysis which waiting for a better .trp file... I picked 5540_29.TRP because it is representative of one kind of trap. Igor is using Exceptq Version: 7.10 (Mar 1 2011) which is somewhat antique, so the location decode is not as good as it could be. We have 0742E774 1D0E82A6 PHP5 0001:000382A6 _timelib_dump_tzinfo 0001:000384DE (parse_tz.obj) which tells us we doing some TZ related. We also have 0742DA14 1DE58A47 LIBC065 0001:00058A47 The gcc065 map says Module: D:\coding\libc\0.6\obj\OS2\RELEASE\emx\omf\libc_s.lib(setlocale.obj) 0001:00058801* ___libc_localeCreateObjects 0001:000589a5 __std_setlocale so we are probably in setlocale or a static helper function. We also have 0742D500 1F9940AF UCV32 0001:000040AF which may be in 0001:00003FBC U32MapCpToUcsCp This is consistent with the above. |
|
No new bugs during this time. All debug information available. We'll wait. |
|
New trap php 5.3.27 and last part debug info. |
|
The new .trp file was useful. Please update uvc32.xqs with the version in ucv32_xqs-20130922.zip. It's rebuilt to include more symbols. We might have another SMP issue. The call path appears to be __std_setlocale -> localeDo -> localeDoOne -> __libc_localeCreateObjects -> no stack frame UniCreateLocaleObject -> no stack frame, libuni.dll setlocale.c:1341 _UniMalloc -> no stack frame, ucv32.dll _malloc -> _umalloc+27E) _umallocSub_146B8 traps here I need to think about how best to fix this. It might be sufficient to modify ucv32 to serialize _UniMalloc and _UniFree calls. |
|
I use a new patch than ecs team. Fix in attache. Please check size of ucv32.dll. I know of two different files with a linearized version. My ucv32.dll similar of dll from attache. |
|
OK. What they did if fix the serialization code to use a shared semaphore. The older implementation could only serialize calls that passed through uconv.dll and, as Vyacheslav found, the code was not robust. Please ask him to add code to serialize the UniMalloc and UniFree calls. This may be sufficient to solve your traps. Does anyone have a popuplog for the exceptions that caused uconvfix to be created? I'd like to check if the exception is the same one we are working on. |
|
No a popuplog of all time. I asked to add serialization UniMalloc and UniFree to fix. |
|
My bad. The exception info will be written to stderr, since this is a libc apps. You might find a copy of the exception info in an older set of your log files. |
|
Maybe it? Killed by SIGSEGV pid=0x6f94 ppid=0x553d tid=0x0010 slot=0x009d pri=0x0200 mc=0x0001 E:\APPS\APACHE2\BIN\HTTPD.EXE UCV32 0:00005b56 cs:eip=005b:1f995b56 ss:esp=0053:02b7d4b4 ebp=02b7d500 ds=0053 es=0053 fs=150b gs=0000 efl=00010206 eax=02630000 ebx=00000210 ecx=0000afb0 edx=00000000 edi=02ad5050 esi=1ba10489 Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it. [Wed Sep 18 16:11:51 2013] [error] (OS 343)OS/2 error 343: unable to open work queue, exiting [Wed Sep 18 21:49:37 2013] [notice] caught SIGTERM, shutting down [Wed Sep 18 21:49:48 2013] [notice] Apache/2.2.24 (OS/2) configured -- resuming normal operations ** Secondary exception C0000005 occurred in TID 34 at cs:eip 005B:1F9949C6 ** ** Exceptq report suppressed - exceptq in use by TID 4 ** Killed by SIGSEGV pid=0x85d3 ppid=0x85cb tid=0x0022 slot=0x0108 pri=0x0200 mc=0x0001 E:\APPS\APACHE2\BIN\HTTPD.EXE UCV32 0:000049c6 cs:eip=005b:1f994APACHE2: UnableToOpenConfigureFile `delegates.xml' @ warning/configure.c/GetConfigureOptions/591. efl=00010217 eax=02b01ea0 ebx=0000000c ecx=00000043 edx=02b01ea0 edi=093fd86c esi=093fd968 Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it. Creating 85D3_04.TRP |
|
This is an example of the libc exception report that gets written when you have uconvfix installed. I was looking for an older example that was written before you installed the uconvfix patch. I've asked Slavik if he can provide this. |
|
Have you had any ucv32 exceptions since installing Slavik's unconvfix update? http://moveton.tk/files/uconvfix2-130924.zip |
|
I checked first fix on the desktop. After successful tests will bear on the server. |
|
I installed the latest version of uconvfix on my server. The experiment was not clean. I also migrated from 5.3 to 5.4 php. If there are traps, I will report. |
|
Everything is stable. Without traps. |
|
ticket can be closed now? |
|
Yes. Now all works correctly. |
|
resolved by current public builds built with gcc 4.7 and installation of latest uconvfix |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-09-11 22:42 | Igor Vaskov | New Issue | |
2013-09-11 22:54 | Igor Vaskov | Note Added: 0002484 | |
2013-09-14 07:35 | psmedley | Note Added: 0002486 | |
2013-09-15 07:09 | psmedley | Note Added: 0002489 | |
2013-09-17 09:54 | psmedley | Assigned To | => psmedley |
2013-09-17 09:54 | psmedley | Status | new => feedback |
2013-09-17 12:09 | Igor Vaskov | Note Added: 0002498 | |
2013-09-17 12:09 | Igor Vaskov | Status | feedback => assigned |
2013-09-17 12:09 | Igor Vaskov | Note Edited: 0002498 | |
2013-09-17 12:09 | Igor Vaskov | File Added: traps_php.5.3.27.zip | |
2013-09-17 20:14 | psmedley | Note Added: 0002501 | |
2013-09-17 21:11 | Igor Vaskov | Note Added: 0002502 | |
2013-09-17 21:15 | Igor Vaskov | Note Edited: 0002502 | |
2013-09-17 21:15 | Igor Vaskov | Note Edited: 0002502 | |
2013-09-17 23:35 | psmedley | Note Added: 0002503 | |
2013-09-18 11:43 | Igor Vaskov | Note Added: 0002504 | |
2013-09-18 17:21 | Steven Levine | Note Added: 0002505 | |
2013-09-18 17:22 | Steven Levine | Relationship added | related to 0000578 |
2013-09-18 17:23 | Steven Levine | Note Added: 0002506 | |
2013-09-18 17:43 | Steven Levine | Note Added: 0002507 | |
2013-09-18 17:49 | Steven Levine | File Added: uconv_xqs-20130918.zip | |
2013-09-18 17:50 | Steven Levine | File Added: ucv32_xqs-20130918.zip | |
2013-09-18 17:51 | Steven Levine | Note Added: 0002508 | |
2013-09-21 00:40 | Steven Levine | Note Added: 0002513 | |
2013-09-21 20:31 | Igor Vaskov | Note Added: 0002514 | |
2013-09-22 11:57 | Igor Vaskov | File Added: 85D3_04.zip | |
2013-09-22 11:59 | Igor Vaskov | Note Added: 0002518 | |
2013-09-22 22:28 | Steven Levine | File Added: ucv32_xqs-20130922.zip | |
2013-09-22 22:29 | Steven Levine | File Added: libuni_sym-20020904.zip | |
2013-09-22 23:16 | Steven Levine | File Deleted: ucv32_xqs-20130922.zip | |
2013-09-22 23:18 | Steven Levine | File Added: ucv32_xqs-20130922.zip | |
2013-09-22 23:30 | Steven Levine | Note Added: 0002520 | |
2013-09-22 23:49 | Igor Vaskov | File Added: uconvfix2-130221.zip | |
2013-09-22 23:56 | Igor Vaskov | Note Added: 0002521 | |
2013-09-23 00:16 | Steven Levine | Note Added: 0002522 | |
2013-09-23 06:40 | Steven Levine | Note Edited: 0002522 | |
2013-09-23 10:34 | psmedley | Summary | php 5.3.20 iconv not working (latest kit) => php iconv not working (latest kit) |
2013-09-23 12:06 | Igor Vaskov | Note Added: 0002529 | |
2013-09-23 15:15 | Steven Levine | Note Added: 0002530 | |
2013-09-23 15:26 | Igor Vaskov | Note Added: 0002531 | |
2013-09-23 15:41 | Steven Levine | Note Added: 0002532 | |
2013-09-25 18:46 | Steven Levine | Note Added: 0002535 | |
2013-09-25 19:29 | Igor Vaskov | Note Added: 0002536 | |
2013-09-27 11:48 | Igor Vaskov | Note Added: 0002537 | |
2013-09-30 20:19 | Igor Vaskov | Note Added: 0002538 | |
2013-10-10 23:00 | psmedley | Note Added: 0002542 | |
2013-10-11 06:55 | Igor Vaskov | Note Added: 0002550 | |
2013-10-11 11:00 | psmedley | Note Added: 0002555 | |
2013-10-11 11:00 | psmedley | Status | assigned => resolved |
2013-10-11 11:00 | psmedley | Resolution | open => fixed |
2020-08-24 03:11 | psmedley | Status | resolved => closed |
2021-03-12 02:32 | Steven Levine | Relationship added | has duplicate 0000724 |