sharpneli

CodeXL 1.6 overrides locale settings when GPU profiling on Linux

Discussion created by sharpneli on Mar 20, 2015
Latest reply on Apr 9, 2015 by chesik

When performing CPU profiling everything works fine. Switch to GPU profiling and the CodeXL will override the applications locale selection into whatever LC_ env vars state and thus ruining float parsing as the separator becomes a comma instead of period.

 

Steps to reproduce: Do a fresh install of Xubuntu/Ubuntu. Select timezone into somewhere in Europe so it'll automatically set LC_ env vars to whatever locale there is. Install AMD drivers and CodeXL. Profile a program that either prints floats or parses them using the standard C library functions. Observe how in CPU profiling floats print as they normally should under the default C locale. Observe how in GPU profiling CodeXL overrides the locale selection of the program to follow the environment variables and thus changing the parsing style.

 

Workaround: Change all LC_ env vars to en_US.UFT-8, or whatever you want to force your software to use.

 

It would be more defensible if it would override it in all cases. But as it does it only on GPU profiling it makes it really painful to debug where the issue is.

 

P.S.

Make the catalyst control center on Linux have a language selection.

Outcomes