[ 
https://issues.apache.org/jira/browse/XERCESC-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594602#action_12594602
 ] 

Boris Kolpackov commented on XERCESC-1780:
------------------------------------------

Additional information provided by Ozgur Sahoglu <[EMAIL PROTECTED]> on c-users:

I came across the same problem when running 2.8 on Leopard. The native
transcoder is causing this error. Even if you use ICU though, there is
still a problem with MacOS Posix implementation. In
/src/xercesc/util/Platforms/MacOS/MacPosixFile.cpp at line #114, the
open function calls TranscodeUniCharsToUTF8 in MacOSPlatformUtils and
this helper function uses CoreServices.

Even though this doesn't cause any crashes, it dumps bunch of "The
process has forked and you cannot use this CoreFoundation functionality
safely. You MUST exec(). Break on
__THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTION
ALITY___YOU_MUST_EXEC__() to debug." messages on the screen. To suppress
these messages, I've used XML::transcode instead.

In 3.0, MacOS uses pure Posix implementation. You can either merge the
PlatformUtils implementation from 3.0 to 2.8 or simply replace
TranscodeUniCharsToUTF8 call with XML::transcode in MacPosixFile.cpp. If
you're interested i can send my changes, but it's a pretty easy fix.


> OSX 10.5 (Leopard): Xerces uses CoreFoundation library calls and crashes...
> ---------------------------------------------------------------------------
>
>                 Key: XERCESC-1780
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1780
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: Miscellaneous
>    Affects Versions: 2.8.0
>         Environment: MacOS X 10.5 Server (Leopard), i386 or x86_64 
> architecture.
> Apache 2.2.6, Prefork, non-threaded, 64bit (default OSX 10.5 httpd server)
>            Reporter: Valery Tschopp
>             Fix For: 3.0.0
>
>
> The Shibboleth apache2 module (see http://shibboleth.internet2.edu) uses the 
> Xerces-C library to process XML messages.
> When the module is loaded by apache2, the shared Xercecs-C library is loaded 
> too and initialized. 
> At initialization, first some error messages appear, then the whole httpd 
> process crashes.
> Error messages in /var/log/apache2/error_log (a lot of them):
> "The process has forked and you cannot use this CoreFoundation functionality 
> safely. You MUST exec().
> Break on
> __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__()
> to debug."
> Stack trace in crash report:
> Application Specific Information:
> *** single-threaded process forked ***
> Thread 0 Crashed:
> 0   com.apple.CoreFoundation          0x961479c1 __CFRunLoopFindMode + 353
> 1   com.apple.CoreFoundation          0x961496ec CFRunLoopAddSource + 124
> 2   com.apple.DiskArbitration         0x9308ada4 
> DAApprovalSessionScheduleWithRunLoop + 61
> 3   ...ple.CoreServices.CarbonCore    0x9621b846 
> _FSGetDiskArbSession(__DASession**, __DAApprovalSession**) + 646
> 4   ...ple.CoreServices.CarbonCore    0x9621b58e 
> CreateDiskArbDiskForMountPath(char const*) + 94
> 5   ...ple.CoreServices.CarbonCore    0x9621a3d2 
> FSCacheableClient_GetVolumeCachedInfo(char const*, statfs const*, 
> CachedVolumeInfo*, __DADisk*, __DADisk**) + 364
> 6   ...ple.CoreServices.CarbonCore    0x96219d11 MountVolume(char const*, 
> statfs*, unsigned char, unsigned char, __DADisk*, short*) + 537
> 7   ...ple.CoreServices.CarbonCore    0x96219a0a MountInitialVolumes() + 258
> 8   ...ple.CoreServices.CarbonCore    0x96219609 INIT_FileManager() + 219
> 9   ...ple.CoreServices.CarbonCore    0x962194b6 
> GetRetainedVolFSVCBByVolumeID(unsigned long) + 36
> 10  ...ple.CoreServices.CarbonCore    0x96217c96 PathGetObjectInfo(char 
> const*, unsigned long, unsigned long, VolumeInfo**, unsigned long*, unsigned 
> long*, char*, unsigned long*, unsigned char*) + 202
> 11  ...ple.CoreServices.CarbonCore    0x96217b66 
> FSPathMakeRefInternal(unsigned char const*, unsigned long, unsigned long, 
> FSRef*, unsigned char*) + 90
> 12  ...ple.CoreServices.CarbonCore    0x962236bb FSPathMakeRef + 47
> 13  ...ple.CoreServices.CarbonCore    0x96236e2b 
> FilterRelevantFilesFromDirectory + 347
> 14  ...ple.CoreServices.CarbonCore    0x96236679 CacheFMMapData + 1565
> 15  ...ple.CoreServices.CarbonCore    0x96235395 IntlFCOpenComponentData + 206
> 16  ...ple.CoreServices.CarbonCore    0x96237be9 InitScriptBundleComponent + 
> 85
> 17  ...ple.CoreServices.CarbonCore    0x96237b8d SMInitIntlSpec + 17
> 18  ...ple.CoreServices.CarbonCore    0x962377a2 LMGetIntlSpec + 76
> 19  ...ple.CoreServices.CarbonCore    0x96238b2c GetScriptManagerVariable + 28
> 20  ...ple.CoreServices.CarbonCore    0x962410cd LocaleRefOrNULLToTagEntryPtr 
> + 74
> 21  ...ple.CoreServices.CarbonCore    0x96240f2e LocaleRefGetPartString + 57
> 22  ...ple.CoreServices.CarbonCore    0x962401c5 SetDefaultLocaleString + 195
> 23  ...ple.CoreServices.CarbonCore    0x962400e0 _ReloadUnicodeUtilData + 92
> 24  ...ple.CoreServices.CarbonCore    0x9623ff16 UCRefreshThreadGlobals + 183
> 25  ...ple.CoreServices.CarbonCore    0x9626fe3f UCCreateCollator + 133
> 26  libxerces-c.28.dylib              0x0059b1cf 
> xercesc_2_8::MacOSUnicodeConverter::MacOSUnicodeConverter() + 79
> 27  libxerces-c.28.dylib              0x00598d7a 
> xercesc_2_8::XMLPlatformUtils::makeTransService() + 64
> 28  libxerces-c.28.dylib              0x005ab68d 
> xercesc_2_8::XMLPlatformUtils::Initialize(char const*, char const*, 
> xercesc_2_8::PanicHandler*, xercesc_2_8::MemoryManager*, bool) + 347
> 29  libsaml.5.dylib                   0x0020b733 
> saml::SAMLInternalConfig::init() + 259
> 30  libshib-target.dylib              0x00079be1 
> shibtarget::STConfig::init(char const*) + 351
> 31  mod_shib_22.so                    0x00e17d4f shib_child_init + 137 
> (mod_apache.cpp:1105)
> 32  httpd                             0x0000206a ap_run_child_init + 68
> ...
> It look like that Apple changes something with OSX 10.5. As soon as a process 
> fork, you a not allowed to use CoreFoundation library calls anymore...
> V.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to