Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UNINIT gcc: many false positives #108

Open
derekbruening opened this issue Nov 28, 2014 · 0 comments
Open

UNINIT gcc: many false positives #108

derekbruening opened this issue Nov 28, 2014 · 0 comments

Comments

@derekbruening
Copy link
Contributor

From derek.br...@gmail.com on December 10, 2010 17:57:39

PR 408123

After fixing PR 406714 gcc test now runs but we have many more errors than Valgrind finds.
One possibility is that like cygwin windows apps bitlevel precision may be needed to
avoid false positives, not just false negatives, as gcc uses a lot of structs with
bitfields.

Valgrind: ERROR SUMMARY: 29 errors from 1 contexts (suppressed: 17 from 1)

vs

:::Dr.Memory::: ERRORS FOUND:
:::Dr.Memory::: 30 unaddressable access(es)
:::Dr.Memory::: 4227 uninitialized access(es)
:::Dr.Memory::: 4761 invalid free(s)
:::Dr.Memory::: 1121 leak(s)
:::Dr.Memory::: (re-run with -check_leaks for details)
:::Dr.Memory::: ERRORS IGNORED:
:::Dr.Memory::: 0 ignored pre-app leak(s)
:::Dr.Memory::: 0 suppressed error(s)
:::Dr.Memory::: 0 suppressed leak(s)
:::Dr.Memory::: 9 possible leak(s)
:::Dr.Memory::: 0 error(s) beyond -report_max

grep INVAL t | sort | uniq -c
4761 INVALID FREE: 0x00000000
grep -A 1 UNINIT t | grep -vE 'UNINIT|--' | sort | uniq -c | sort -n
2 0x0046640c 74 a2 jz $0x004663b0
5 0x0814fbc1 83 bd 38 fa ff ff 1e cmp 0xfffffa38(%ebp) $0x0000001e
(v) 15 0x08114309 f6 46 30 03 test 0x30(%esi) $0x03
22 0x0046582c f6 47 28 01 test 0x28(%edi) $0x01
33 0x08119cfd f6 47 30 08 test 0x30(%edi) $0x08
35 0x08114b20 f6 46 30 10 test 0x30(%esi) $0x10
49 0x0811536c f6 46 30 01 test 0x30(%esi) $0x01
69 0x00465a9b f6 46 28 01 test 0x28(%esi) $0x01
69 0x0811f35c 0f 85 1f 03 00 00 jnz $0x0811f681
69 0x0811f365 85 c0 test %eax %eax
74 0x0811f26c 0f 85 1b 04 00 00 jnz $0x0811f68d
74 0x0811f275 85 c0 test %eax %eax
79 0x0811f18c 0f 85 f5 03 00 00 jnz $0x0811f587
79 0x0811f195 85 c0 test %eax %eax
82 0x0811c2f4 f6 41 30 08 test 0x30(%ecx) $0x08
161 0x08116b26 f6 42 1c 08 test 0x1c(%edx) $0x08
367 0x08114aec a8 20 test %al $0x20
404 0x081140bc f6 43 2c 01 test 0x2c(%ebx) $0x01
947 0x08116afd f6 41 1c 18 test 0x1c(%ecx) $0x18
1592 0x0804fc19 39 9d d8 fe ff ff cmp 0xfffffed8(%ebp) %ebx

Original issue: http://code.google.com/p/drmemory/issues/detail?id=108

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant