RE: [xml] xmlTextWriterWriteFormatElement problem



James Eggleston said:
The answers are:

Did this ended up being a bug in libxml2 ?
Yes, but apparently only our system configuration - we have a problem in
xmlTextWriterWriteFormatElement when strings longer than 8191 chars are
written - but everyone else who tried it couldn't recreate the problem...
hmmm... I can feel the suspicious looks in my direction... :)

Tut, tut.... have a little confidence in your peers :-).


Was that bug fixed ?
No - it wasn't fixed - I implemented a work around in our code.

Would you still like me to raise the issue on bugzilla?

James.

  I saw the original post, but didn't actually try out your xmlProblem.cpp,
since others were looking at it, and I hoped that a solution would be found.
 Besides, this one wasn't very easy.  When I compiled and ran your program
on my 32-bit system, I got:
  bill billsuper ~/gnomecvs/work $ ./xmlProblem
  bill billsuper ~/gnomecvs/work $
(i.e. no problem).  But when I did exactly the same thing on a 64-bit system,
I got:
  bill bbsf ~/gnomecvs/work $ ./xmlProblem
  Segmentation fault
  bill bbsf ~/gnomecvs/work $
So, I ran Valgrind on the program to check for memory access problems.  Same
thing - 32-bit system found no problem, 64-bit system found trouble.

I looked into the code, and *think* I have found what's causing the problem. 
It concerns variable-length arguments and va_xxx routines (specifically, line
4385 of the current CVS).  I also *think* I have a fix for it (which involves
va_copy), but (most unfortunately) it's not too simple, because va_copy may
not be present on all systems, so changes to the configure script may be
necessary.

It would be best if you would bugzilla it, which will assure it gets resolved.
It will also assure that you will be notified as soon as the problem is fixed.

Regards,

Bill





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