Some software, when it segfaults, just segfaults. Other software tries to be helpful, by catching the signal and printing a backtrace of where the crash happened, annotated with symbols from the ELF image.
In this example, which happened to a friend's machine yesterday, it _looks_ clear enough what happened. The crash occurs in OsLookupColor(), and "Segmentation fault at address 0x30" suggests trying to look up a struct field at offset 0x30 from what turned out to be a null pointer.
But this is all an illusion. OsLookupColor() is less than 0x14c bytes long. Line 0 of the backtrace really points into OsSigHandler(), just after OsLookupColor in the binary, but defined as 'static' so that the linker threw away its symbol name. And it's not the location of the crash: it's just the location of the call to the diagnostic function that printed the backtrace.
To find the actual fault we must look at line 2, in pci_device_vgaarb_set_target. That's _really_ where a NULL struct pointer was dereferenced. But most callers of that function check first if it's OK to call it. Where's the one caller that didn't?
Certainly not in DRICreatePCIBusID, which is (a) a pure string processing function; (b) _much_ smaller than the offset 0x39a0 shown in the backtrace. Again, this is going to be some other function whose name was thrown away at link time.
That backtrace function _tried_ to be helpful, but it didn't succeed. I'd almost rather have no annotations at all than ones this misleading!