LINUX.ORG.RU

Conditional jump or move depends on uninitialised value(s)


0

0

при обновлении системы valgrind теперь матерится на любое приложение, что очень неудобно при отладке, как это исправить?
==11482== Memcheck, a memory error detector.
==11482== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==11482== Using LibVEX rev 1732, a library for dynamic binary translation.
==11482== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==11482== Using valgrind-3.2.3, a dynamic binary instrumentation framework.
==11482== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==11482== For more details, rerun with: -v
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x4015411: (within /lib/ld-2.6.1.so)
==11482==    by 0x4007C9E: (within /lib/ld-2.6.1.so)
==11482==    by 0x4003694: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x401541C: (within /lib/ld-2.6.1.so)
==11482==    by 0x4007C9E: (within /lib/ld-2.6.1.so)
==11482==    by 0x4003694: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x400A939: (within /lib/ld-2.6.1.so)
==11482==    by 0x400452C: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x400A941: (within /lib/ld-2.6.1.so)
==11482==    by 0x400452C: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x400ADF9: (within /lib/ld-2.6.1.so)
==11482==    by 0x400452C: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x400AA84: (within /lib/ld-2.6.1.so)
==11482==    by 0x400452C: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x400A939: (within /lib/ld-2.6.1.so)
==11482==    by 0x400414A: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x400A941: (within /lib/ld-2.6.1.so)
==11482==    by 0x400414A: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x400AA84: (within /lib/ld-2.6.1.so)
==11482==    by 0x400414A: (within /lib/ld-2.6.1.so)
==11482==    by 0x4013B15: (within /lib/ld-2.6.1.so)
==11482==    by 0x400124E: (within /lib/ld-2.6.1.so)
==11482==    by 0x40008A6: (within /lib/ld-2.6.1.so)
==11482== 
==11482== Use of uninitialised value of size 4
==11482==    at 0x4075E09: (within /lib/libc-2.6.1.so)
==11482==    by 0x4079AA1: vfprintf (in /lib/libc-2.6.1.so)
==11482==    by 0x407F9F2: printf (in /lib/libc-2.6.1.so)
==11482==    by 0x804932F: main (in /home/ary/src/gcmd/src/backend/a.out)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x4075E11: (within /lib/libc-2.6.1.so)
==11482==    by 0x4079AA1: vfprintf (in /lib/libc-2.6.1.so)
==11482==    by 0x407F9F2: printf (in /lib/libc-2.6.1.so)
==11482==    by 0x804932F: main (in /home/ary/src/gcmd/src/backend/a.out)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x4077B16: vfprintf (in /lib/libc-2.6.1.so)
==11482==    by 0x407F9F2: printf (in /lib/libc-2.6.1.so)
==11482==    by 0x804932F: main (in /home/ary/src/gcmd/src/backend/a.out)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x4079C66: vfprintf (in /lib/libc-2.6.1.so)
==11482==    by 0x407F9F2: printf (in /lib/libc-2.6.1.so)
==11482==    by 0x804932F: main (in /home/ary/src/gcmd/src/backend/a.out)
==11482== 
==11482== Conditional jump or move depends on uninitialised value(s)
==11482==    at 0x4077BB9: vfprintf (in /lib/libc-2.6.1.so)
==11482==    by 0x407F9F2: printf (in /lib/libc-2.6.1.so)
==11482==    by 0x804932F: main (in /home/ary/src/gcmd/src/backend/a.out)

и так далее

Проинициализировать переменные?

Svoloch ★★★
()

Последние пять сообщений - как уже сказали - инициализовать переменную. Первые девять - валгринду скормить заглушку, дабы он их не показывал.

jr_A
()
Ответ на: комментарий от jr_A

насчет последний сообщений ясно, просто кусок выдрал, ну а сообщение первого типа никогда раньше не появлялись, я просто думал что проблема где то в библиотеках...

chicane
() автор топика
Ответ на: комментарий от jr_A

> Первые девять - валгринду скормить заглушку, дабы он их не показывал.

А можно поподробнее о том, что есть заглушка и как ею кормить валгринд?

Iceman82
()
Ответ на: комментарий от Iceman82

>А можно поподробнее о том, что есть заглушка и как ею кормить валгринд?

тоже хотелось бы услышать

chicane
() автор топика
Ответ на: комментарий от Iceman82

Есть так называемые suppresions, в fedore они болтаются в ls -la /usr/lib64/valgrind/*supp, там указываются ошибки, которые не должны быть показаны пользователю. Например, /usr/lib64/valgrind/glibc-2.5.supp:

##----------------------------------------------------------------------##

# Errors to suppress by default with glibc 2.5.x

# Format of this file is:
# {
# name_of_suppression
# tool_name:supp_kind
# (optional extra info for some suppression types)
# caller0 name, or /name/of/so/file.so
# caller1 name, or ditto
# (optionally: caller2 name)
# (optionally: caller3 name)
# }
#
# For Memcheck, the supp_kinds are:
#
# Param Value1 Value2 Value4 Value8 Value16
# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
# if Param: name of system call param
# if Free: name of free-ing fn)

{
dl-hack1
Memcheck:Cond
fun:_dl_start
fun:_start
}

{
dl-hack2
Memcheck:Cond
obj:/lib*/ld-2.5*.so
obj:/lib*/ld-2.5*.so
obj:/lib*/ld-2.5*.so
obj:/lib*/ld-2.5*.so
}

{
dl-hack3
Memcheck:Cond
obj:/lib*/ld-2.5*.so
obj:/lib*/ld-2.5*.so
obj:/lib*/ld-2.5*.so
}

и т.д.

jr_A
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.