[xml/sgml-pkgs] Bug#347542: Segfaults and unimplemented block at preproc.c:877

Mike Hommey mh at glandium.org
Mon Feb 20 17:49:09 UTC 2006


clone 347542 -1
retitle -1 Implement xsl:number's lang attribute
reassign -1 libxslt1.1
severity -1 wishlist

On Wed, Jan 11, 2006 at 01:36:31PM +0100, Braun Gabor <braung at renyi.hu> wrote:
> Xsltproc exits with cryptic error messages in the following 
> situations:
(...)
> Let's try to apply the stylesheet:
> 
> xsltproc -o output.xml lista.xsl test.xml
> Unimplemented block at preproc.c:877
> 
> XSL process segmentation fault at Wed Jan 11 13:22:26
> 
> If I change the attribute lang of xsl:number to "en" in lista.xsl 
> then I receive another message:
> 
> xsltproc -o output.xml lista.xsl test.xml
> Unimplemented block at preproc.c:877
> *** glibc detected *** free(): invalid pointer: 0x0805830f ***
> 
> XSL process aborted at Wed Jan 11 13:28:27

You have 2 problems, here.

The first one is the crash/glibc message, which is due to the fact that
the preprocessor code is trying to free memory that shouldn't be freed.
It must be some remaining code from before the use of string dictionaries.
The difference between both cases (crash, and glibc message) is that in the
first case, "de" is not in the dictionary, while "en" is (because it is
used in the xml:lang attribute earlier ; if you change xml:lang to "de",
you'll get the glibc message instead of the crash).
This issue will be fixed in the upcoming release.

The second one is the fact that the "Unimplemented block at
preproc.c:877" is not helpful for you. It means you reached a block in
libxslt that is not implemented, this block being the lang attribute for
xsl:number. It appears that in the same function, there are more eplicit
messages for such errors, so I added one for lang. This fixes the
message not helpful issue, but doesn't solve your basic problem: it is
not implemented.

I'm therefore duplicating this bug as a wishlist bug for tracking.

Cheers,

Mike




More information about the debian-xml-sgml-pkgs mailing list