Re: [SLUG] firefox is seriously dragging

From: Paul Bransford (draeath@gmail.com)
Date: Sat Jul 18 2009 - 09:16:10 EDT


Eben King wrote:
> On Fri, 17 Jul 2009, Paul Bransford wrote:
>
>> Eben King wrote:
>>>
>>> Further clues: gnome-terminal and gthumb don't run, they hang before
>>> drawing the window. Maybe a library they share is hosed? Lemme try the
>>> other binaries in the XFCE menu to see which ones successfully draw a
>>> window ... OK, everything accessible from the menu works except for:
>>>
>>> gnome-terminal
>>> gthumb
>>> xawtv
>>>
>>> It seems they all three share linux-vdso.so.1 . How can I find out if
>>> anything else uses that library? ldd everything | grep?
>>
>> What distro do you have?
>
> Ubuntu 8.04.3 (LTS)
>
>> If you have CentOS or Fedora, you can find out what package installed
>> that file, and then you can do a query on installed packages to see who
>> depends on this package. I can give you code for the first, but I don't
>> know how (but it's possible) do do the dependency search:
>>
>> yum provides */linux-vdso.so.1 (note the */ is critical)
>>
>> There's a way to do this for .deb based systems as well, I think you use
>> a tool (that's not installed by default) called apt-file or something.
>
> Found it, "dpkg --search" I think. No matter, it's a very commonly linked
> file. And since its location is a hex number instead of a pathname, that
> makes me think it's something like libc, deep in the bowels of the OS.
>
> At any rate, I copied sessionstore.js to ~ and told FF to start a new
> session. It's in that JSNO(?) format as was said here. I found a Python
> script for parsing it, but it gets an error. Maybe someone speaks
> Python (I
> don't) and can fix it:
>
> ,--
> | eben@pc:~$ ./parse_sessionstore.py
> | File "./parse_sessionstore.py", line 14
> | return ch == 't'
> | ^
> | IndentationError: expected an indented block
> '--
>
> What I believe to be line 14's subroutine is:
>
> 11 class JSBooleanTrue(object):
> 12 @staticmethod
> 13 def isValidStart(ch):
> 14 return ch == 't'
>
> The whole thing is at
>
> http://tsukasa.net.au/~hg/greg_stuff/file/tip/parse_sessionsstore.py
>
> Right now I'm doing
>
> tr -d ' ' < sessionstore.bak | tr -d '^J' | tr , '\n' | grep
> '{entries:\[{url:' | less -S
>
> to extract the URLs I need, but it sucks by and large.
>

Location is hex? Exactly what did you see, and where?

That sounds like a load offset - where in the programs memory that
module is loaded. Was it something like this?

0x01234+linux-vdso.so.1 or linux-vdso.so.1+0x01234 ?

If so, that's merely telling you where the instruction pointer was when
there was an error. You'll get a hex location like that when you don't
have all the debug symbols - normally it would tell you the function
that died. The library could be dead, yes, but more likely something
that the library is trying to do is setting off something bad.
-----------------------------------------------------------------------
This list is provided as an unmoderated internet service by Networked
Knowledge Systems (NKS). Views and opinions expressed in messages
posted are those of the author and do not necessarily reflect the
official policy or position of NKS or any of its employees.



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 20:37:31 EDT