http://bugzilla.novell.com/show_bug.cgi?id=591349
http://bugzilla.novell.com/show_bug.cgi?id=591349#c0
Summary: freetype2 seems to not working (due to possible
regression in the libc malloc)
Classification: openSUSE
Product: openSUSE 11.2
Version: Final
Platform: x86
OS/Version: openSUSE 11.2
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Other
AssignedTo: bnc-team-screening@forge.provo.novell.com
ReportedBy: susanin@ispras.ru
QAContact: qa@suse.de
Found By: ---
Blocker: ---
Created an attachment (id=350733)
--> (http://bugzilla.novell.com/attachment.cgi?id=350733)
failed test for freetype2
User-Agent: Opera/9.80 (X11; Linux i686; U; en) Presto/2.2.15
Version/10.10
Hello,
I've tried to run some test (it works correctly at least on the openSUSE-11.1
and Mandriva-2009.1) for the libfreetype2 on the openSUSE-11.2 and encountered
the following problem:
test: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *)
&((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd))))
&& old_size == 0) || ((unsigned long) (old_size) >= (unsigned
long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 *
(sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size &
0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Test content (see in the attachment):
#include
#include
#include
#include
#include
#include
//auxiliary function
void*
alloc(FT_Memory p1, long p2)
{
return malloc(256);
}
//auxiliary function
void
free_1(FT_Memory p1, void* p2){}
//auxiliary function
void*
realloc_1(
FT_Memory p1,
long p2,
long p3,
void* p4)
{
return malloc(256);
}
int main(int argc, char *argv[])
{
void* user = malloc(256);
struct FT_MemoryRec_ memory = {
.user = user,
.alloc = &alloc,
.free = &free_1,
.realloc = &realloc_1};
FT_Library library = 0;
FT_New_Library(&memory, &library);
struct FT_CharMapRec_ charmap = {
.face = 0,
.encoding = FT_ENCODING_UNICODE,
.platform_id = 1,
.encoding_id = 2};
FT_Long face_index = FT_Get_CMap_Format(&charmap);
FT_Face face = 0;
FT_New_Face(
library,
"testdata/sample.txt",
face_index,
&face);
FT_Size size = 0;
FT_New_Size(face, &size);
FT_Activate_Size(size); //target call
return 0;
}
Reproducible: Always
Steps to Reproduce:
1. extract attached test (`tar -xvzf test.tar.gz`)
2. build test (`make`)
3. run test (`sh run_test.sh`)
4. see output (`cat output`)
Actual Results:
ABRT signal emitted with the message:
test: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *)
&((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd))))
&& old_size == 0) || ((unsigned long) (old_size) >= (unsigned
long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 *
(sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size &
0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Expected Results:
should pass (without ABRT or SEGV signals emitted)
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.