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

Bug#507845: Dedibox server with VIA C7 cpu freeze with the last libc6



Hello,

 

For me the problem was introduced in package libc6_2.3.6.ds1-6_i386.deb by linux-kernel-header-2.6.18-1.

Building libc6 with linux-kernel-headers_2.6.17.10-3 work fine for me.

And the difference that cause freeze between lkh  2.6.17.10-3 and 2.6.18-1 is in linux/compiler.h.

The ___KERNEL___ directive have moved and  some declarations are not in userspace. In our case, this is noinline define that cause problem.

Before lkh 2.6.18-1 noinline was undefined in userspace, so declaration like “__attribute ((noinline))__” was equal to “__attribute (())__”.

When print_statistics function code in elf/rtld.c is noinlined by gcc, VIA C7 freeze.

And in print_statistics that is _dl_debug_printf call that fail by heavy realloc. More precisely, unsigned long int num_relative_relocations seems to be the source. Deleting that printf var is an issue.

 

I would like to debug more and more, but I have no time to do that. Any investigation and tech used for debugging interests me.

I don’t know how to disassembly inlined function to compare it to noinlined function.

 

I have build a libc6 debian package with fix from official debian subversion for my production, if you need it I can share it. But I think we are very nearly to find the real bug. And maybe all no intel x86 are concerned…

 

NOTE : We talk about freeze, freeze,… I don’t think that is a freeze, kernel seems to switch in infinite loop.

 

Best regards,

Julien Durand.


Reply to: