dbremner / cassia

Automatically exported from code.google.com/p/cassia
0 stars 0 forks source link

Un-representable DateTime #61

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1.Enumerate current terminal sessions

What is the expected result? What happens instead?

Expected to return current terminal sessions, throws exception instead.

What version of Cassia are you using (e.g. 2.0.0.60)?

2.1.0.119

On what Windows version is your code running?

Error only occurs on:
Microsoft Windows XP Professional SP3 & SP2

Is your code running as a Windows service, an ASP.NET application, or a
standalone application?

Windows service

What Windows version is running on the remote server you are trying to
access (if any)?

n/a

Please provide any additional information below. If you are running into an
exception, please include a stack trace (at least the portion of it that
relates to Cassia).

System.ArgumentOutOfRangeException: Year, Month, and Day parameters describe an 
un-representable DateTime.
   at System.DateTime.DateToTicks(Int32 year, Int32 month, Int32 day)
   at System.DateTime..ctor(Int32 year, Int32 month, Int32 day, Int32 hour, Int32 minute, Int32 second, Int32 millisecond, DateTimeKind kind)
   at Cassia.Impl.NativeMethodsHelper.FileTimeToDateTime(FILETIME ft)
   at Cassia.Impl.TerminalServicesSession.LoadWinStationInformationProperties()
   at Cassia.Impl.GroupLazyLoadedProperty`1.get_Value()
   at Cassia.Impl.TerminalServicesSession.get_UserAccount()

Original issue reported on code.google.com by DanielBL...@gmail.com on 1 Jun 2012 at 2:14

GoogleCodeExporter commented 8 years ago
Hm, interesting. Are you seeing this exception intermittently? Is it related to 
issue 60? Is your service fetching session information in response to certain 
events, like log on or log off? What type of session (console or remote) is 
TerminalServicesSession.UserAccount throwing this exception for?

Original comment by danports on 1 Jun 2012 at 3:24

GoogleCodeExporter commented 8 years ago
I have just started collecting information on this error, but here is what I 
have seen in the past two days. I run an inventory against ~2000 servers on 
schedules daily and these are the only ones that have returned the error so 
far. My initial OS version information was wrong as this is also happening on a 
few of our Server 2003 boxes. 

Issue 60 occurs during the same inventory process, but on different servers. A 
server has never returned both errors.

I will keep track of which boxes return this error every inventory period so 
that I can tell if it is always the same machines or varies. 

Full Error:
System.ArgumentOutOfRangeException: Year, Month, and Day parameters describe an 
un-representable DateTime.
   at System.DateTime.DateToTicks(Int32 year, Int32 month, Int32 day)
   at System.DateTime..ctor(Int32 year, Int32 month, Int32 day, Int32 hour, Int32 minute, Int32 second, Int32 millisecond, DateTimeKind kind)
   at Cassia.Impl.NativeMethodsHelper.FileTimeToDateTime(FILETIME ft)
   at Cassia.Impl.TerminalServicesSession.LoadWinStationInformationProperties()
   at Cassia.Impl.GroupLazyLoadedProperty`1.get_Value()
   at Cassia.Impl.TerminalServicesSession.get_UserAccount()
   at Ascertain.Sessions.GetSessions() in C:\Users\daladd\Documents\CS\Ascertain\Ascertain\Ascertain\Data Collection\Collection Classes\Sessions.cs:line 44

Affected Servers:   
5/31/2012 : IMDEMOPC, CTPROJECT2K7-02, MQTEST
6/01/2012 : AEVA-XPVM01, CTPROJECTSk7-02, CSINTERN02, FPEPERFB02, 
MDFBANDWIDTHA01, OUTSTARTVM, PDFTEXTA03, CTTABLEAUVM, VSPGA-UK01

Affected Server Setups:
IMDEMOPC        : Microsoft Windows XP Professional SP3, Virtual Machine, 1 GB 
Memory
CTPROJECT2K7-02     : Microsoft Windows XP Professional SP2, Virtual Machine, 1 
GB Memory
MQTEST      : Microsoft Windows XP Professional SP2, Virtual Machine, 2 GB Memory
AEVA-XPVM01         : Microsoft Windows XP Professional SP3, Virtual Machine, 1 GB 
Memory
CSINTERN02      : Microsoft WIndows XP Professional SP2, Virtual Machine, 1 GB 
Memory
FPEPERFB02      : Microsoft Windows XP Professional SP3, Virtual Machine, 2 GB 
Memory
MDFBANDWIDTHA01 : Microsoft Windows XP Professional SP3, Virtual Machine, 1 GB 
Memory
OUTSTARTVM      : Microsoft Windows XP Professional SP2, Virtual Machine, 1 GB 
Memory
PDFTEXTA03      : Microsoft Windows Server 2003 Standard, ProLiant BL460c G1, 3.25 
GB Memory
CTTABLEAUVM     : Microsoft Windows XP Professional SP3, Virtual Machine, 1 GB 
Memory
VSPGA-UK01      : Microsoft Windows Server 2003 Standard, ProLiant DL360 G4p G1, 2 
GB Memory

Original comment by DanielBL...@gmail.com on 1 Jun 2012 at 3:37

GoogleCodeExporter commented 8 years ago
OK, I will try to reproduce this on an XP VM I have. Can you determine the 
value of ITerminalServicesSession.ClientProtocolType (Console/Rdp) for the 
sessions that are throwing the exception when the UserAccount property is 
accessed?

Original comment by danports on 1 Jun 2012 at 8:04

GoogleCodeExporter commented 8 years ago
These are remote vm's in data centers so i can almost guarantee they are RDP 
but I will setup some code to double check this in a few days.

Original comment by DanielBL...@gmail.com on 1 Jun 2012 at 8:11

GoogleCodeExporter commented 8 years ago
I see. However, even if there are active RDP connections, Windows XP will still 
have a console session lying around, so that information could be helpful for 
troubleshooting.

Original comment by danports on 1 Jun 2012 at 8:16

GoogleCodeExporter commented 8 years ago
I ran the new code to check ClientProtocolType but it seems that the issue is 
intermittent. I do see that there is a connected console session on all Windows 
XP machines like you said so it could be either RPD or console causing the 
issue. 

I will wrap together a new version of my client with the ClientProtocolType and 
push it to our Windows XP boxes to help us with troubleshooting.

Original comment by DanielBL...@gmail.com on 1 Jun 2012 at 8:41

GoogleCodeExporter commented 8 years ago
OK, great, thanks.

Original comment by danports on 1 Jun 2012 at 10:06

GoogleCodeExporter commented 8 years ago
After running my updated client version for a while, the error is occurring for 
both Console and RDP sessions. 

Original comment by DanielBL...@gmail.com on 26 Jun 2012 at 3:23

GoogleCodeExporter commented 8 years ago
Thanks for the update. I'll try to reproduce the issue on my end.

Original comment by danports on 27 Jun 2012 at 10:00

GoogleCodeExporter commented 8 years ago
I have started receiving this same issue... It seems to be occuring when 
clientProtocolType is Console... 
here are some of the porerties and the values of the Session that is throwing 
the error

ClinetProtocolType:Console
ClientConnectionState:Disconnected
DomainName: EXCEPTION
IncomingStatistics:EXCEPTION
InitialProgram:EXCEPTION
LastInputTime: EXCEPTION
LoginTime: EXCEPTION
OutgoingStatisitcs: EXCEPTION
UserAccount: EXCEPTION
UserName: EXCEPTION

EXCEPTION: 
threw an exception of type 'System.ArgumentOutOfRangeException' 
System.DateTime? {System.ArgumentOutOfRangeException}

Original comment by smani...@gmail.com on 28 Aug 2012 at 5:51

GoogleCodeExporter commented 8 years ago
@smanisca: What version of Windows are you seeing this problem on? Is the stack 
trace the same as the ones provided earlier?

Original comment by danports on 29 Aug 2012 at 1:19

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
All machines are running Windows Server 2003 SP2. I am using Cassia Version 
2.1.0.119 and as mentioned above it only occurs on some of the machines not all 
of them

Here is the Stack Trace:

System.ArgumentOutOfRangeException was caught
  Message=Year, Month, and Day parameters describe an un-representable DateTime.
  Source=mscorlib
  StackTrace:
       at System.DateTime.DateToTicks(Int32 year, Int32 month, Int32 day)
       at System.DateTime..ctor(Int32 year, Int32 month, Int32 day, Int32 hour, Int32 minute, Int32 second, Int32 millisecond, DateTimeKind kind)
       at Cassia.Impl.NativeMethodsHelper.FileTimeToDateTime(FILETIME ft)
       at Cassia.Impl.TerminalServicesSession.LoadWinStationInformationProperties()
       at Cassia.Impl.GroupLazyLoadedProperty`1.get_Value()
       at Cassia.Impl.TerminalServicesSession.get_UserName()
       at TerminalSessionInfo.getSessionInfo(String[] strIPAddresses) in C:\Documents and Settings\User Name\My Documents\Visual Studio 2010\Projects\TerminalSessionInfo\TerminalSessionInfo\Class1.cs:line 68
  InnerException: 

Original comment by smani...@gmail.com on 29 Aug 2012 at 12:35

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Thanks. I have seen this error a number of times as well; it seems like Windows 
sometimes returns garbage timestamps. The best Cassia could do here is filter 
those out so that you get a null return value from the relevant properties 
rather than an exception.

Original comment by danports on 29 Aug 2012 at 1:17