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

List:       kde-bugs-dist
Subject:    [valgrind] [Bug 356122] New: Apparent infinite loop calling the GLib g_get_user_special_dir() functi
From:       Daniel Trebbien via KDE Bugzilla <bugzilla_noreply () kde ! org>
Date:       2015-11-30 17:44:52
Message-ID: bug-356122-17878 () http ! bugs ! kde ! org/
[Download RAW message or body]

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

            Bug ID: 356122
           Summary: Apparent infinite loop calling the GLib
                    g_get_user_special_dir() function
           Product: valgrind
           Version: 3.10.0
          Platform: Homebrew (Mac OS X)
                OS: OS X
            Status: UNCONFIRMED
          Severity: major
          Priority: NOR
         Component: general
          Assignee: jseward@acm.org
          Reporter: dtrebbien@gmail.com

Simply calling the GLib g_get_user_special_dir() function on a Mac OS 10.11.1
system seemingly causes Valgrind to enter an infinite loop using 100% CPU.

```
#include <glib.h>
#include <stdlib.h>

int main()
{
    g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS);
    return EXIT_SUCCESS;
}
```

Compiled with:
cc -g -o get_user_special_dir.bin `pkg-config --cflags glib-2.0`
get_user_special_dir.c `pkg-config --libs glib-2.0`

Ran with:
valgrind ./get_user_special_dir.bin

Trimmed output:
```
==4088== Memcheck, a memory error detector
==4088== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==4088== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==4088== Command: ./get_user_special_dir.bin
==4088== 
==4088== Conditional jump or move depends on uninitialised value(s)
==4088==    at 0x7FFF5FC24A27: bcmp (in /usr/lib/dyld)
...
==4088== 
==4088== Use of uninitialised value of size 8
==4088==    at 0x7FFF5FC24A3F: bcmp (in /usr/lib/dyld)
...
==4088== 
==4088== Use of uninitialised value of size 8
==4088==    at 0x7FFF5FC24A44: bcmp (in /usr/lib/dyld)
...
==4088== 
==4088== Conditional jump or move depends on uninitialised value(s)
==4088==    at 0x7FFF5FC11907:
ImageLoaderMachO::validateFirstPages(linkedit_data_command const*, int,
unsigned char const*, unsigned long, long long, ImageLoader::LinkContext
const&) (in /usr/lib/dyld)
...
==4088== 
--4088-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option
--4088-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option (repeated 2 times)
--4088-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option (repeated 4 times)
--4088-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option (repeated 8 times)
Killed: 9
```

(I had to force-quit valgrind.)

Using:
- GLib 2.46.2  (installed via Homebrew 'el_capitan' bottle)
- Valgrind 3.11.0  (also installed via Homebrew 'el_capitan' bottle)

I tried the above on an Ubuntu 14.04.3 LTS 'Trusty Tahr' system with Valgrind
3.10.0, but did not observe the 100% CPU utilization problem.

Reproducible: Always

Steps to Reproduce:
1. Install the pkg-config, glib, and valgrind Homebrew packages.
2. Save the following as get_user_special_dir.c:

```
#include <glib.h>
#include <stdlib.h>

int main()
{
    g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS);
    return EXIT_SUCCESS;
}
```

3. Compile get_user_special_dir.c via:
cc -g -o get_user_special_dir.bin `pkg-config --cflags glib-2.0`
get_user_special_dir.c `pkg-config --libs glib-2.0`
4. Run via:
valgrind ./get_user_special_dir.bin
5. After a few seconds, open the Activity Monitor app and observe that the
valgrind process is utilizing 100% CPU.

Actual Results:  
100% CPU utilization and valgrind seems like it would never finish (I'm not
sure because I kill the process each time after a few minutes).

Expected Results:  
valgrind should run and complete.

Using:
- GLib 2.46.2  (installed via Homebrew 'el_capitan' bottle)
- Valgrind 3.11.0  (also installed via Homebrew 'el_capitan' bottle)

I tried the above on an Ubuntu 14.04.3 LTS 'Trusty Tahr' system with Valgrind
3.10.0, but did not observe the 100% CPU utilization problem.

-- 
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