Andreas.Haas at Sun.COM
2007-Nov-14 16:40 UTC
[dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet?
Hi, Chris (cc) and I try to get the SGE master monitor work with Apple Leopard dtrace. Unfortunately we are stuck with the error msg below. Anyone having an idea what could be the cause? What I can rule out as cause is function inlining for the reasons explained below. Background information on SGE master monitor implementation is under http://wiki.gridengine.info/wiki/index.php/Dtrace Regards, Andreas On Wed, 14 Nov 2007, Chris Dagdigian wrote:> Hi Andreas, > > Looks like we have to appeal to others - I''m getting the same error about > sge_mirror_process_events ... > >> sh-3.2# ./monitor.sh >> dtrace: failed to compile script ./monitor.d: line 179: probe description >> pid53778::sge_mirror_process_events:return does not match any probes >> sh-3.2# >> > On Nov 14, 2007, at 6:06 AM, Andreas.Haas at Sun.COM wrote: > >> Hi Chris, >> >> this time function inlining can not be the cause since >> sge_mirror_process_events() gets called exclusively from other source >> modules. I added nevertheless the no_inline >> compiler directive to source code for sge_mirror_process_events() and >> recompiled the entire stuff anew. Please give it another try. >> >> If it doesn''t work then we must ask for counsel from Apple and Sun >> engineers in dtrace-discuss at opensolaris.org mailing list. >> >> Best regards, >> Andreas
Rayson Ho
2007-Nov-14 16:59 UTC
[dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet?
Not sure if this is related or not: Mach-O (the object file format used on OSX) prepends an underline to the symbol name: zareh:c rayson$ nm a.out ... U _exit 00001fea T _func 00001ff2 T _main May be we need to add an "_"?? Is the PID provider in OSX smart enough to figure out that it needs an underline?? I think the Apple engineers can help us... Rayson On Nov 14, 2007 11:40 AM, <Andreas.Haas at sun.com> wrote:> Hi, > > Chris (cc) and I try to get the SGE master monitor work with Apple Leopard > dtrace. Unfortunately we are stuck with the error msg below. > > Anyone having an idea what could be the cause? What I can rule out as > cause is function inlining for the reasons explained below. > > Background information on SGE master monitor implementation is under > > http://wiki.gridengine.info/wiki/index.php/Dtrace > > Regards, > Andreas > > On Wed, 14 Nov 2007, Chris Dagdigian wrote: > > > Hi Andreas, > > > > Looks like we have to appeal to others - I''m getting the same error about > > sge_mirror_process_events ... > > > >> sh-3.2# ./monitor.sh > >> dtrace: failed to compile script ./monitor.d: line 179: probe description > >> pid53778::sge_mirror_process_events:return does not match any probes > >> sh-3.2# > >> > > On Nov 14, 2007, at 6:06 AM, Andreas.Haas at Sun.COM wrote: > > > >> Hi Chris, > >> > >> this time function inlining can not be the cause since > >> sge_mirror_process_events() gets called exclusively from other source > >> modules. I added nevertheless the no_inline > >> compiler directive to source code for sge_mirror_process_events() and > >> recompiled the entire stuff anew. Please give it another try. > >> > >> If it doesn''t work then we must ask for counsel from Apple and Sun > >> engineers in dtrace-discuss at opensolaris.org mailing list. > >> > >> Best regards, > >> Andreas > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org >
Andreas.Haas at Sun.COM
2007-Nov-14 17:18 UTC
[dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet?
On Wed, 14 Nov 2007, Rayson Ho wrote:> Not sure if this is related or not: Mach-O (the object file format > used on OSX) prepends an underline to the symbol name: > > zareh:c rayson$ nm a.out > ... > U _exit > 00001fea T _func > 00001ff2 T _main > > May be we need to add an "_"?? Is the PID provider in OSX smart enough > to figure out that it needs an underline??Should be. Before Chris and I were already able to resolve two or three similar errors of type "probe description ... does not match any probes" by adding noinline to the source code as explained in http://bugs.opensolaris.org/view_bug.do?bug_id=6480235 that would mean pid provider as such *does work* ;-) Btw. this is what nm gets me for the binary wrts the functions needed by the DTrace monitor 000e50da t _cl_message_list_append_receive 000e50a4 t _cl_message_list_append_send 000e50f5 t _cl_message_list_remove_receive 000e50bf t _cl_message_list_remove_send 0000558e t _dispatch_jobs 00063510 T _report_list_send 00004651 t _select_assign_debit 0011c4c2 T _sge_lock 0011c7d0 T _sge_locker_id 0010ace1 T _sge_log 0004f098 T _sge_mirror_process_events <--------------------------------- 0011c6b6 T _sge_unlock Regards, Andreas> I think the Apple engineers > can help us... > > Rayson > > > > On Nov 14, 2007 11:40 AM, <Andreas.Haas at sun.com> wrote: >> Hi, >> >> Chris (cc) and I try to get the SGE master monitor work with Apple Leopard >> dtrace. Unfortunately we are stuck with the error msg below. >> >> Anyone having an idea what could be the cause? What I can rule out as >> cause is function inlining for the reasons explained below. >> >> Background information on SGE master monitor implementation is under >> >> http://wiki.gridengine.info/wiki/index.php/Dtrace >> >> Regards, >> Andreas >> >> On Wed, 14 Nov 2007, Chris Dagdigian wrote: >> >>> Hi Andreas, >>> >>> Looks like we have to appeal to others - I''m getting the same error about >>> sge_mirror_process_events ... >>> >>>> sh-3.2# ./monitor.sh >>>> dtrace: failed to compile script ./monitor.d: line 179: probe description >>>> pid53778::sge_mirror_process_events:return does not match any probes >>>> sh-3.2# >>>> >>> On Nov 14, 2007, at 6:06 AM, Andreas.Haas at Sun.COM wrote: >>> >>>> Hi Chris, >>>> >>>> this time function inlining can not be the cause since >>>> sge_mirror_process_events() gets called exclusively from other source >>>> modules. I added nevertheless the no_inline >>>> compiler directive to source code for sge_mirror_process_events() and >>>> recompiled the entire stuff anew. Please give it another try. >>>> >>>> If it doesn''t work then we must ask for counsel from Apple and Sun >>>> engineers in dtrace-discuss at opensolaris.org mailing list. >>>> >>>> Best regards, >>>> Andreas >> _______________________________________________ >> dtrace-discuss mailing list >> dtrace-discuss at opensolaris.org >> > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org ><?)))>< http://gridengine.info/ Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht Muenchen: HRB 161028 Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer Vorsitzender des Aufsichtsrates: Martin Haering
James McIlree
2007-Nov-14 18:16 UTC
[dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet?
Andreas, You may be hitting a case where dtrace thinks it cannot safely instrument the return points in that function. Try running this (where XYZ is the pid of your target process) dtrace -xdebug -l -n ''pidXYZ::sge_mirror_process_events:return'' If dtrace prints a warning about finding a jump table, that means it isn''t certain it can safely place probes. James M On Nov 14, 2007, at 8:40 AM, Andreas.Haas at Sun.COM wrote:> Hi, > > Chris (cc) and I try to get the SGE master monitor work with Apple > Leopard > dtrace. Unfortunately we are stuck with the error msg below. > > Anyone having an idea what could be the cause? What I can rule out as > cause is function inlining for the reasons explained below. > > Background information on SGE master monitor implementation is under > > http://wiki.gridengine.info/wiki/index.php/Dtrace > > Regards, > Andreas > > On Wed, 14 Nov 2007, Chris Dagdigian wrote: > >> Hi Andreas, >> >> Looks like we have to appeal to others - I''m getting the same error >> about >> sge_mirror_process_events ... >> >>> sh-3.2# ./monitor.sh >>> dtrace: failed to compile script ./monitor.d: line 179: probe >>> description >>> pid53778::sge_mirror_process_events:return does not match any probes >>> sh-3.2# >>> >> On Nov 14, 2007, at 6:06 AM, Andreas.Haas at Sun.COM wrote: >> >>> Hi Chris, >>> >>> this time function inlining can not be the cause since >>> sge_mirror_process_events() gets called exclusively from other >>> source >>> modules. I added nevertheless the no_inline >>> compiler directive to source code for sge_mirror_process_events() >>> and >>> recompiled the entire stuff anew. Please give it another try. >>> >>> If it doesn''t work then we must ask for counsel from Apple and Sun >>> engineers in dtrace-discuss at opensolaris.org mailing list. >>> >>> Best regards, >>> Andreas > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org
Andreas.Haas at Sun.COM
2007-Nov-14 18:52 UTC
[dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet?
Hm ... the assebly of the function contains code like this movl L279-"L00000000011$pb"(%ebx,%eax,4), %eax addl %ebx, %eax jmp *%eax .align 2,0x90 L279: .long L187-"L00000000011$pb" .long L188-"L00000000011$pb" .long L189-"L00000000011$pb" : (much more of this kind) : if that is meant by libdtrace DEBUG: found a suspected jump table at sge_mirror_process_events:323 that could be the cause, but I got no idea where it comes from. Preprocessor output of the code is this sge_mirror_error __attribute__((noinline)) sge_mirror_process_events(sge_evc_class_t *evc) { lList *event_list = ((void *)0); sge_mirror_error ret = SGE_EM_OK; static int test_debug = 0; static const char SGE_FUNC[] = "sge_mirror_process_events"; static const int xaybzc = 0; if (rmon_condition(xaybzc, 1)) rmon_menter (SGE_FUNC); if(prof_is_active(SGE_PROF_MIRROR)) { prof_start_measurement(SGE_PROF_MIRROR,((void *)0)); }; mir_set_num_events(0); if (evc && evc->ec_get(evc, &event_list, false)) { if (event_list != ((void *)0)) { ret = sge_mirror_process_event_list(evc, event_list); lFreeList(&event_list); } } else { ( sprintf (log_get_log_buffer(), (("qmaster alive timeout expired"))), sge_log(4,log_get_log_buffer(),"../libs/mir/sge_mirror.c",SGE_FUNC,1141) ,1) ? 1 : 0; evc->ec_mark4registration(evc); ret = SGE_EM_TIMEOUT; } if (mir_get_produce_qmaster_alive_timeout()) { test_debug++; if (test_debug > 3) { test_debug = 0; ( sprintf (log_get_log_buffer(), (("qmaster alive timeout expired"))), sge_log(4,log_get_log_buffer(),"../libs/mir/sge_mirror.c",SGE_FUNC,1150) ,1) ? 1 : 0; evc->ec_mark4registration(evc); ret = SGE_EM_TIMEOUT; } } if (prof_is_active(SGE_PROF_MIRROR)) { prof_stop_measurement(SGE_PROF_MIRROR, ((void *)0)); (sprintf (log_get_log_buffer(), "PROF: sge_mirror processed %d events in %.3f s", mir_get_num_events(), prof_get_measurement_wallclock(SGE_PROF_MIRROR, false, ((void *)0))), sge_log(0, log_get_log_buffer(),"../li bs/mir/sge_mirror.c",SGE_FUNC,1160) ,1) ? 1 : 0; } if (rmon_condition(xaybzc, 1)) rmon_mexit(SGE_FUNC, "../libs/mir/sge_mirror.c", 1163); return ret; } Could it be the jump table is generated due to the function calls via function pointer are done by sge_mirror_process_events()? Regards, Andreas On Wed, 14 Nov 2007, Chris Dagdigian wrote:> James M seems to have found the issue: > >> sh-3.2# ps ax | grep sge_schedd >> 53778 ?? S 0:02.41 /opt/sge/bin/darwin-x86/sge_schedd >> 55698 s000 R+ 0:00.00 grep sge_schedd >> sh-3.2# >> sh-3.2# dtrace -xdebug -l -n ''pid53778::sge_mirror_process_events:return'' >> libdtrace DEBUG: typedef taskid_t added as id 32797 >> libdtrace DEBUG: typedef projid_t added as id 32798 >> libdtrace DEBUG: typedef poolid_t added as id 32799 >> libdtrace DEBUG: typedef zoneid_t added as id 32800 >> libdtrace DEBUG: typedef timestruc_t added as id 32804 >> libdtrace DEBUG: typedef psinfo_t added as id 32823 >> libdtrace DEBUG: typedef psetid_t added as id 33206 >> libdtrace DEBUG: typedef lwpsinfo_t added as id 33210 >> libdtrace DEBUG: typedef bufinfo_t added as id 33215 >> libdtrace DEBUG: typedef devinfo_t added as id 33218 >> libdtrace DEBUG: typedef offset_t added as id 33223 >> libdtrace DEBUG: typedef fileinfo_t added as id 33225 >> libdtrace DEBUG: type struct _processor_info added as id 33227 >> libdtrace DEBUG: typedef _processor_info_t added as id 33230 >> libdtrace DEBUG: typedef chipid_t added as id 33231 >> libdtrace DEBUG: typedef lgrp_id_t added as id 33232 >> libdtrace DEBUG: type struct cpuinfo added as id 33233 >> libdtrace DEBUG: typedef cpuinfo_t added as id 33234 >> libdtrace DEBUG: grabbed pid 53778 >> libdtrace DEBUG: creating probe pid53778:sge_schedd:sge_mirror_process_events:return >> libdtrace DEBUG: found a suspected jump table at sge_mirror_process_events:323 >> libdtrace DEBUG: set context to pid53778::sge_mirror_process_events:return [0] prp=0x0 attr=[u/u/c] argc=0 >> libdtrace DEBUG: set label to <action list> >> libdtrace DEBUG: set label to <NULL> >> ID PROVIDER MODULE FUNCTION NAME >> dtrace: failed to match pid53778::sge_mirror_process_events:return: No >> probe matches description >> libdtrace DEBUG: releasing pid 53778 >> libdtrace DEBUG: dt_buf_destroy(section headers): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(string table): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(loadable data): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(unloadable data): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe data): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe args): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe offs): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe is-enabled offs): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe rels): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(xlate members): size=512 resizes=0 >> sh-3.2# > > > > Regards, > Chris Dagdigiain > > > > > On Nov 14, 2007, at 1:16 PM, James McIlree wrote: > >> Andreas, >> >> You may be hitting a case where dtrace thinks it cannot >> safely instrument the return points in that function. Try running >> this (where XYZ is the pid of your target process) >> >> dtrace -xdebug -l -n ''pidXYZ::sge_mirror_process_events:return'' >> >> If dtrace prints a warning about finding a jump table, that >> means it isn''t certain it can safely place probes. >> >> James M >> >> On Nov 14, 2007, at 8:40 AM, Andreas.Haas at Sun.COM wrote: >> >>> Hi, >>> >>> Chris (cc) and I try to get the SGE master monitor work with Apple Leopard >>> dtrace. Unfortunately we are stuck with the error msg below. >>> >>> Anyone having an idea what could be the cause? What I can rule out as >>> cause is function inlining for the reasons explained below. >>> >>> Background information on SGE master monitor implementation is under >>> >>> http://wiki.gridengine.info/wiki/index.php/Dtrace >>> >>> Regards, >>> Andreas >>> >>> On Wed, 14 Nov 2007, Chris Dagdigian wrote: >>> >>>> Hi Andreas, >>>> >>>> Looks like we have to appeal to others - I''m getting the same error about >>>> sge_mirror_process_events ... >>>> >>>>> sh-3.2# ./monitor.sh >>>>> dtrace: failed to compile script ./monitor.d: line 179: probe >>>>> description >>>>> pid53778::sge_mirror_process_events:return does not match any probes >>>>> sh-3.2# >>>>> >>>> On Nov 14, 2007, at 6:06 AM, Andreas.Haas at Sun.COM wrote: >>>> >>>>> Hi Chris, >>>>> >>>>> this time function inlining can not be the cause since >>>>> sge_mirror_process_events() gets called exclusively from other source >>>>> modules. I added nevertheless the no_inline >>>>> compiler directive to source code for sge_mirror_process_events() and >>>>> recompiled the entire stuff anew. Please give it another try. >>>>> >>>>> If it doesn''t work then we must ask for counsel from Apple and Sun >>>>> engineers in dtrace-discuss at opensolaris.org mailing list. >>>>> >>>>> Best regards, >>>>> Andreas >>> _______________________________________________ >>> dtrace-discuss mailing list >>> dtrace-discuss at opensolaris.org ><?)))>< http://gridengine.info/ Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht Muenchen: HRB 161028 Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer Vorsitzender des Aufsichtsrates: Martin Haering
Andreas.Haas at Sun.COM
2007-Nov-27 16:52 UTC
[dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet?
I resend this as Chris and I got no answer so far. The issue is a pid provider probe gets rejected by Apple dtrace. Suspicion it is rejected due to libdtrace DEBUG: found a suspected jump table at below is a snippet of the assembly code of that function, that looks like a jump table plus the C preprocessor output of the same function. Anyone having an idea what could cause this jump table? Regards, Andreas ---------- Forwarded message ---------- Date: Wed, 14 Nov 2007 19:52:51 +0100 (MET) From: Andreas.Haas at sun.com To: dtrace-discuss at opensolaris.org Cc: Chris Dagdigian <dag at sonsorol.org>, James McIlree <jmcilree at apple.com> Subject: Re: [dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet? Hm ... the assebly of the function contains code like this movl L279-"L00000000011$pb"(%ebx,%eax,4), %eax addl %ebx, %eax jmp *%eax .align 2,0x90 L279: .long L187-"L00000000011$pb" .long L188-"L00000000011$pb" .long L189-"L00000000011$pb" : (much more of this kind) : if that is meant by libdtrace DEBUG: found a suspected jump table at sge_mirror_process_events:323 that could be the cause, but I got no idea where it comes from. Preprocessor output of the code is this sge_mirror_error __attribute__((noinline)) sge_mirror_process_events(sge_evc_class_t *evc) { lList *event_list = ((void *)0); sge_mirror_error ret = SGE_EM_OK; static int test_debug = 0; static const char SGE_FUNC[] = "sge_mirror_process_events"; static const int xaybzc = 0; if (rmon_condition(xaybzc, 1)) rmon_menter (SGE_FUNC); if(prof_is_active(SGE_PROF_MIRROR)) { prof_start_measurement(SGE_PROF_MIRROR,((void *)0)); }; mir_set_num_events(0); if (evc && evc->ec_get(evc, &event_list, false)) { if (event_list != ((void *)0)) { ret = sge_mirror_process_event_list(evc, event_list); lFreeList(&event_list); } } else { ( sprintf (log_get_log_buffer(), (("qmaster alive timeout expired"))), sge_log(4,log_get_log_buffer(),"../libs/mir/sge_mirror.c",SGE_FUNC,1141) ,1) ? 1 : 0; evc->ec_mark4registration(evc); ret = SGE_EM_TIMEOUT; } if (mir_get_produce_qmaster_alive_timeout()) { test_debug++; if (test_debug > 3) { test_debug = 0; ( sprintf (log_get_log_buffer(), (("qmaster alive timeout expired"))), sge_log(4,log_get_log_buffer(),"../libs/mir/sge_mirror.c",SGE_FUNC,1150) ,1) ? 1 : 0; evc->ec_mark4registration(evc); ret = SGE_EM_TIMEOUT; } } if (prof_is_active(SGE_PROF_MIRROR)) { prof_stop_measurement(SGE_PROF_MIRROR, ((void *)0)); (sprintf (log_get_log_buffer(), "PROF: sge_mirror processed %d events in %.3f s", mir_get_num_events(), prof_get_measurement_wallclock(SGE_PROF_MIRROR, false, ((void *)0))), sge_log(0, log_get_log_buffer(),"../li bs/mir/sge_mirror.c",SGE_FUNC,1160) ,1) ? 1 : 0; } if (rmon_condition(xaybzc, 1)) rmon_mexit(SGE_FUNC, "../libs/mir/sge_mirror.c", 1163); return ret; } Could it be the jump table is generated due to the function calls via function pointer are done by sge_mirror_process_events()? Regards, Andreas On Wed, 14 Nov 2007, Chris Dagdigian wrote:> James M seems to have found the issue: > >> sh-3.2# ps ax | grep sge_schedd >> 53778 ?? S 0:02.41 /opt/sge/bin/darwin-x86/sge_schedd >> 55698 s000 R+ 0:00.00 grep sge_schedd >> sh-3.2# >> sh-3.2# dtrace -xdebug -l -n ''pid53778::sge_mirror_process_events:return'' >> libdtrace DEBUG: typedef taskid_t added as id 32797 >> libdtrace DEBUG: typedef projid_t added as id 32798 >> libdtrace DEBUG: typedef poolid_t added as id 32799 >> libdtrace DEBUG: typedef zoneid_t added as id 32800 >> libdtrace DEBUG: typedef timestruc_t added as id 32804 >> libdtrace DEBUG: typedef psinfo_t added as id 32823 >> libdtrace DEBUG: typedef psetid_t added as id 33206 >> libdtrace DEBUG: typedef lwpsinfo_t added as id 33210 >> libdtrace DEBUG: typedef bufinfo_t added as id 33215 >> libdtrace DEBUG: typedef devinfo_t added as id 33218 >> libdtrace DEBUG: typedef offset_t added as id 33223 >> libdtrace DEBUG: typedef fileinfo_t added as id 33225 >> libdtrace DEBUG: type struct _processor_info added as id 33227 >> libdtrace DEBUG: typedef _processor_info_t added as id 33230 >> libdtrace DEBUG: typedef chipid_t added as id 33231 >> libdtrace DEBUG: typedef lgrp_id_t added as id 33232 >> libdtrace DEBUG: type struct cpuinfo added as id 33233 >> libdtrace DEBUG: typedef cpuinfo_t added as id 33234 >> libdtrace DEBUG: grabbed pid 53778 >> libdtrace DEBUG: creating probe >> pid53778:sge_schedd:sge_mirror_process_events:return >> libdtrace DEBUG: found a suspected jump table at >> sge_mirror_process_events:323 >> libdtrace DEBUG: set context to pid53778::sge_mirror_process_events:return >> [0] prp=0x0 attr=[u/u/c] argc=0 >> libdtrace DEBUG: set label to <action list> >> libdtrace DEBUG: set label to <NULL> >> ID PROVIDER MODULE FUNCTION NAME >> dtrace: failed to match pid53778::sge_mirror_process_events:return: No probe >> matches description >> libdtrace DEBUG: releasing pid 53778 >> libdtrace DEBUG: dt_buf_destroy(section headers): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(string table): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(loadable data): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(unloadable data): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe data): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe args): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe offs): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe is-enabled offs): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(probe rels): size=512 resizes=0 >> libdtrace DEBUG: dt_buf_destroy(xlate members): size=512 resizes=0 >> sh-3.2# > > > > Regards, > Chris Dagdigiain > > > > > On Nov 14, 2007, at 1:16 PM, James McIlree wrote: > >> Andreas, >> >> You may be hitting a case where dtrace thinks it cannot >> safely instrument the return points in that function. Try running >> this (where XYZ is the pid of your target process) >> >> dtrace -xdebug -l -n ''pidXYZ::sge_mirror_process_events:return'' >> >> If dtrace prints a warning about finding a jump table, that >> means it isn''t certain it can safely place probes. >> >> James M >> >> On Nov 14, 2007, at 8:40 AM, Andreas.Haas at Sun.COM wrote: >> >>> Hi, >>> >>> Chris (cc) and I try to get the SGE master monitor work with Apple Leopard >>> dtrace. Unfortunately we are stuck with the error msg below. >>> >>> Anyone having an idea what could be the cause? What I can rule out as >>> cause is function inlining for the reasons explained below. >>> >>> Background information on SGE master monitor implementation is under >>> >>> http://wiki.gridengine.info/wiki/index.php/Dtrace >>> >>> Regards, >>> Andreas >>> >>> On Wed, 14 Nov 2007, Chris Dagdigian wrote: >>> >>>> Hi Andreas, >>>> >>>> Looks like we have to appeal to others - I''m getting the same error about >>>> sge_mirror_process_events ... >>>> >>>>> sh-3.2# ./monitor.sh >>>>> dtrace: failed to compile script ./monitor.d: line 179: probe description >>>>> pid53778::sge_mirror_process_events:return does not match any probes >>>>> sh-3.2# >>>>> >>>> On Nov 14, 2007, at 6:06 AM, Andreas.Haas at Sun.COM wrote: >>>> >>>>> Hi Chris, >>>>> >>>>> this time function inlining can not be the cause since >>>>> sge_mirror_process_events() gets called exclusively from other source >>>>> modules. I added nevertheless the no_inline >>>>> compiler directive to source code for sge_mirror_process_events() and >>>>> recompiled the entire stuff anew. Please give it another try. >>>>> >>>>> If it doesn''t work then we must ask for counsel from Apple and Sun >>>>> engineers in dtrace-discuss at opensolaris.org mailing list. >>>>> >>>>> Best regards, >>>>> Andreas >>> _______________________________________________ >>> dtrace-discuss mailing list >>> dtrace-discuss at opensolaris.org >http://gridengine.info/ Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht Muenchen: HRB 161028 Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer Vorsitzender des Aufsichtsrates: Martin Haering
James McIlree
2007-Nov-27 18:50 UTC
[dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet?
Andreas, I doubt that the jump table is being caused by calling through a function pointer. Usually I see them generated in response to switch statements or long if-else-if chains. However, the compiler is free to do whatever optimizations it can. I''m speculating that the compiler found some interesting patterns in your code, which has a number of if statments and ternary operators. However, not being a real compiler expert, I can''t say for certain. You could tweak the code and probably make the jump table go away. Any fix you made would be somewhat fragile, though. James M On Nov 27, 2007, at 8:52 AM, Andreas.Haas at Sun.COM wrote:> I resend this as Chris and I got no answer so far. > > The issue is a pid provider probe gets rejected by Apple dtrace. > Suspicion it is rejected due to > > libdtrace DEBUG: found a suspected jump table at > > below is a snippet of the assembly code of that function, that looks > like a jump table plus the C preprocessor output of the > same function. > > Anyone having an idea what could cause this jump table? > > Regards, > Andreas > > ---------- Forwarded message ---------- > Date: Wed, 14 Nov 2007 19:52:51 +0100 (MET) > From: Andreas.Haas at sun.com > To: dtrace-discuss at opensolaris.org > Cc: Chris Dagdigian <dag at sonsorol.org>, James McIlree <jmcilree at apple.com > > > Subject: Re: [dtrace-discuss] [GE users] Apple Leopard has dtrace -- > anyone used > the SGE probes/scripts yet? > > Hm ... the assebly of the function contains code like this > > movl L279-"L00000000011$pb"(%ebx,%eax,4), %eax > addl %ebx, %eax > jmp *%eax > .align 2,0x90 > L279: > .long L187-"L00000000011$pb" > .long L188-"L00000000011$pb" > .long L189-"L00000000011$pb" > : > (much more of this kind) > : > > if that is meant by > > libdtrace DEBUG: found a suspected jump table at > sge_mirror_process_events:323 > > that could be the cause, but I got no idea where it comes from. > Preprocessor output > of the code is this > > sge_mirror_error __attribute__((noinline)) > sge_mirror_process_events(sge_evc_class_t *evc) > { > lList *event_list = ((void *)0); > sge_mirror_error ret = SGE_EM_OK; > static int test_debug = 0; > > > static const char SGE_FUNC[] = "sge_mirror_process_events"; static > const int xaybzc = 0; if (rmon_condition(xaybzc, 1)) rmon_menter > (SGE_FUNC); > > if(prof_is_active(SGE_PROF_MIRROR)) > { prof_start_measurement(SGE_PROF_MIRROR,((void *)0)); }; > > mir_set_num_events(0); > > if (evc && evc->ec_get(evc, &event_list, false)) { > if (event_list != ((void *)0)) { > ret = sge_mirror_process_event_list(evc, event_list); > lFreeList(&event_list); > } > } else { > ( sprintf (log_get_log_buffer(), (("qmaster alive timeout > expired"))), sge_log(4,log_get_log_buffer(),"../libs/mir/ > sge_mirror.c",SGE_FUNC,1141) ,1) ? > 1 : 0; > evc->ec_mark4registration(evc); > ret = SGE_EM_TIMEOUT; > } > > if (mir_get_produce_qmaster_alive_timeout()) { > test_debug++; > if (test_debug > 3) { > test_debug = 0; > ( sprintf (log_get_log_buffer(), (("qmaster alive timeout > expired"))), sge_log(4,log_get_log_buffer(),"../libs/mir/ > sge_mirror.c",SGE_FUNC,1150) ,1) > ? 1 : 0; > evc->ec_mark4registration(evc); > ret = SGE_EM_TIMEOUT; > } > } > > if (prof_is_active(SGE_PROF_MIRROR)) { > prof_stop_measurement(SGE_PROF_MIRROR, ((void *)0)); > (sprintf (log_get_log_buffer(), "PROF: sge_mirror processed %d > events in %.3f s", mir_get_num_events(), > prof_get_measurement_wallclock(SGE_PROF_MIRROR, false, ((void > *)0))), sge_log(0, log_get_log_buffer(),"../li > bs/mir/sge_mirror.c",SGE_FUNC,1160) ,1) ? 1 : 0; > > > } > > if (rmon_condition(xaybzc, 1)) rmon_mexit(SGE_FUNC, "../libs/mir/ > sge_mirror.c", 1163); > return ret; > } > > Could it be the jump table is generated due to the function calls > via function pointer are done by sge_mirror_process_events()? > > Regards, > Andreas
Adam Leventhal
2007-Nov-30 05:08 UTC
[dtrace-discuss] [GE users] Apple Leopard has dtrace -- anyone used the SGE probes/scripts yet?
On Tue, Nov 27, 2007 at 10:50:17AM -0800, James McIlree wrote:> I doubt that the jump table is being caused by calling through a > function pointer.The code sequence for a function pointer call is similar to that of a jump table. At one point we tried to distinguish the two, but found that to be unreliable in the face of a vareity of compilers so we switched to a more conservative approach. Adam -- Adam Leventhal, FishWorks http://blogs.sun.com/ahl
Andreas.Haas at Sun.COM
2007-Dec-05 17:19 UTC
[dtrace-discuss] C code function pointers and the dtrace pid provider
On Thu, 29 Nov 2007, Adam Leventhal wrote:> On Tue, Nov 27, 2007 at 10:50:17AM -0800, James McIlree wrote: >> I doubt that the jump table is being caused by calling through a >> function pointer. > > The code sequence for a function pointer call is similar to that of a > jump table. At one point we tried to distinguish the two, but found that > to be unreliable in the face of a vareity of compilers so we switched to > a more conservative approach.Thanks, Adam, even though this is unfortunate. If function pointer calls in C code can break pid provider this is a severe limitation on its usability. I would say any non-trivial C program makes use of function pointers ... Today we had another case with dtrace pid provider not functioning, but this time it occurs under *Solaris*: % dtrace -xdebug -l -n ''pid3870::sge_mirror_process_event_list:return'' libdtrace DEBUG: typedef bufinfo_t added as id 32801 libdtrace DEBUG: typedef devinfo_t added as id 32804 libdtrace DEBUG: typedef fileinfo_t added as id 32810 libdtrace DEBUG: type struct cpuinfo added as id 32812 libdtrace DEBUG: typedef cpuinfo_t added as id 32823 libdtrace DEBUG: grabbed pid 3870 libdtrace DEBUG: /scratch4/rd141302/cluster/ts1/bin/sol-amd64/sge_qmaster stret 0 0 0 0 libdtrace DEBUG: creating probe pid3870:sge_qmaster:sge_mirror_process_event_list:return libdtrace DEBUG: error at 0xf8b (assuming jump table) <-------- LOOK HERE ------------------- libdtrace DEBUG: /lib/amd64/ld.so.1 stret 0 0 0 0 libdtrace DEBUG: /lib/amd64/libdl.so.1 stret 0 0 0 0 libdtrace DEBUG: /lib/amd64/libsocket.so.1 stret 0 0 0 0 libdtrace DEBUG: /lib/amd64/libnsl.so.1 stret 0 0 0 0 libdtrace DEBUG: /lib/amd64/libm.so.2 stret 0 0 0 0 libdtrace DEBUG: /lib/amd64/libthread.so.1 stret 0 0 0 0 libdtrace DEBUG: /lib/amd64/libc.so.1 stret 0 0 0 0 libdtrace DEBUG: /scratch4/rd141302/cluster/ts1/lib/sol-amd64/libspoolc.so stret 0 0 0 0 libdtrace DEBUG: set context to pid3870::sge_mirror_process_event_list:return [0] prp=0 attr=[u/u/c] argc=0 libdtrace DEBUG: set label to <action list> libdtrace DEBUG: set label to <NULL> ID PROVIDER MODULE FUNCTION NAME dtrace: failed to match pid3870::sge_mirror_process_event_list:return: No probe matches description curiously there appears to be no jump table in the output (attached) of # dis -F sge_mirror_process_event_list ./sge_mirror.o but we get ***ERROR--unknown op code*** even though the object was actually compiled with -xarch=sse2 as to workaround #6429059. Any thoughts? Thanks and regards, Andreas -------------- next part -------------- **** DISASSEMBLER **** disassembly for SOLARISAMD64/sge_mirror.o section .text sge_mirror_process_event_list() sge_mirror_process_event_list: 53 pushq %rbx sge_mirror_process_event_list+0x1: 55 pushq %rbp sge_mirror_process_event_list+0x2: 41 54 pushq %r12 sge_mirror_process_event_list+0x4: 41 55 pushq %r13 sge_mirror_process_event_list+0x6: 41 56 pushq %r14 sge_mirror_process_event_list+0x8: 41 57 pushq %r15 sge_mirror_process_event_list+0xa: 48 83 ec 08 subq $0x8,%rsp sge_mirror_process_event_list+0xe: 4c 8b ef movq %rdi,%r13 sge_mirror_process_event_list+0x11: 4c 8b fe movq %rsi,%r15 sge_mirror_process_event_list+0x14: 4c 8d 35 00 00 00 00 leaq 0x0(%rip),%r14 sge_mirror_process_event_list+0x1b: 41 8b 3e movl (%r14),%edi sge_mirror_process_event_list+0x1e: 33 ed xorl %ebp,%ebp sge_mirror_process_event_list+0x20: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0x25> sge_mirror_process_event_list+0x25: 4c 8b e0 movq %rax,%r12 sge_mirror_process_event_list+0x28: 4d 85 e4 testq %r12,%r12 sge_mirror_process_event_list+0x2b: 75 2c jne +0x2e <sge_mirror_process_event_list+0x59> sge_mirror_process_event_list+0x2d: 48 c7 c7 e8 03 00 00 movq $0x3e8,%rdi sge_mirror_process_event_list+0x34: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0x39> sge_mirror_process_event_list+0x39: 4c 8b e0 movq %rax,%r12 sge_mirror_process_event_list+0x3c: 49 8b fc movq %r12,%rdi sge_mirror_process_event_list+0x3f: e8 0c d0 ff ff call -0x2fef <mir_state_init> sge_mirror_process_event_list+0x44: 41 8b 3e movl (%r14),%edi sge_mirror_process_event_list+0x47: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x4a: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0x4f> sge_mirror_process_event_list+0x4f: 8b f8 movl %eax,%edi sge_mirror_process_event_list+0x51: 85 ff testl %edi,%edi sge_mirror_process_event_list+0x53: 0f 85 c2 0e 00 00 jne +0xec8 <sge_mirror_process_event_list+0xf1b> sge_mirror_process_event_list+0x59: 49 83 c4 08 addq $0x8,%r12 sge_mirror_process_event_list+0x5d: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0x62> sge_mirror_process_event_list+0x62: 4c 8b f0 movq %rax,%r14 sge_mirror_process_event_list+0x65: 33 ff xorl %edi,%edi sge_mirror_process_event_list+0x67: be 01 00 00 00 movl $0x1,%esi sge_mirror_process_event_list+0x6c: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0x71> sge_mirror_process_event_list+0x71: 85 c0 testl %eax,%eax sge_mirror_process_event_list+0x73: 74 2a je +0x2c <sge_mirror_process_event_list+0x9f> sge_mirror_process_event_list+0x75: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0x7a> sge_mirror_process_event_list+0x7a: 48 85 c0 testq %rax,%rax sge_mirror_process_event_list+0x7d: 74 11 je +0x13 <sge_mirror_process_event_list+0x90> sge_mirror_process_event_list+0x7f: 48 8d 3d 00 00 00 00 leaq 0x0(%rip),%rdi sge_mirror_process_event_list+0x86: 48 8b 30 movq (%rax),%rsi sge_mirror_process_event_list+0x89: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0x8e> sge_mirror_process_event_list+0x8e: eb 0f jmp +0x11 <sge_mirror_process_event_list+0x9f> sge_mirror_process_event_list+0x90: 48 8d 3d 00 00 00 00 leaq 0x0(%rip),%rdi sge_mirror_process_event_list+0x97: 48 33 f6 xorq %rsi,%rsi sge_mirror_process_event_list+0x9a: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0x9f> sge_mirror_process_event_list+0x9f: 33 db xorl %ebx,%ebx sge_mirror_process_event_list+0xa1: 4d 85 ff testq %r15,%r15 sge_mirror_process_event_list+0xa4: 0f 84 2f 0d 00 00 je +0xd35 <sge_mirror_process_event_list+0xdd9> sge_mirror_process_event_list+0xaa: 4d 8b 7f 20 movq 0x20(%r15),%r15 sge_mirror_process_event_list+0xae: 4d 85 ff testq %r15,%r15 sge_mirror_process_event_list+0xb1: 0f 84 22 0d 00 00 je +0xd28 <sge_mirror_process_event_list+0xdd9> sge_mirror_process_event_list+0xb7: ff c5 incl %ebp sge_mirror_process_event_list+0xb9: 49 8b ff movq %r15,%rdi sge_mirror_process_event_list+0xbc: be 42 06 00 00 movl $0x642,%esi sge_mirror_process_event_list+0xc1: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xc6> sge_mirror_process_event_list+0xc6: 33 c9 xorl %ecx,%ecx sge_mirror_process_event_list+0xc8: 83 f8 60 cmpl $0x60,%eax sge_mirror_process_event_list+0xcb: 0f 87 c6 0c 00 00 ja +0xccc <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xd1: 4c 8d 05 b0 0e 00 00 leaq 0xeb0(%rip),%r8 sge_mirror_process_event_list+0xd8: 4c 63 c8 movslq %eax,%r9 sge_mirror_process_event_list+0xdb: 4f 03 04 c8 addq (%r8,%r9,8),%r8 sge_mirror_process_event_list+0xdf: 41 ff e0 jmp *%r8 sge_mirror_process_event_list+0xe2: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xe5: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xe8: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xeb: b9 1d 00 00 00 movl $0x1d,%ecx sge_mirror_process_event_list+0xf0: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0xf6: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xf9: e8 92 11 00 00 call +0x1197 <sge_mirror_process_event> sge_mirror_process_event_list+0xfe: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x100: e9 92 0c 00 00 jmp +0xc97 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x105: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x108: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x10b: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x10e: b9 1d 00 00 00 movl $0x1d,%ecx sge_mirror_process_event_list+0x113: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x119: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x11c: e8 6f 11 00 00 call +0x1174 <sge_mirror_process_event> sge_mirror_process_event_list+0x121: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x123: e9 6f 0c 00 00 jmp +0xc74 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x128: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x12b: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x12e: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x131: b9 1d 00 00 00 movl $0x1d,%ecx sge_mirror_process_event_list+0x136: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x13c: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x13f: e8 4c 11 00 00 call +0x1151 <sge_mirror_process_event> sge_mirror_process_event_list+0x144: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x146: e9 4c 0c 00 00 jmp +0xc51 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x14b: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x14e: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x151: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x154: b9 1d 00 00 00 movl $0x1d,%ecx sge_mirror_process_event_list+0x159: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x15f: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x162: e8 29 11 00 00 call +0x112e <sge_mirror_process_event> sge_mirror_process_event_list+0x167: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x169: e9 29 0c 00 00 jmp +0xc2e <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x16e: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x171: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x174: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x177: b9 18 00 00 00 movl $0x18,%ecx sge_mirror_process_event_list+0x17c: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x182: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x185: e8 06 11 00 00 call +0x110b <sge_mirror_process_event> sge_mirror_process_event_list+0x18a: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x18c: e9 06 0c 00 00 jmp +0xc0b <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x191: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x194: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x197: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x19a: b9 18 00 00 00 movl $0x18,%ecx sge_mirror_process_event_list+0x19f: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x1a5: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x1a8: e8 e3 10 00 00 call +0x10e8 <sge_mirror_process_event> sge_mirror_process_event_list+0x1ad: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x1af: e9 e3 0b 00 00 jmp +0xbe8 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x1b4: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x1b7: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x1ba: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x1bd: b9 18 00 00 00 movl $0x18,%ecx sge_mirror_process_event_list+0x1c2: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x1c8: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x1cb: e8 c0 10 00 00 call +0x10c5 <sge_mirror_process_event> sge_mirror_process_event_list+0x1d0: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x1d2: e9 c0 0b 00 00 jmp +0xbc5 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x1d7: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x1da: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x1dd: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x1e0: b9 18 00 00 00 movl $0x18,%ecx sge_mirror_process_event_list+0x1e5: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x1eb: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x1ee: e8 9d 10 00 00 call +0x10a2 <sge_mirror_process_event> sge_mirror_process_event_list+0x1f3: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x1f5: e9 9d 0b 00 00 jmp +0xba2 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x1fa: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x1fd: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x200: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x203: b9 1c 00 00 00 movl $0x1c,%ecx sge_mirror_process_event_list+0x208: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x20e: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x211: e8 7a 10 00 00 call +0x107f <sge_mirror_process_event> sge_mirror_process_event_list+0x216: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x218: e9 7a 0b 00 00 jmp +0xb7f <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x21d: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x220: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x223: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x226: b9 1c 00 00 00 movl $0x1c,%ecx sge_mirror_process_event_list+0x22b: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x231: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x234: e8 57 10 00 00 call +0x105c <sge_mirror_process_event> sge_mirror_process_event_list+0x239: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x23b: e9 57 0b 00 00 jmp +0xb5c <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x240: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x243: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x246: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x249: b9 1c 00 00 00 movl $0x1c,%ecx sge_mirror_process_event_list+0x24e: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x254: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x257: e8 34 10 00 00 call +0x1039 <sge_mirror_process_event> sge_mirror_process_event_list+0x25c: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x25e: e9 34 0b 00 00 jmp +0xb39 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x263: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x266: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x269: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x26c: b9 1c 00 00 00 movl $0x1c,%ecx sge_mirror_process_event_list+0x271: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x277: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x27a: e8 11 10 00 00 call +0x1016 <sge_mirror_process_event> sge_mirror_process_event_list+0x27f: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x281: e9 11 0b 00 00 jmp +0xb16 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x286: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x289: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x28c: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x28f: b9 17 00 00 00 movl $0x17,%ecx sge_mirror_process_event_list+0x294: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x29a: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x29d: e8 ee 0f 00 00 call +0xff3 <sge_mirror_process_event> sge_mirror_process_event_list+0x2a2: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x2a4: e9 ee 0a 00 00 jmp +0xaf3 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x2a9: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x2ac: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x2af: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x2b2: b9 17 00 00 00 movl $0x17,%ecx sge_mirror_process_event_list+0x2b7: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x2bd: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x2c0: e8 cb 0f 00 00 call +0xfd0 <sge_mirror_process_event> sge_mirror_process_event_list+0x2c5: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x2c7: e9 cb 0a 00 00 jmp +0xad0 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x2cc: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x2cf: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x2d2: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x2d5: b9 17 00 00 00 movl $0x17,%ecx sge_mirror_process_event_list+0x2da: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x2e0: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x2e3: e8 a8 0f 00 00 call +0xfad <sge_mirror_process_event> sge_mirror_process_event_list+0x2e8: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x2ea: e9 a8 0a 00 00 jmp +0xaad <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x2ef: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x2f2: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x2f5: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x2f8: b9 17 00 00 00 movl $0x17,%ecx sge_mirror_process_event_list+0x2fd: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x303: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x306: e8 85 0f 00 00 call +0xf8a <sge_mirror_process_event> sge_mirror_process_event_list+0x30b: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x30d: e9 85 0a 00 00 jmp +0xa8a <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x312: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x315: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x318: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x31b: b9 16 00 00 00 movl $0x16,%ecx sge_mirror_process_event_list+0x320: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x326: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x329: e8 62 0f 00 00 call +0xf67 <sge_mirror_process_event> sge_mirror_process_event_list+0x32e: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x330: e9 62 0a 00 00 jmp +0xa67 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x335: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x338: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x33b: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x33e: b9 16 00 00 00 movl $0x16,%ecx sge_mirror_process_event_list+0x343: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x349: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x34c: e8 3f 0f 00 00 call +0xf44 <sge_mirror_process_event> sge_mirror_process_event_list+0x351: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x353: e9 3f 0a 00 00 jmp +0xa44 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x358: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x35b: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x35e: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x361: b9 16 00 00 00 movl $0x16,%ecx sge_mirror_process_event_list+0x366: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x36c: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x36f: e8 1c 0f 00 00 call +0xf21 <sge_mirror_process_event> sge_mirror_process_event_list+0x374: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x376: e9 1c 0a 00 00 jmp +0xa21 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x37b: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x37e: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x381: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x384: b9 16 00 00 00 movl $0x16,%ecx sge_mirror_process_event_list+0x389: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x38f: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x392: e8 f9 0e 00 00 call +0xefe <sge_mirror_process_event> sge_mirror_process_event_list+0x397: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x399: e9 f9 09 00 00 jmp +0x9fe <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x39e: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x3a1: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x3a4: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x3a7: b9 15 00 00 00 movl $0x15,%ecx sge_mirror_process_event_list+0x3ac: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x3b2: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x3b5: e8 d6 0e 00 00 call +0xedb <sge_mirror_process_event> sge_mirror_process_event_list+0x3ba: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x3bc: e9 d6 09 00 00 jmp +0x9db <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x3c1: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x3c4: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x3c7: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x3ca: b9 15 00 00 00 movl $0x15,%ecx sge_mirror_process_event_list+0x3cf: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x3d5: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x3d8: e8 b3 0e 00 00 call +0xeb8 <sge_mirror_process_event> sge_mirror_process_event_list+0x3dd: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x3df: e9 b3 09 00 00 jmp +0x9b8 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x3e4: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x3e7: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x3ea: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x3ed: b9 15 00 00 00 movl $0x15,%ecx sge_mirror_process_event_list+0x3f2: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x3f8: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x3fb: e8 90 0e 00 00 call +0xe95 <sge_mirror_process_event> sge_mirror_process_event_list+0x400: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x402: e9 90 09 00 00 jmp +0x995 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x407: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x40a: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x40d: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x410: b9 15 00 00 00 movl $0x15,%ecx sge_mirror_process_event_list+0x415: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x41b: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x41e: e8 6d 0e 00 00 call +0xe72 <sge_mirror_process_event> sge_mirror_process_event_list+0x423: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x425: e9 6d 09 00 00 jmp +0x972 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x42a: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x42d: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x430: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x433: b9 12 00 00 00 movl $0x12,%ecx sge_mirror_process_event_list+0x438: 41 b8 05 00 00 00 movl $0x5,%r8d sge_mirror_process_event_list+0x43e: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x441: e8 4a 0e 00 00 call +0xe4f <sge_mirror_process_event> sge_mirror_process_event_list+0x446: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x448: e9 4a 09 00 00 jmp +0x94f <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x44d: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x450: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x453: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x456: b9 11 00 00 00 movl $0x11,%ecx sge_mirror_process_event_list+0x45b: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x461: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x464: e8 27 0e 00 00 call +0xe2c <sge_mirror_process_event> sge_mirror_process_event_list+0x469: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x46b: e9 27 09 00 00 jmp +0x92c <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x470: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x473: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x476: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x479: b9 10 00 00 00 movl $0x10,%ecx sge_mirror_process_event_list+0x47e: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x484: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x487: e8 04 0e 00 00 call +0xe09 <sge_mirror_process_event> sge_mirror_process_event_list+0x48c: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x48e: e9 04 09 00 00 jmp +0x909 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x493: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x496: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x499: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x49c: b9 10 00 00 00 movl $0x10,%ecx sge_mirror_process_event_list+0x4a1: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x4a7: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x4aa: e8 e1 0d 00 00 call +0xde6 <sge_mirror_process_event> sge_mirror_process_event_list+0x4af: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x4b1: e9 e1 08 00 00 jmp +0x8e6 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x4b6: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x4b9: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x4bc: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x4bf: b9 10 00 00 00 movl $0x10,%ecx sge_mirror_process_event_list+0x4c4: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x4ca: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x4cd: e8 be 0d 00 00 call +0xdc3 <sge_mirror_process_event> sge_mirror_process_event_list+0x4d2: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x4d4: e9 be 08 00 00 jmp +0x8c3 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x4d9: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x4dc: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x4df: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x4e2: b9 10 00 00 00 movl $0x10,%ecx sge_mirror_process_event_list+0x4e7: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x4ed: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x4f0: e8 9b 0d 00 00 call +0xda0 <sge_mirror_process_event> sge_mirror_process_event_list+0x4f5: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x4f7: e9 9b 08 00 00 jmp +0x8a0 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x4fc: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x4ff: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x502: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x505: b9 10 00 00 00 movl $0x10,%ecx sge_mirror_process_event_list+0x50a: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x510: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x513: e8 78 0d 00 00 call +0xd7d <sge_mirror_process_event> sge_mirror_process_event_list+0x518: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x51a: e9 78 08 00 00 jmp +0x87d <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x51f: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x522: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x525: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x528: b9 0f 00 00 00 movl $0xf,%ecx sge_mirror_process_event_list+0x52d: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x533: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x536: e8 55 0d 00 00 call +0xd5a <sge_mirror_process_event> sge_mirror_process_event_list+0x53b: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x53d: e9 55 08 00 00 jmp +0x85a <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x542: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x545: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x548: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x54b: b9 0f 00 00 00 movl $0xf,%ecx sge_mirror_process_event_list+0x550: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x556: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x559: e8 32 0d 00 00 call +0xd37 <sge_mirror_process_event> sge_mirror_process_event_list+0x55e: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x560: e9 32 08 00 00 jmp +0x837 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x565: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x568: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x56b: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x56e: b9 0f 00 00 00 movl $0xf,%ecx sge_mirror_process_event_list+0x573: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x579: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x57c: e8 0f 0d 00 00 call +0xd14 <sge_mirror_process_event> sge_mirror_process_event_list+0x581: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x583: e9 0f 08 00 00 jmp +0x814 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x588: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x58b: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x58e: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x591: b9 0f 00 00 00 movl $0xf,%ecx sge_mirror_process_event_list+0x596: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x59c: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x59f: e8 ec 0c 00 00 call +0xcf1 <sge_mirror_process_event> sge_mirror_process_event_list+0x5a4: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x5a6: e9 ec 07 00 00 jmp +0x7f1 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x5ab: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x5ae: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x5b1: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x5b4: b9 14 00 00 00 movl $0x14,%ecx sge_mirror_process_event_list+0x5b9: 41 b8 05 00 00 00 movl $0x5,%r8d sge_mirror_process_event_list+0x5bf: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x5c2: e8 c9 0c 00 00 call +0xcce <sge_mirror_process_event> sge_mirror_process_event_list+0x5c7: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x5c9: e9 c9 07 00 00 jmp +0x7ce <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x5ce: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x5d1: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x5d4: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x5d7: b9 0e 00 00 00 movl $0xe,%ecx sge_mirror_process_event_list+0x5dc: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x5e2: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x5e5: e8 a6 0c 00 00 call +0xcab <sge_mirror_process_event> sge_mirror_process_event_list+0x5ea: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x5ec: e9 a6 07 00 00 jmp +0x7ab <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x5f1: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x5f4: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x5f7: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x5fa: b9 0e 00 00 00 movl $0xe,%ecx sge_mirror_process_event_list+0x5ff: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x605: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x608: e8 83 0c 00 00 call +0xc88 <sge_mirror_process_event> sge_mirror_process_event_list+0x60d: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x60f: e9 83 07 00 00 jmp +0x788 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x614: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x617: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x61a: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x61d: b9 0e 00 00 00 movl $0xe,%ecx sge_mirror_process_event_list+0x622: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x628: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x62b: e8 60 0c 00 00 call +0xc65 <sge_mirror_process_event> sge_mirror_process_event_list+0x630: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x632: e9 60 07 00 00 jmp +0x765 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x637: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x63a: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x63d: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x640: b9 0e 00 00 00 movl $0xe,%ecx sge_mirror_process_event_list+0x645: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x64b: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x64e: e8 3d 0c 00 00 call +0xc42 <sge_mirror_process_event> sge_mirror_process_event_list+0x653: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x655: e9 3d 07 00 00 jmp +0x742 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x65a: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x65d: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x660: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x663: b9 0d 00 00 00 movl $0xd,%ecx sge_mirror_process_event_list+0x668: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x66e: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x671: e8 1a 0c 00 00 call +0xc1f <sge_mirror_process_event> sge_mirror_process_event_list+0x676: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x678: e9 1a 07 00 00 jmp +0x71f <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x67d: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x680: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x683: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x686: b9 0d 00 00 00 movl $0xd,%ecx sge_mirror_process_event_list+0x68b: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x691: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x694: e8 f7 0b 00 00 call +0xbfc <sge_mirror_process_event> sge_mirror_process_event_list+0x699: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x69b: e9 f7 06 00 00 jmp +0x6fc <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x6a0: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x6a3: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x6a6: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x6a9: b9 0d 00 00 00 movl $0xd,%ecx sge_mirror_process_event_list+0x6ae: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x6b4: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x6b7: e8 d4 0b 00 00 call +0xbd9 <sge_mirror_process_event> sge_mirror_process_event_list+0x6bc: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x6be: e9 d4 06 00 00 jmp +0x6d9 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x6c3: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x6c6: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x6c9: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x6cc: b9 0d 00 00 00 movl $0xd,%ecx sge_mirror_process_event_list+0x6d1: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x6d7: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x6da: e8 b1 0b 00 00 call +0xbb6 <sge_mirror_process_event> sge_mirror_process_event_list+0x6df: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x6e1: e9 b1 06 00 00 jmp +0x6b6 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x6e6: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x6e9: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x6ec: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x6ef: b9 0c 00 00 00 movl $0xc,%ecx sge_mirror_process_event_list+0x6f4: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x6fa: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x6fd: e8 8e 0b 00 00 call +0xb93 <sge_mirror_process_event> sge_mirror_process_event_list+0x702: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x704: e9 8e 06 00 00 jmp +0x693 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x709: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x70c: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x70f: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x712: b9 0b 00 00 00 movl $0xb,%ecx sge_mirror_process_event_list+0x717: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x71d: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x720: e8 6b 0b 00 00 call +0xb70 <sge_mirror_process_event> sge_mirror_process_event_list+0x725: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x727: e9 6b 06 00 00 jmp +0x670 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x72c: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x72f: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x732: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x735: b9 0b 00 00 00 movl $0xb,%ecx sge_mirror_process_event_list+0x73a: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x740: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x743: e8 48 0b 00 00 call +0xb4d <sge_mirror_process_event> sge_mirror_process_event_list+0x748: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x74a: e9 48 06 00 00 jmp +0x64d <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x74f: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x752: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x755: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x758: b9 0b 00 00 00 movl $0xb,%ecx sge_mirror_process_event_list+0x75d: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x763: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x766: e8 25 0b 00 00 call +0xb2a <sge_mirror_process_event> sge_mirror_process_event_list+0x76b: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x76d: e9 25 06 00 00 jmp +0x62a <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x772: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x775: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x778: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x77b: b9 0b 00 00 00 movl $0xb,%ecx sge_mirror_process_event_list+0x780: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x786: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x789: e8 02 0b 00 00 call +0xb07 <sge_mirror_process_event> sge_mirror_process_event_list+0x78e: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x790: e9 02 06 00 00 jmp +0x607 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x795: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x798: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x79b: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x79e: b9 0a 00 00 00 movl $0xa,%ecx sge_mirror_process_event_list+0x7a3: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x7a9: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x7ac: e8 df 0a 00 00 call +0xae4 <sge_mirror_process_event> sge_mirror_process_event_list+0x7b1: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x7b3: e9 df 05 00 00 jmp +0x5e4 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x7b8: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x7bb: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x7be: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x7c1: b9 0a 00 00 00 movl $0xa,%ecx sge_mirror_process_event_list+0x7c6: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x7cc: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x7cf: e8 bc 0a 00 00 call +0xac1 <sge_mirror_process_event> sge_mirror_process_event_list+0x7d4: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x7d6: e9 bc 05 00 00 jmp +0x5c1 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x7db: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x7de: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x7e1: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x7e4: b9 0a 00 00 00 movl $0xa,%ecx sge_mirror_process_event_list+0x7e9: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x7ef: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x7f2: e8 99 0a 00 00 call +0xa9e <sge_mirror_process_event> sge_mirror_process_event_list+0x7f7: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x7f9: e9 99 05 00 00 jmp +0x59e <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x7fe: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x801: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x804: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x807: b9 0a 00 00 00 movl $0xa,%ecx sge_mirror_process_event_list+0x80c: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x812: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x815: e8 76 0a 00 00 call +0xa7b <sge_mirror_process_event> sge_mirror_process_event_list+0x81a: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x81c: e9 76 05 00 00 jmp +0x57b <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x821: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x824: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x827: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x82a: b9 09 00 00 00 movl $0x9,%ecx sge_mirror_process_event_list+0x82f: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x835: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x838: e8 53 0a 00 00 call +0xa58 <sge_mirror_process_event> sge_mirror_process_event_list+0x83d: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x83f: e9 53 05 00 00 jmp +0x558 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x844: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x847: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x84a: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x84d: b9 09 00 00 00 movl $0x9,%ecx sge_mirror_process_event_list+0x852: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x858: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x85b: e8 30 0a 00 00 call +0xa35 <sge_mirror_process_event> sge_mirror_process_event_list+0x860: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x862: e9 30 05 00 00 jmp +0x535 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x867: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x86a: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x86d: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x870: b9 09 00 00 00 movl $0x9,%ecx sge_mirror_process_event_list+0x875: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x87b: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x87e: e8 0d 0a 00 00 call +0xa12 <sge_mirror_process_event> sge_mirror_process_event_list+0x883: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x885: e9 0d 05 00 00 jmp +0x512 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x88a: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x88d: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x890: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x893: b9 09 00 00 00 movl $0x9,%ecx sge_mirror_process_event_list+0x898: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x89e: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x8a1: e8 ea 09 00 00 call +0x9ef <sge_mirror_process_event> sge_mirror_process_event_list+0x8a6: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x8a8: e9 ea 04 00 00 jmp +0x4ef <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x8ad: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x8b0: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x8b3: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x8b6: b9 08 00 00 00 movl $0x8,%ecx sge_mirror_process_event_list+0x8bb: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x8c1: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x8c4: e8 c7 09 00 00 call +0x9cc <sge_mirror_process_event> sge_mirror_process_event_list+0x8c9: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x8cb: e9 c7 04 00 00 jmp +0x4cc <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x8d0: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x8d3: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x8d6: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x8d9: b9 08 00 00 00 movl $0x8,%ecx sge_mirror_process_event_list+0x8de: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x8e4: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x8e7: e8 a4 09 00 00 call +0x9a9 <sge_mirror_process_event> sge_mirror_process_event_list+0x8ec: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x8ee: e9 a4 04 00 00 jmp +0x4a9 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x8f3: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x8f6: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x8f9: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x8fc: b9 08 00 00 00 movl $0x8,%ecx sge_mirror_process_event_list+0x901: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x907: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x90a: e8 81 09 00 00 call +0x986 <sge_mirror_process_event> sge_mirror_process_event_list+0x90f: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x911: e9 81 04 00 00 jmp +0x486 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x916: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x919: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x91c: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x91f: b9 08 00 00 00 movl $0x8,%ecx sge_mirror_process_event_list+0x924: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x92a: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x92d: e8 5e 09 00 00 call +0x963 <sge_mirror_process_event> sge_mirror_process_event_list+0x932: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x934: e9 5e 04 00 00 jmp +0x463 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x939: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x93c: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x93f: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x942: b9 08 00 00 00 movl $0x8,%ecx sge_mirror_process_event_list+0x947: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x94d: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x950: e8 3b 09 00 00 call +0x940 <sge_mirror_process_event> sge_mirror_process_event_list+0x955: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x957: e9 3b 04 00 00 jmp +0x440 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x95c: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x95f: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x962: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x965: b9 08 00 00 00 movl $0x8,%ecx sge_mirror_process_event_list+0x96a: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x970: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x973: e8 18 09 00 00 call +0x91d <sge_mirror_process_event> sge_mirror_process_event_list+0x978: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x97a: e9 18 04 00 00 jmp +0x41d <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x97f: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x982: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x985: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x988: b9 08 00 00 00 movl $0x8,%ecx sge_mirror_process_event_list+0x98d: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0x993: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x996: e8 f5 08 00 00 call +0x8fa <sge_mirror_process_event> sge_mirror_process_event_list+0x99b: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x99d: e9 f5 03 00 00 jmp +0x3fa <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x9a2: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x9a5: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x9a8: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x9ab: b9 07 00 00 00 movl $0x7,%ecx sge_mirror_process_event_list+0x9b0: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0x9b6: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x9b9: e8 d2 08 00 00 call +0x8d7 <sge_mirror_process_event> sge_mirror_process_event_list+0x9be: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x9c0: e9 d2 03 00 00 jmp +0x3d7 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x9c5: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x9c8: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x9cb: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x9ce: b9 07 00 00 00 movl $0x7,%ecx sge_mirror_process_event_list+0x9d3: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0x9d9: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x9dc: e8 af 08 00 00 call +0x8b4 <sge_mirror_process_event> sge_mirror_process_event_list+0x9e1: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0x9e3: e9 af 03 00 00 jmp +0x3b4 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0x9e8: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0x9eb: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0x9ee: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0x9f1: b9 06 00 00 00 movl $0x6,%ecx sge_mirror_process_event_list+0x9f6: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0x9fc: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0x9ff: e8 8c 08 00 00 call +0x891 <sge_mirror_process_event> sge_mirror_process_event_list+0xa04: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xa06: e9 8c 03 00 00 jmp +0x391 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xa0b: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xa0e: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xa11: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xa14: b9 06 00 00 00 movl $0x6,%ecx sge_mirror_process_event_list+0xa19: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0xa1f: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xa22: e8 69 08 00 00 call +0x86e <sge_mirror_process_event> sge_mirror_process_event_list+0xa27: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xa29: e9 69 03 00 00 jmp +0x36e <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xa2e: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xa31: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xa34: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xa37: b9 06 00 00 00 movl $0x6,%ecx sge_mirror_process_event_list+0xa3c: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0xa42: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xa45: e8 46 08 00 00 call +0x84b <sge_mirror_process_event> sge_mirror_process_event_list+0xa4a: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xa4c: e9 46 03 00 00 jmp +0x34b <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xa51: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xa54: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xa57: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xa5a: b9 04 00 00 00 movl $0x4,%ecx sge_mirror_process_event_list+0xa5f: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0xa65: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xa68: e8 23 08 00 00 call +0x828 <sge_mirror_process_event> sge_mirror_process_event_list+0xa6d: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xa6f: e9 23 03 00 00 jmp +0x328 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xa74: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xa77: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xa7a: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xa7d: b9 05 00 00 00 movl $0x5,%ecx sge_mirror_process_event_list+0xa82: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0xa88: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xa8b: e8 00 08 00 00 call +0x805 <sge_mirror_process_event> sge_mirror_process_event_list+0xa90: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xa92: e9 00 03 00 00 jmp +0x305 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xa97: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xa9a: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xa9d: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xaa0: b9 05 00 00 00 movl $0x5,%ecx sge_mirror_process_event_list+0xaa5: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0xaab: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xaae: e8 dd 07 00 00 call +0x7e2 <sge_mirror_process_event> sge_mirror_process_event_list+0xab3: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xab5: e9 dd 02 00 00 jmp +0x2e2 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xaba: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xabd: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xac0: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xac3: b9 05 00 00 00 movl $0x5,%ecx sge_mirror_process_event_list+0xac8: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0xace: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xad1: e8 ba 07 00 00 call +0x7bf <sge_mirror_process_event> sge_mirror_process_event_list+0xad6: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xad8: e9 ba 02 00 00 jmp +0x2bf <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xadd: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xae0: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xae3: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xae6: b9 05 00 00 00 movl $0x5,%ecx sge_mirror_process_event_list+0xaeb: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0xaf1: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xaf4: e8 97 07 00 00 call +0x79c <sge_mirror_process_event> sge_mirror_process_event_list+0xaf9: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xafb: e9 97 02 00 00 jmp +0x29c <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xb00: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xb03: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xb06: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xb09: b9 03 00 00 00 movl $0x3,%ecx sge_mirror_process_event_list+0xb0e: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0xb14: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xb17: e8 74 07 00 00 call +0x779 <sge_mirror_process_event> sge_mirror_process_event_list+0xb1c: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xb1e: e9 74 02 00 00 jmp +0x279 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xb23: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xb26: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xb29: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xb2c: b9 03 00 00 00 movl $0x3,%ecx sge_mirror_process_event_list+0xb31: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0xb37: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xb3a: e8 51 07 00 00 call +0x756 <sge_mirror_process_event> sge_mirror_process_event_list+0xb3f: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xb41: e9 51 02 00 00 jmp +0x256 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xb46: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xb49: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xb4c: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xb4f: b9 03 00 00 00 movl $0x3,%ecx sge_mirror_process_event_list+0xb54: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0xb5a: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xb5d: e8 2e 07 00 00 call +0x733 <sge_mirror_process_event> sge_mirror_process_event_list+0xb62: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xb64: e9 2e 02 00 00 jmp +0x233 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xb69: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xb6c: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xb6f: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xb72: b9 03 00 00 00 movl $0x3,%ecx sge_mirror_process_event_list+0xb77: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0xb7d: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xb80: e8 0b 07 00 00 call +0x710 <sge_mirror_process_event> sge_mirror_process_event_list+0xb85: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xb87: e9 0b 02 00 00 jmp +0x210 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xb8c: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xb8f: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xb92: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xb95: b9 19 00 00 00 movl $0x19,%ecx sge_mirror_process_event_list+0xb9a: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0xba0: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xba3: e8 e8 06 00 00 call +0x6ed <sge_mirror_process_event> sge_mirror_process_event_list+0xba8: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xbaa: e9 e8 01 00 00 jmp +0x1ed <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xbaf: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xbb2: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xbb5: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xbb8: b9 19 00 00 00 movl $0x19,%ecx sge_mirror_process_event_list+0xbbd: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0xbc3: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xbc6: e8 c5 06 00 00 call +0x6ca <sge_mirror_process_event> sge_mirror_process_event_list+0xbcb: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xbcd: e9 c5 01 00 00 jmp +0x1ca <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xbd2: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xbd5: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xbd8: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xbdb: b9 19 00 00 00 movl $0x19,%ecx sge_mirror_process_event_list+0xbe0: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0xbe6: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xbe9: e8 a2 06 00 00 call +0x6a7 <sge_mirror_process_event> sge_mirror_process_event_list+0xbee: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xbf0: e9 a2 01 00 00 jmp +0x1a7 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xbf5: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xbf8: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xbfb: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xbfe: b9 19 00 00 00 movl $0x19,%ecx sge_mirror_process_event_list+0xc03: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0xc09: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xc0c: e8 7f 06 00 00 call +0x684 <sge_mirror_process_event> sge_mirror_process_event_list+0xc11: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xc13: e9 7f 01 00 00 jmp +0x184 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xc18: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xc1b: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xc1e: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xc21: b9 02 00 00 00 movl $0x2,%ecx sge_mirror_process_event_list+0xc26: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0xc2c: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xc2f: e8 5c 06 00 00 call +0x661 <sge_mirror_process_event> sge_mirror_process_event_list+0xc34: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xc36: e9 5c 01 00 00 jmp +0x161 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xc3b: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xc3e: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xc41: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xc44: b9 02 00 00 00 movl $0x2,%ecx sge_mirror_process_event_list+0xc49: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0xc4f: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xc52: e8 39 06 00 00 call +0x63e <sge_mirror_process_event> sge_mirror_process_event_list+0xc57: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xc59: e9 39 01 00 00 jmp +0x13e <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xc5e: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xc61: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xc64: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xc67: b9 02 00 00 00 movl $0x2,%ecx sge_mirror_process_event_list+0xc6c: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0xc72: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xc75: e8 16 06 00 00 call +0x61b <sge_mirror_process_event> sge_mirror_process_event_list+0xc7a: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xc7c: e9 16 01 00 00 jmp +0x11b <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xc81: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xc84: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xc87: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xc8a: b9 02 00 00 00 movl $0x2,%ecx sge_mirror_process_event_list+0xc8f: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0xc95: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xc98: e8 f3 05 00 00 call +0x5f8 <sge_mirror_process_event> sge_mirror_process_event_list+0xc9d: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xc9f: e9 f3 00 00 00 jmp +0xf8 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xca4: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xca7: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xcaa: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xcad: b9 01 00 00 00 movl $0x1,%ecx sge_mirror_process_event_list+0xcb2: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0xcb8: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xcbb: e8 d0 05 00 00 call +0x5d5 <sge_mirror_process_event> sge_mirror_process_event_list+0xcc0: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xcc2: e9 d0 00 00 00 jmp +0xd5 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xcc7: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xcca: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xccd: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xcd0: b9 01 00 00 00 movl $0x1,%ecx sge_mirror_process_event_list+0xcd5: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0xcdb: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xcde: e8 ad 05 00 00 call +0x5b2 <sge_mirror_process_event> sge_mirror_process_event_list+0xce3: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xce5: e9 ad 00 00 00 jmp +0xb2 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xcea: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xced: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xcf0: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xcf3: b9 01 00 00 00 movl $0x1,%ecx sge_mirror_process_event_list+0xcf8: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0xcfe: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xd01: e8 8a 05 00 00 call +0x58f <sge_mirror_process_event> sge_mirror_process_event_list+0xd06: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xd08: e9 8a 00 00 00 jmp +0x8f <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xd0d: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xd10: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xd13: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xd16: b9 01 00 00 00 movl $0x1,%ecx sge_mirror_process_event_list+0xd1b: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0xd21: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xd24: e8 67 05 00 00 call +0x56c <sge_mirror_process_event> sge_mirror_process_event_list+0xd29: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xd2b: eb 6a jmp +0x6c <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xd2d: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xd30: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xd33: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xd36: 41 b8 03 00 00 00 movl $0x3,%r8d sge_mirror_process_event_list+0xd3c: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xd3f: e8 4c 05 00 00 call +0x551 <sge_mirror_process_event> sge_mirror_process_event_list+0xd44: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xd46: eb 4f jmp +0x51 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xd48: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xd4b: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xd4e: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xd51: 41 b8 04 00 00 00 movl $0x4,%r8d sge_mirror_process_event_list+0xd57: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xd5a: e8 31 05 00 00 call +0x536 <sge_mirror_process_event> sge_mirror_process_event_list+0xd5f: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xd61: eb 34 jmp +0x36 <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xd63: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xd66: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xd69: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xd6c: 41 b8 02 00 00 00 movl $0x2,%r8d sge_mirror_process_event_list+0xd72: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xd75: e8 16 05 00 00 call +0x51b <sge_mirror_process_event> sge_mirror_process_event_list+0xd7a: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xd7c: eb 19 jmp +0x1b <sge_mirror_process_event_list+0xd97> sge_mirror_process_event_list+0xd7e: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xd81: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xd84: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xd87: 41 b8 01 00 00 00 movl $0x1,%r8d sge_mirror_process_event_list+0xd8d: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xd90: e8 fb 04 00 00 call +0x500 <sge_mirror_process_event> sge_mirror_process_event_list+0xd95: 8b c8 movl %eax,%ecx sge_mirror_process_event_list+0xd97: 85 c9 testl %ecx,%ecx sge_mirror_process_event_list+0xd99: b8 07 00 00 00 movl $0x7,%eax sge_mirror_process_event_list+0xd9e: 0f 45 d8 cmovl.ne %eax,%ebx sge_mirror_process_event_list+0xda1: 4d 8b 3f movq (%r15),%r15 sge_mirror_process_event_list+0xda4: 4d 85 ff testq %r15,%r15 sge_mirror_process_event_list+0xda7: 0f 85 0a f3 ff ff jne -0xcf0 <sge_mirror_process_event_list+0xb7> sge_mirror_process_event_list+0xdad: eb 2a jmp +0x2c <sge_mirror_process_event_list+0xdd9> sge_mirror_process_event_list+0xdaf: 49 8b fd movq %r13,%rdi sge_mirror_process_event_list+0xdb2: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xdb5: 49 8b d6 movq %r14,%rdx sge_mirror_process_event_list+0xdb8: b9 13 00 00 00 movl $0x13,%ecx sge_mirror_process_event_list+0xdbd: 41 b8 05 00 00 00 movl $0x5,%r8d sge_mirror_process_event_list+0xdc3: 4d 8b cf movq %r15,%r9 sge_mirror_process_event_list+0xdc6: e8 c5 04 00 00 call +0x4ca <sge_mirror_process_event> sge_mirror_process_event_list+0xdcb: 85 c0 testl %eax,%eax sge_mirror_process_event_list+0xdcd: b8 07 00 00 00 movl $0x7,%eax sge_mirror_process_event_list+0xdd2: 0f 45 d8 cmovl.ne %eax,%ebx sge_mirror_process_event_list+0xdd5: 49 83 3f 00 cmpq $0x0,(%r15) sge_mirror_process_event_list+0xdd9: 4c 8d 05 00 00 00 00 leaq 0x0(%rip),%r8 sge_mirror_process_event_list+0xde0: 41 8b 38 movl (%r8),%edi sge_mirror_process_event_list+0xde3: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xde8> sge_mirror_process_event_list+0xde8: 4c 8b e0 movq %rax,%r12 sge_mirror_process_event_list+0xdeb: 4d 85 e4 testq %r12,%r12 sge_mirror_process_event_list+0xdee: 0f 85 c0 00 00 00 jne +0xc6 <sge_mirror_process_event_list+0xeb4> sge_mirror_process_event_list+0xdf4: 48 c7 c7 e8 03 00 00 movq $0x3e8,%rdi sge_mirror_process_event_list+0xdfb: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xe00> sge_mirror_process_event_list+0xe00: 4c 8b e0 movq %rax,%r12 sge_mirror_process_event_list+0xe03: 48 8d 3d 00 00 00 00 leaq 0x0(%rip),%rdi sge_mirror_process_event_list+0xe0a: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xe0f> sge_mirror_process_event_list+0xe0f: 48 85 c0 testq %rax,%rax sge_mirror_process_event_list+0xe12: 0f 95 c0 setne %al sge_mirror_process_event_list+0xe15: 0f b6 c0 movzbl %al,%eax sge_mirror_process_event_list+0xe18: 41 89 44 24 04 movl %eax,0x4(%r12) sge_mirror_process_event_list+0xe1d: 4c 8d 05 00 00 00 00 leaq 0x0(%rip),%r8 sge_mirror_process_event_list+0xe24: 49 83 c0 08 addq $0x8,%r8 sge_mirror_process_event_list+0xe28: 4d 8d 4c 24 08 leaq 0x8(%r12),%r9 sge_mirror_process_event_list+0xe2d: 33 c0 xorl %eax,%eax sge_mirror_process_event_list+0xe2f: 90 nop sge_mirror_process_event_list+0xe30: 4d 8b d0 movq %r8,%r10 sge_mirror_process_event_list+0xe33: 41 0f 18 8a 00 01 00 00 prefetcht0 0x100(%r10) sge_mirror_process_event_list+0xe3b: 4d 33 db xorq %r11,%r11 sge_mirror_process_event_list+0xe3e: 49 8b c9 movq %r9,%rcx sge_mirror_process_event_list+0xe41: 4c 89 19 movq %r11,(%rcx) sge_mirror_process_event_list+0xe44: 4c 89 59 10 movq %r11,0x10(%rcx) sge_mirror_process_event_list+0xe48: 4d 8b 02 movq (%r10),%r8 sge_mirror_process_event_list+0xe4b: 4c 89 41 08 movq %r8,0x8(%rcx) sge_mirror_process_event_list+0xe4f: 4c 89 59 18 movq %r11,0x18(%rcx) sge_mirror_process_event_list+0xe53: 0f 18 89 38 01 00 00 prefetcht0 0x138(%rcx) sge_mirror_process_event_list+0xe5a: 4c 89 59 20 movq %r11,0x20(%rcx) sge_mirror_process_event_list+0xe5e: 4c 89 59 30 movq %r11,0x30(%rcx) sge_mirror_process_event_list+0xe62: 4d 8b 42 20 movq 0x20(%r10),%r8 sge_mirror_process_event_list+0xe66: 4c 89 41 28 movq %r8,0x28(%rcx) sge_mirror_process_event_list+0xe6a: 4c 89 59 38 movq %r11,0x38(%rcx) sge_mirror_process_event_list+0xe6e: 4d 8d 42 40 leaq 0x40(%r10),%r8 sge_mirror_process_event_list+0xe72: 4c 8d 49 40 leaq 0x40(%rcx),%r9 sge_mirror_process_event_list+0xe76: 83 c0 02 addl $0x2,%eax sge_mirror_process_event_list+0xe79: 83 f8 1d cmpl $0x1d,%eax sge_mirror_process_event_list+0xe7c: 7e b2 jle -0x4c <sge_mirror_process_event_list+0xe30> sge_mirror_process_event_list+0xe7e: 4c 89 59 40 movq %r11,0x40(%rcx) sge_mirror_process_event_list+0xe82: 4c 89 59 50 movq %r11,0x50(%rcx) sge_mirror_process_event_list+0xe86: 4d 8b 42 40 movq 0x40(%r10),%r8 sge_mirror_process_event_list+0xe8a: 4c 89 41 48 movq %r8,0x48(%rcx) sge_mirror_process_event_list+0xe8e: 4c 89 59 58 movq %r11,0x58(%rcx) sge_mirror_process_event_list+0xe92: 33 c0 xorl %eax,%eax sge_mirror_process_event_list+0xe94: 41 89 04 24 movl %eax,(%r12) sge_mirror_process_event_list+0xe98: 4c 8d 05 00 00 00 00 leaq 0x0(%rip),%r8 sge_mirror_process_event_list+0xe9f: 41 8b 38 movl (%r8),%edi sge_mirror_process_event_list+0xea2: 49 8b f4 movq %r12,%rsi sge_mirror_process_event_list+0xea5: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xeaa> sge_mirror_process_event_list+0xeaa: 8b f8 movl %eax,%edi sge_mirror_process_event_list+0xeac: 85 ff testl %edi,%edi sge_mirror_process_event_list+0xeae: 0f 85 9c 00 00 00 jne +0xa2 <sge_mirror_process_event_list+0xf50> sge_mirror_process_event_list+0xeb4: 41 89 2c 24 movl %ebp,(%r12) sge_mirror_process_event_list+0xeb8: 33 ff xorl %edi,%edi sge_mirror_process_event_list+0xeba: be 01 00 00 00 movl $0x1,%esi sge_mirror_process_event_list+0xebf: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xec4> sge_mirror_process_event_list+0xec4: 85 c0 testl %eax,%eax sge_mirror_process_event_list+0xec6: 74 42 je +0x44 <sge_mirror_process_event_list+0xf0a> sge_mirror_process_event_list+0xec8: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xecd> sge_mirror_process_event_list+0xecd: 48 85 c0 testq %rax,%rax sge_mirror_process_event_list+0xed0: 74 1d je +0x1f <sge_mirror_process_event_list+0xeef> sge_mirror_process_event_list+0xed2: 48 8d 3d 00 00 00 00 leaq 0x0(%rip),%rdi sge_mirror_process_event_list+0xed9: 48 8d 35 00 00 00 00 leaq 0x0(%rip),%rsi sge_mirror_process_event_list+0xee0: 48 8b 08 movq (%rax),%rcx sge_mirror_process_event_list+0xee3: ba 03 06 00 00 movl $0x603,%edx sge_mirror_process_event_list+0xee8: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xeed> sge_mirror_process_event_list+0xeed: eb 1b jmp +0x1d <sge_mirror_process_event_list+0xf0a> sge_mirror_process_event_list+0xeef: 48 8d 3d 00 00 00 00 leaq 0x0(%rip),%rdi sge_mirror_process_event_list+0xef6: 48 8d 35 00 00 00 00 leaq 0x0(%rip),%rsi sge_mirror_process_event_list+0xefd: ba 03 06 00 00 movl $0x603,%edx sge_mirror_process_event_list+0xf02: 48 33 c9 xorq %rcx,%rcx sge_mirror_process_event_list+0xf05: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xf0a> sge_mirror_process_event_list+0xf0a: 8b c3 movl %ebx,%eax sge_mirror_process_event_list+0xf0c: 48 83 c4 08 addq $0x8,%rsp sge_mirror_process_event_list+0xf10: 41 5f popq %r15 sge_mirror_process_event_list+0xf12: 41 5e popq %r14 sge_mirror_process_event_list+0xf14: 41 5d popq %r13 sge_mirror_process_event_list+0xf16: 41 5c popq %r12 sge_mirror_process_event_list+0xf18: 5d popq %rbp sge_mirror_process_event_list+0xf19: 5b popq %rbx sge_mirror_process_event_list+0xf1a: c3 ret sge_mirror_process_event_list+0xf1b: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xf20> sge_mirror_process_event_list+0xf20: 48 8b c8 movq %rax,%rcx sge_mirror_process_event_list+0xf23: 48 8b 3d 00 00 00 00 movq 0x0(%rip),%rdi sge_mirror_process_event_list+0xf2a: 48 81 c7 00 01 00 00 addq $0x100,%rdi sge_mirror_process_event_list+0xf31: 48 8d 35 00 00 00 00 leaq 0x0(%rip),%rsi sge_mirror_process_event_list+0xf38: 48 8d 15 00 00 00 00 leaq 0x0(%rip),%rdx sge_mirror_process_event_list+0xf3f: 33 c0 xorl %eax,%eax sge_mirror_process_event_list+0xf41: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xf46> sge_mirror_process_event_list+0xf46: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xf4b> sge_mirror_process_event_list+0xf4b: e9 09 f1 ff ff jmp -0xef2 <sge_mirror_process_event_list+0x59> sge_mirror_process_event_list+0xf50: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xf55> sge_mirror_process_event_list+0xf55: 48 8b c8 movq %rax,%rcx sge_mirror_process_event_list+0xf58: 48 8b 3d 00 00 00 00 movq 0x0(%rip),%rdi sge_mirror_process_event_list+0xf5f: 48 81 c7 00 01 00 00 addq $0x100,%rdi sge_mirror_process_event_list+0xf66: 48 8d 35 00 00 00 00 leaq 0x0(%rip),%rsi sge_mirror_process_event_list+0xf6d: 48 8d 15 00 00 00 00 leaq 0x0(%rip),%rdx sge_mirror_process_event_list+0xf74: 33 c0 xorl %eax,%eax sge_mirror_process_event_list+0xf76: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xf7b> sge_mirror_process_event_list+0xf7b: e8 00 00 00 00 call +0x5 <sge_mirror_process_event_list+0xf80> sge_mirror_process_event_list+0xf80: e9 2f ff ff ff jmp -0xcc <sge_mirror_process_event_list+0xeb4> sge_mirror_process_event_list+0xf85: 66 66 90 nop sge_mirror_process_event_list+0xf88: 0f fe ff paddd %mm7,%mm7 sge_mirror_process_event_list+0xf8b: ff ff ***ERROR--unknown op code*** sge_mirror_process_event_list+0xf8d: ff ff ***ERROR--unknown op code*** sge_mirror_process_event_list+0xf8f: ff f6 pushq %rsi sge_mirror_process_event_list+0xf91: fd std sge_mirror_process_event_list+0xf92: ff ff ***ERROR--unknown op code*** sge_mirror_process_event_list+0xf94: ff ff ***ERROR--unknown op code*** sge_mirror_process_event_list+0xf96: ff ff ***ERROR--unknown op code*** sge_mirror_process_event_list+0xf98: db fd ***ERROR--unknown op code*** sge_mirror_process_event_list+0xf9a: ff ff ***ERROR--unknown op code*** sge_mirror_process_event_list+0xf9c: ff ff ***ERROR--unknown op code*** sge_mirror_process_event_list+0xf9e: ff ff ***ERROR--unknown op code*** sge_mirror_process_event_list+0xfa0: c0 fd ff sarb $-0x1,%ch dis: Too many errors encountered, probably not a text section
Adam Leventhal
2007-Dec-05 19:17 UTC
[dtrace-discuss] C code function pointers and the dtrace pid provider
On Wed, Dec 05, 2007 at 06:19:58PM +0100, Andreas.Haas at Sun.COM wrote:> Thanks, Adam, even though this is unfortunate. If function pointer calls in > C code can break pid provider this is a severe limitation on its usability. > I would say any non-trivial C program makes use of function pointers ...I''m not sure I agree with that, but fair enough.> curiously there appears to be no jump table in the output (attached) of > > # dis -F sge_mirror_process_event_list ./sge_mirror.oHere is it:> sge_mirror_process_event_list+0xdf: 41 ff e0 jmp *%r8> Any thoughts?What you could do is explicictly place a probe on the addresses of the return sites (just sge_mirror_process_event_list+0xf1a fortunately): # mdb /usr/bin/date> main::dis ! grep retmain+0x1c5: ret> main+0x1c5=K80511e9> ^D# dtrace -c date -n ''pid$target::-:80511e9{ printf("%A", uregs[R_PC]); }'' dtrace: description ''pid$target::-:80511e9'' matched 1 probe Wed Dec 5 11:02:57 PST 2007 dtrace: pid 177209 has exited CPU ID FUNCTION:NAME 1 88849 -:80511e9 date`main+0x1c5 Of course: be careful with the explicit address syntax, and be sure you don''t put a probe on an address which isn''t at the start of an instruction. http://wikis.sun.com/display/DTrace/User+Process+Tracing#UserProcessTracing-TracingArbitraryInstructions Adam -- Adam Leventhal, FishWorks http://blogs.sun.com/ahl
Andreas.Haas at Sun.COM
2007-Dec-06 11:18 UTC
[dtrace-discuss] C code function pointers and the dtrace pid provider
On Wed, 5 Dec 2007, Adam Leventhal wrote:> On Wed, Dec 05, 2007 at 06:19:58PM +0100, Andreas.Haas at Sun.COM wrote: >> Thanks, Adam, even though this is unfortunate. If function pointer calls in >> C code can break pid provider this is a severe limitation on its usability. >> I would say any non-trivial C program makes use of function pointers ... > > I''m not sure I agree with that, but fair enough.Well, it may be acceptable, but then it should be documented at least. I filed doc change request ---> #6638313> >> curiously there appears to be no jump table in the output (attached) of >> >> # dis -F sge_mirror_process_event_list ./sge_mirror.o > > Here is it: > >> sge_mirror_process_event_list+0xdf: 41 ff e0 jmp *%r8Ok.> >> Any thoughts? > > What you could do is explicictly place a probe on the addresses of the return > sites (just sge_mirror_process_event_list+0xf1a fortunately): > > # mdb /usr/bin/date >> main::dis ! grep ret > main+0x1c5: ret >> main+0x1c5=K > 80511e9 >> ^D > # dtrace -c date -n ''pid$target::-:80511e9{ printf("%A", uregs[R_PC]); }'' > dtrace: description ''pid$target::-:80511e9'' matched 1 probe > Wed Dec 5 11:02:57 PST 2007 > dtrace: pid 177209 has exited > CPU ID FUNCTION:NAME > 1 88849 -:80511e9 date`main+0x1c5 > > Of course: be careful with the explicit address syntax, and be sure you > don''t put a probe on an address which isn''t at the start of an instruction.Thanks. Placing the probe at the adress of the return is not practical for us as the Dtrace monitor is delivered with SGE to CUs. I guess we will solve the issue by wrapping function pointer contaminated sge_mirror_process_event_list() with some other function and probe the wrapper instead. Regards, Andreas