[haiku-bugs] Re: [Haiku] #10490: Can't screenshoot Web+ under libroot_debug.so

  • From: "pulkomandy" <trac@xxxxxxxxxxxx>
  • Date: Wed, 05 Feb 2014 14:53:46 -0000

#10490: Can't screenshoot Web+ under libroot_debug.so
----------------------------------+----------------------------
   Reporter:  humdinger           |      Owner:  axeld
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  R1
  Component:  Kits/Interface Kit  |    Version:  R1/Development
 Resolution:                      |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  All
----------------------------------+----------------------------

Comment (by pulkomandy):

 Replying to [comment:2 bonefish]:
 > Replying to [comment:1 pulkomandy]:
 > > What happens is the LD_PRELOAD is inherited to child processes. In
 this case, it seems the "Screenshot" app ends up being run with the gcc4
 libroot_debug loaded, so it fails to run.
 >
 > libroot_debug is just an alternative libroot. Besides that a program
 might run into an assertion or other debug check in case of certain
 issues, it should just work the same way. I suppose the `exception` type
 info symbol should live in libgcc and thus libroot, so it should also live
 in libroot_debug. I checked on a gcc4h image and both (gcc 2) libroot and
 libroot_debug do indeed export the symbol.

 Yes, that's fine. The problem is we end up running the gcc2-compiled
 Screenshot with the gcc4 version of libroot_debug preloaded. I had this
 problem in other cases when trying to debug an executable that was run by
 a shell script (for example, libtool sometimes generates such things to
 make it possible to run an application without installing the libs it
 depends on and that are built in the same project). In this case, it's
 hard to set LD_PRELOAD for the executable, without also setting it for the
 shell interpreter that's run first.

 I don't know how we could handle all these cases, anyway. For this one,
 warning the user that running Screenshot failed may be enough.

--
Ticket URL: <https://dev.haiku-os.org/ticket/10490#comment:3>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: