I will be glad to help to find solution with this problem that started with later versions of Pharo 6. While Pharo has such problems - it is not production-ready. Just point me from where to start my investigation of code. --- The full stack --- WindowsResolver(PlatformResolver)>>cantFindOriginError [ self cantFindOriginError ] in WindowsResolver(PlatformResolver)>>directoryFromEnvVariableNamed: [ ^ arg2 value ] in WindowsResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: PrimitiveFailed(Exception)>>signal PrimitiveFailed class(SelectorException class)>>signalFor: Win32Environment(Object)>>primitiveFailed: Win32Environment(Object)>>primitiveFailed Win32Environment(Object)>>primitiveFail Win32Environment(OSEnvironment)>>getEnv: Win32Environment>>getEnv: Win32Environment(OSEnvironment)>>at:ifAbsent: [ Smalltalk os environment at: arg1 ifAbsent: [ ] ] in WindowsResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or: BlockClosure>>on:do: WindowsResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or: WindowsResolver(PlatformResolver)>>directoryFromEnvVariableNamed: WindowsResolver>>home WindowsResolver>>documents The overall difficulty here in getting this addressed is difficulty in > reproducing your environment. > For example, I think it would be awkward for me to operate with OS locale > set to Russian. > You'll see little action on it until there is an Issue logged at > pharo.fogbugz.com with a simple set of steps to reproduced for standard > environments (i.e. using English locales) > > Reviewing your other posts, I'd suggest initially creating a script to wrap > Pharo startup that cleans all the environment variables to ascii > characters, temporarily creating required directories so at lest you can > get it started. Then extend that script to reintroduce the error, like a > single non-ascii character in a single environment variable that causes an > error. That extended part then provides a path for others to reproduce > your problem, which you would attach to the Issue. Then as you > investigate a solution yourself, ask questions about it on pharo-dev to > keep the Issue active and over time you'll likely get some action from > others on it. > > cheers -ben |
On 26 November 2017 at 20:57, Викентий Потапов <[hidden email]> wrote:
Well I see... WindowsResolver>>home "Value of the $USERPROFILE environment variable." ^ self directoryFromEnvVariableNamed: 'USERPROFILE' Win32Environment( "This method calls the Standard C Library getenv() function." <primitive: 'primitiveGetenv' module: '' error: ec> You can see that implementation by searching for "primitiveGetenv(void)" at... where I guess that "var<--'USERPROFILE'" So are you able to compile, run and report with this small C program... int main() { char *result; char *var = "USERPROFILE"; result = getenv(var); if (result != 0) { printf("SUCCESS"); } else { printf("FAILED"); } } Experiment with: * different env vars holding either unicode or non-unicode characters. cheers -ben
|
Free forum by Nabble | Edit this page |