Hello,
 
We got the segment fault on the usage of opreport and  saw the similar case in the "opreport Segmentation Fault (MIPS SMP)" mail loop.
We are not sure if the problem mentioned in the mail loop is resolved.
 
In our case, our platform is MIPS DEC station serires with linux 2.6.10, and oprofile source is version 0.9.2 got from CVS site.
The following is the situation we run into.
 
/nfs # ./opcontrol --vmlinux=vmlinux
/nfs # ./opcontrol --start
    Using 2.6+ OProfile kernel interface.
    Reading module info.
    oprofiled: /proc/modules not readable, can't process module samples.  //Never mind, we didn't enable loadable modules option in linux
    Using log file /ram/oprofile/oprofiled.log
    Daemon started.
    Profiler running.
/nfs # ./opcontrol --stop
    Stopping profiling
/nfs # ./opreport
CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
          TIMER:0|
  samples|      %|
------------------
      168 42.9668 vmlinux
      142 36.3171 ld-uClibc.so.0
       57 14.5780 busybox
       23  5.8824 libc.so.0
        1  0.2558 oprofiled
/nfs # ./opreport --verbose=all -l vmlinux
    vmlinux
 
    Archive:
    Matched sample files: 1
    /ram/oprofile/samples/current/{root}/nfs/vmlinux/{dep}/{root}/nfs/vmlinux/TIMER.0.0.all.all.all
    profile_classes:
    event:
    cpuinfo: CPU: CPU with timer interrupt, speed 0 MHz (estimated)
    class #0:
    name: TIMER:0
    longname: Profiling through timer interrupt
    ptemplate:
    event: TIMER
    count: 0
    unitmask: 0
    tgid: all
    tid: all
    cpu: all
    profiles_set #0:
    image: /nfs/vmlinux
    profile_sample_files #0:
    sample_filename: /ram/oprofile/samples/current/{root}/nfs/vmlinux/{dep}/{root}/nfs/vmlinux/TIMER.0.0.all.all.all
    callgraph filenames:
 
    CPU: CPU with timer interrupt, speed 0 MHz (estimated)
    Profiling through timer interrupt
    op_bfd ctor for /nfs/vmlinux
    Segmentation fault
/nfs # ./opreport -l oprofiled
    CPU: CPU with timer interrupt, speed 0 MHz (estimated)
    Profiling through timer interrupt
    Segmentation fault
 
Then, we tries to dive into the code to find out where it halt, and it stops after fdopen_bfd() function call. 
Cound you guys give us some suggestion?
Thanks
 
regards,
 
Chuck Chen