compiler optimization causing issues with glib


I'm seeing some unexplained behavior from glib when I compile it with
optimizations.  I am using glib 2.26.0 cross-compiled for ARM using
Code Sourcery arm-2010q1-202.

The application I'm having issues with uses gdbus and exposes a few
methods.  The method of causing the issue is continuously calling one
of the methods (which basically does a g_spawn_async and then we wait
until the child is done before calling the method again).  The issue
shows up in a few different ways:

- Thread stuck in futex wait inside kernel
- Seg fault (only got function name, didn't have debug symbols to go further)
-- g_object_ref
-- memset as part of a gmalloc0

In addition, I did a test where I compiled with "-O3" and I saw
"GLib:ERROR:grand.c:352:g_rand_set_seed: code should not be reached"
print out on my console.

I have not yet seen an issue if I compile with "-O0", nor if I'm
running strace trying to figure out the futex issue.  So I'm not yet
sure what the real issue is, but I'm curious if anyone has encountered
anything like this?  I was going to try compiling the latest glib
release, but it has new host tools dependencies and I don't want to
change those for now.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]