RE: [xml] NAN problems on Win32



To clarify, here's an example output from my exception handler (not perfect
output, but shows the exception occurred a function called from
xmlXPathCountFunction 
(actually its valuePush(ctxt,xmlXPathNewFloat(double)
cur->nodesetval->nodeNr));

CXPathExpr is just a C++ wrapper for xmlXPathNewContext and xmlXPathEval

01232002_141651 | SA | fatal   |
//=====================================================
01232002_141651 | SA | fatal   | Exception code: C0000090
01232002_141651 | SA | fatal   | Fault address:  011C92A3 01:000482A3
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\libxml2.dll
01232002_141651 | SA | fatal   | 
Registers:
01232002_141651 | SA | fatal   | EAX:0513C4B8
EBX:00000000
ECX:05111858
EDX:00000000
ESI:0513C570
EDI:0513C4E8
01232002_141651 | SA | fatal   | CS:EIP:001B:011CA2A3
01232002_141651 | SA | fatal   | SS:ESP:0023:032CF884  EBP:00000000
01232002_141651 | SA | fatal   | DS:0023  ES:0023  FS:003B  GS:0000
01232002_141651 | SA | fatal   | Flags:00010246
01232002_141651 | SA | fatal   | Call stack:
01232002_141651 | SA | fatal   | Address   Frame
01232002_141651 | SA | fatal   | 011CA2A3  032CF888  01232002_141651 | SA |
fatal   | xmlXPathCountFunction+63
01232002_141651 | SA | fatal   | 011CEF4F  032CF8BC  01232002_141651 | SA |
fatal   | xmlXPathCompiledEval+ADF
01232002_141651 | SA | fatal   | 011CF602  032CF8F0  01232002_141651 | SA |
fatal   | xmlXPathCompiledEval+1192
01232002_141651 | SA | fatal   | 011CE6A1  032CF900  01232002_141651 | SA |
fatal   | xmlXPathCompiledEval+231
01232002_141651 | SA | fatal   | 011D0C01  032CF910  01232002_141651 | SA |
fatal   | xmlXPathEvalExpr+11
01232002_141651 | SA | fatal   | 011D0C90  032CF92C  01232002_141651 | SA |
fatal   | xmlXPathEval+80
01232002_141651 | SA | fatal   | 011424E7  032CF93C  01232002_141651 | SA |
fatal   | CXPathExpr::eval+2C
01232002_141651 | SA | fatal   | 01314D70  0131B53C  01232002_141651 | SA |
fatal   | SQLTABLE_Element_Handler::init+1CE
-----Original Message-----
From: Vakoc, Mark [mailto:Mark_Vakoc jdedwards com]
Sent: Wednesday, January 23, 2002 5:35 PM
To: 'xml gnome org'
Subject: [xml] NAN problems on Win32



I have a client using my program linked against standard libxml2 2.4.12 that
has problems with the NAN functionality.  I am still waiting to get back
more details on the exact os, etc. 
The program crashes because of exception 0xC0000090
(EXCEPTION_FLT_INVALID_OPERATION), which MS brilliantly describes as:

EXCEPTION_FLT_DENORMAL_OPERAND 
        One of the operands in a floating-point operation is denormal. A
denormal value is one that is too small to represent as a standard
floating-point value. 
EXCEPTION_FLT_DIVIDE_BY_ZERO 
        The thread attempted to divide a floating-point value by a
floating-point divisor of zero. 
EXCEPTION_FLT_INEXACT_RESULT 
        The result of a floating-point operation cannot be represented
exactly as a decimal fraction. 
EXCEPTION_FLT_INVALID_OPERATION 
        This exception represents any floating-point exception not included
in this list. 
EXCEPTION_FLT_OVERFLOW 
        The exponent of a floating-point operation is greater than the
magnitude allowed by the corresponding type. 
EXCEPTION_FLT_STACK_CHECK 
        The stack overflowed or underflowed as the result of a
floating-point operation. 
EXCEPTION_FLT_UNDERFLOW 
        The exponent of a floating-point operation is less than the
magnitude allowed by the corresponding type. 

It seems to occur whenever the xmlXPathNAN is used in a function call (i.e.
xmlXPathNewFloat(cur->nodesetval->nodeNr) where nodeNr is xmlXPathNAN).
Here's the shocker:  This works fine on my and several hundred other
machines.  I am running requesting from the client more tests as we speak
since I can't duplicate the problem, but I thought I would ask here for
advice.  

Things I do know:
xmlXPathInit() (where xmlXPathNAN is assigned) works without problem.  
I compiled trionan.c as standalone and ran it here and at the client.  This
runs without error both places and NAN value returned from trio_nan() is
identical.
I am running a test now that checks passing this value across function calls

Any insight?
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml gnome org
http://mail.gnome.org/mailman/listinfo/xml



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]