# Glibc 2.5 są zepsute!

## habdank

Witam

Mam pytanie Glibc 2.5 są zespsute, a nie da się zrobić downgrade do wersji 2.4-r4, co wtakim wydadku należy zrobić? Czy to oznacza reinstalację systemu?

Pozdrawiam.

----------

## Vegan

1. czemu wazasz ,ze glibc w wersji 2.5 jest zepsute ? 

W gentoo nie da sie zrobic downgrade glibc.

----------

## habdank

Witam

1. Czemu glibc są zepsute?

Program, który mi działał na 2.4 teraz bardzo brzydko się wywala. 

Trudno jest skopiować efekt błędu, ale osoby które przedarły się przez 

konstrukcję błędu zawsze amją ten sam wynik - czyli to jest powtarzalne. 

Na glibc 2.4 wszystko działa, na 2.5 nie.

Błąd dotyczy smarowania/resetowania/zwalniania pamięci w otoczeniu wątków/socketów.

Uzyskanie efektu wymaga (narazie) bibliotek boost, yami, i małego kawałka kodu oraz pythona.

2. Dlatego pytam czy reinstall - mam starą płytę gentoo jeszcze z kompilatorem 3.4 i tam na 100% nie ma glibc 2.5,

Pozdrawiam.

Poniżej wynik działania valgrinda na komendzie ls, takich ostrzeżeń nie miałem na 2.4 ls działa, bo nie jest wielowątkowy nie

nie ma możliwości jedno pisac/resetować drugiego. Ale odnoszę wrażenie, że te uninitialized value jest spowodowane 

podobnym efektem - nie ma pewności, bo ls jest trywialny w stosunku do mieszanki wątki i sokety.[/code]

```

valgrind --leak-check=full ls

==18936== Memcheck, a memory error detector.

==18936== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.

==18936== Using LibVEX rev 1658, a library for dynamic binary translation.

==18936== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.

==18936== Using valgrind-3.2.1, a dynamic binary instrumentation framework.

==18936== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.

==18936== For more details, rerun with: -v

==18936== 

==18936== Conditional jump or move depends on uninitialised value(s)

==18936==    at 0x400A9D9: _dl_relocate_object (in /lib/ld-2.5.so)

==18936==    by 0x4003FC7: dl_main (in /lib/ld-2.5.so)

==18936==    by 0x40137E5: _dl_sysdep_start (in /lib/ld-2.5.so)

==18936==    by 0x400125E: _dl_start (in /lib/ld-2.5.so)

==18936==    by 0x40008C6: (within /lib/ld-2.5.so)

==18936== 

==18936== Conditional jump or move depends on uninitialised value(s)

==18936==    at 0x400A9E1: _dl_relocate_object (in /lib/ld-2.5.so)

==18936==    by 0x4003FC7: dl_main (in /lib/ld-2.5.so)

==18936==    by 0x40137E5: _dl_sysdep_start (in /lib/ld-2.5.so)

==18936==    by 0x400125E: _dl_start (in /lib/ld-2.5.so)

==18936==    by 0x40008C6: (within /lib/ld-2.5.so)

==18936== 

==18936== Conditional jump or move depends on uninitialised value(s)

==18936==    at 0x400AE99: _dl_relocate_object (in /lib/ld-2.5.so)

==18936==    by 0x4003FC7: dl_main (in /lib/ld-2.5.so)

==18936==    by 0x40137E5: _dl_sysdep_start (in /lib/ld-2.5.so)

==18936==    by 0x400125E: _dl_start (in /lib/ld-2.5.so)

==18936==    by 0x40008C6: (within /lib/ld-2.5.so)

==18936== 

==18936== Conditional jump or move depends on uninitialised value(s)

==18936==    at 0x400AB24: _dl_relocate_object (in /lib/ld-2.5.so)

==18936==    by 0x4003FC7: dl_main (in /lib/ld-2.5.so)

==18936==    by 0x40137E5: _dl_sysdep_start (in /lib/ld-2.5.so)

==18936==    by 0x400125E: _dl_start (in /lib/ld-2.5.so)

==18936==    by 0x40008C6: (within /lib/ld-2.5.so)

==18936== 

==18936== Conditional jump or move depends on uninitialised value(s)

==18936==    at 0x400A9D9: _dl_relocate_object (in /lib/ld-2.5.so)

==18936==    by 0x4003E65: dl_main (in /lib/ld-2.5.so)

==18936==    by 0x40137E5: _dl_sysdep_start (in /lib/ld-2.5.so)

==18936==    by 0x400125E: _dl_start (in /lib/ld-2.5.so)

==18936==    by 0x40008C6: (within /lib/ld-2.5.so)

==18936== 

==18936== Conditional jump or move depends on uninitialised value(s)

==18936==    at 0x400A9E1: _dl_relocate_object (in /lib/ld-2.5.so)

==18936==    by 0x4003E65: dl_main (in /lib/ld-2.5.so)

==18936==    by 0x40137E5: _dl_sysdep_start (in /lib/ld-2.5.so)

==18936==    by 0x400125E: _dl_start (in /lib/ld-2.5.so)

==18936==    by 0x40008C6: (within /lib/ld-2.5.so)

==18936== 

==18936== Conditional jump or move depends on uninitialised value(s)

==18936==    at 0x400AB24: _dl_relocate_object (in /lib/ld-2.5.so)

==18936==    by 0x4003E65: dl_main (in /lib/ld-2.5.so)

==18936==    by 0x40137E5: _dl_sysdep_start (in /lib/ld-2.5.so)

==18936==    by 0x400125E: _dl_start (in /lib/ld-2.5.so)

==18936==    by 0x40008C6: (within /lib/ld-2.5.so)

arch.kdar  config-i386-pc-linux-gnu.old  dar_backups  dead.letter  Desktop  eth_net.txt  fw_kill  fw_sevi.sh  gcccpuopt.sh  run_gcc_glibc.sh  temp  utils

==18936== 

==18936== ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)

==18936== malloc/free: in use at exit: 14,103 bytes in 17 blocks.

==18936== malloc/free: 437 allocs, 420 frees, 38,522 bytes allocated.

==18936== For counts of detected errors, rerun with: -v

==18936== searching for pointers to 17 not-freed blocks.

==18936== checked 419,872 bytes.

==18936== 

==18936== LEAK SUMMARY:

==18936==    definitely lost: 0 bytes in 0 blocks.

==18936==      possibly lost: 0 bytes in 0 blocks.

==18936==    still reachable: 14,103 bytes in 17 blocks.

==18936==         suppressed: 0 bytes in 0 blocks.

==18936== Reachable blocks (those to which a pointer was found) are not shown.

==18936== To see them, rerun with: --show-reachable=yes

```

----------

## arturx

downgrade glibc = krach systemu, było o tym wiele razy na forum

spróbuj nowszą wersje glibc na ~x86 a potem

```
revdep-rebuild -av
```

----------

## habdank

Witam

Chyba się udało rozwiązać kłopot.

Przekompilowałem jeszcze raz gcc na nowych glibc 

i glibce na przekompilowanym gcc i chyba już jest lepiej.

Pozdrawiam

----------

