octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #47372] Memory leaks and segmentation faults i


From: Rik
Subject: [Octave-bug-tracker] [bug #47372] Memory leaks and segmentation faults in Octave
Date: Thu, 24 Mar 2016 17:45:40 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0

Follow-up Comment #28, bug #47372 (project octave):

Sorry, GraphicsMagick is what I'm using as well.

The segfault is clearly related to the shared library.  I can "fix" it with
the original hack which gets rid of 'delete rep'.  I can also "fix" it by
adding RTLD_NODELETE to the original dlopen call.


diff -r ffbd3e86e0be liboctave/util/oct-shlib.cc
--- a/liboctave/util/oct-shlib.cc       Tue Mar 22 23:14:20 2016 -0700
+++ b/liboctave/util/oct-shlib.cc       Thu Mar 24 10:37:24 2016 -0700
@@ -201,6 +201,8 @@ octave_dlopen_shlib::octave_dlopen_shlib
   flags |= RTLD_GLOBAL;
 #  endif
 
+  flags |= RTLD_NODELETE;
+
   library = dlopen (file.c_str (), flags);
 
   if (! library)


According to the man page for dlopen


     RTLD_NODELETE (since glibc 2.2)
              Do not unload the library during dlclose().  Consequently, the
library's static variables are not reinitialized if the
              library is reloaded with dlopen() at a later time.  This flag is
not specified in POSIX.1-2001.


In either case, I'm preventing the library from being unloaded.  Still not
clear why it is happening though.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?47372>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]