Solaris 5.8 Upgrade is causing Date format issue.

Hi

I have a JAVA based application in development and production environment. These two environments are exactly identical in terms of OS, hardware and application components.

Initially the OS was Solaris 5.6 and the application was working fine in both environments. But later when the OS was upgraded to Solaris 5.8, the Production environment is having date format issues. I mean there is a functionality in the applicaiton where if an user does not login to application for 90 days i.e. 3 months, his account is locked out.

But after Solaris 5.8 upgrade, the accounts are getting locked evry 3rd day only in production environment. We have verrifed the application code and there is no difference and also the JDK installed is same in both environments.

We have checked the timezone and locale settings on the servers and they are also identical.

Can you please help help me here what to look at as this issue is causing a lot of problems ?

Thanks,
Jayant

Are you seeing any jump in dates on the OS? or its just the Application picking up different dates

Hi thanks for your reply.

By runnig date command on the server, it is displaying correct date.

But application is picking up wrong pattern. Instead of locking idle account evry 3rd month, it is doing it ever 3rd day.

Are you sure it's the app that's locking users out and not the O/S itself?

Check /etc/user_attr and /etc/default/login for any setting.

If through any means each user tries to login once to per day for three days and fails (eg, via cron), the O/S could be locking the account.

Hi

I have checked /etc/user_attr and /etc/default/login both files and they seem to be identical.

Also user tries to login through front screen. Being a web app once he enters userid and password.. the ID is comapred with last login date and system date.. if the difference is more than 90 days then his account is locked.

But it is happening every 3 rd day. The code base is identical in both the environments. Also before upgradign to solaris 5.8, it was working fine.

Thanks.

There have been format changes in some locales.
What is your locale?

So the web portal uses the OS local accounts for login? or the web portal is integrated with Active Directory or other tools. I don't think its a issue with local account. Have you noticed any other users who login to the server but not the web portal and their account getting locked after 3 days of inactivity? Please don't mind my questions, it helps everyone to understand the situation.

Thanks for your reply and questions.

No the web portal does not use the OS local accounts for login. the web portal credentials are authenticated using database. No I never came across that any other users who login to the server but not the web portal and their account getting locked after 3 days of inactivity. User can only access web app and not the server.

Also my locale in both the environments is identical which is en_GB.

As alreayd told, code and Java version are also identical.

Thanks,

Try to change locale to C.
It's maybe enough to change environment in a start shell, and let your application inherit it:

LC_ALL=C /etc/init.d/yourstuff start

To demonstrate the impact:

LC_ALL=en_US date
Tuesday, April  1, 2014 01:16:43 PM CEST
LC_ALL=C date
Tue Apr  1 13:16:43 CEST 2014

Thanks for your response.

Just a clarification. what do you mean by yourstuff under etc/init.d ?

my locale setting is:

test@server> locale
 
LANG = 
LC_CTYPE =en_GB
LC_NUMERIC = en_GB
LC_TIME = en_GB
LC_COLLATE = en_GB
LC_MONETARY =en_GB
LC_MESSAGES =C
LC_ALL =

Thanks.

With yourstuff I mean your application.
I gave an example for an application that starts as a daemon/service.

Hi madeingermany

Many thanks for suggesting the LC_ALL parameter value change to C. I have done it and evrything looks perfectly fine. Many thanks for resolving this long pending issue.

But I am still confused that in dev environment it is working fine without this parameter.

Thanks a lot :-))

are you locking the account after 90 days or 3 months? may be the format of date swaped day with month and your application/script now checks the day instead of month?