[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 255603] Assertion '!already_present' failed
From:       Dmitry Djachenko <dimhen () gmail ! com>
Date:       2012-02-12 12:21:52
Message-ID: E1RwYRE-0006mQ-4L () bugs ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=255603





--- Comment #3 from Dmitry Djachenko <dimhen gmail com>  2012-02-12 12:21:51 ---
i can reproduce it
-- Fedora 16/x64
-- installed debuginfo
-- latest V from trunk -- 12380 / 2245

$ cat 255603.c 
#include <string.h>
#include <dlfcn.h>

int main()
{
    char istr[] = "any text";
    char ostr[10];

    strncpy(ostr, istr, sizeof(ostr)-1);
    dlopen("/usr/lib64/libao.so.4.0.0", 1); /* any valid lib */

    return 0;
}
$ gcc -O0 -Wall -Wextra -g 255603.c -ldl
$ valgrind --tool=exp-sgcheck ./a.out 
==24607== exp-sgcheck, a stack and global array overrun detector
==24607== NOTE: This is an Experimental-Class Valgrind Tool
==24607== Copyright (C) 2003-2011, and GNU GPL'd, by OpenWorks Ltd et al.
==24607== Using Valgrind-3.8.0.SVN and LibVEX; rerun with -h for copyright info
==24607== Command: ./a.out
==24607== 

exp-sgcheck: sg_main.c:560 (add_blocks_to_StackTree): Assertion
'!already_present' failed.
==24607==    at 0x38021E76: report_and_quit (m_libcassert.c:210)
==24607==    by 0x3802201C: vgPlain_assert_fail (m_libcassert.c:284)
==24607==    by 0x3801A274: add_blocks_to_StackTree (sg_main.c:560)
==24607==    by 0x3801A391: shadowStack_new_frame (sg_main.c:1875)
==24607==    by 0x406426B6B: ???
==24607==    by 0x1092D: ???
==24607==    by 0x38C9EAFF: ???
==24607==    by 0x38017B3F: ??? (h_main.c:141)
==24607==    by 0x402EE8F1F: ???
==24607==    by 0x38C9EAEF: ???
==24607==    by 0x3A0A019A5F: memcpy (memcpy.S:227)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable
==24607==    at 0x3A0A00DABB: _dl_map_object_deps (dl-deps.c:672)
==24607==    by 0x3A0A013700: dl_open_worker (dl-open.c:262)
==24607==    by 0x3A0A00F005: _dl_catch_error (dl-error.c:178)
==24607==    by 0x3A0A013179: _dl_open (dl-open.c:575)
==24607==    by 0x3A0A800F25: dlopen_doit (dlopen.c:67)
==24607==    by 0x3A0A00F005: _dl_catch_error (dl-error.c:178)
==24607==    by 0x3A0A80152E: _dlerror_run (dlerror.c:164)
==24607==    by 0x3A0A800FC0: dlopen@@GLIBC_2.2.5 (dlopen.c:88)
==24607==    by 0x4005A4: main (255603.c:10)


Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.

If that doesn't help, please report this bug to: www.valgrind.org

In the bug report, send all the above text, the valgrind
version, and what OS and version you are using.  Thanks.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic