Menu

#35 panic in version 2.6 with firefox 0.8

closed-fixed
nobody
None
5
2004-05-11
2004-04-27
Joel Martin
No

panic in version 2.6 with firefox 0.8

What: Viewing trailers on www.apple.com/trailers/.

I can reproduce but it requires pulling up the embedded
page and then pressing back and forward a few times to
load unload the same video.

Backtrace:
#0 0x409e178a in strncasecmp () from /lib/libc.so.6
#1 0x412373de in isMms(char*) () from
/opt/netscape/plugins/mplayerplug-in.so
#2 0x4123e4e0 in gtkgui_save_enable(void*) () from
/opt/netscape/plugins/mplayerplug-in.so
#3 0x405976c3 in g_idle_dispatch () from
/usr/lib/libglib-2.0.so.0
#4 0x405979c0 in g_main_dispatch () from
/usr/lib/libglib-2.0.so.0
#5 0x40595d68 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#6 0x40597e8b in g_main_context_iterate () from
/usr/lib/libglib-2.0.so.0
#7 0x4059635f in g_main_loop_run () from
/usr/lib/libglib-2.0.so.0
#8 0x402b992f in gtk_main () from
/usr/lib/libgtk-x11-2.0.so.0
#9 0x08241faa in nsVoidKey::Clone() const ()
#10 0x085fc72f in nsSharedBufferHandle<unsigned short>*
NS_AllocateContiguousHandleWithData<nsSharedBufferHandle<unsigned
short>, nsAString>(nsSharedBufferHandle<unsigned short>
const*, unsigned, nsAString const*) ()
#11 0x087949a7 in nsPrintSession::~nsPrintSession() ()
#12 0x08795187 in nsPrintSession::~nsPrintSession() ()
#13 0x08076471 in gtk_widget_grab_focus ()
#14 0x4097adc4 in __libc_start_main () from /lib/libc.so.6

I found the code in question:
int isMms(char *url)
{
if (DEBUG > 1)
printf("in isMms\n");

if (url == NULL)
return 0;
if ((strncasecmp(url, "mms://", 6) == 0)
|| (strncasecmp(url, "mmst://", 7) == 0)
|| (strncasecmp(url, "mmsu://", 7) == 0)
|| (strncasecmp(url, "rtsp://", 7) == 0)) {
return 1;
} else {
return 0;
}
}
----------------
The variable url is set to non-NULL, however, the value
that it
is set to is not a valid memory address. I added the
following two lines of code right before the
strncasecmp checks:
printf ("******** url: %ld\n", url);
printf ("******** url[0]: %c\n", url[0]);

The first one succeeded and the second one panic'd
before ever
getting into the second printf implying that the
dereference of url failed.

Hope that helps.

Discussion

  • Kevin DeKorte

    Kevin DeKorte - 2004-04-30

    Logged In: YES
    user_id=685413

    Can you try this for me..

    In gtkgui_save_enable in plugin-ui.cpp

    Below
    if (instance->currentnode == NULL)
    return FALSE;

    Add

    if (instance->js_state != JS_STATE_PLAYING)
    return FALSE;

    Let me know if that helps.

    Kevin

     
  • Joel Martin

    Joel Martin - 2004-05-03

    Logged In: YES
    user_id=9256

    Okay, I applied the patch and now I have a different crash:

    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 16384 (LWP 7698)]
    0x402a5fc3 in gtk_label_set_text () from
    /usr/lib/libgtk-x11-2.0.so.0
    (gdb) bt
    #0 0x402a5fc3 in gtk_label_set_text () from
    /usr/lib/libgtk-x11-2.0.so.0
    #1 0x4144a26f in gtkgui_message(void*) () from
    /opt/netscape/plugins/mplayerplug-in.so
    #2 0x405976c3 in g_idle_dispatch () from
    /usr/lib/libglib-2.0.so.0
    #3 0x405979c0 in g_main_dispatch () from
    /usr/lib/libglib-2.0.so.0
    #4 0x40595d68 in g_main_context_dispatch () from
    /usr/lib/libglib-2.0.so.0
    #5 0x40597e8b in g_main_context_iterate () from
    /usr/lib/libglib-2.0.so.0
    #6 0x4059635f in g_main_loop_run () from
    /usr/lib/libglib-2.0.so.0
    #7 0x402b992f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #8 0x08241faa in nsVoidKey::Clone() const ()
    #9 0x085fc72f in nsSharedBufferHandle<unsigned short>*
    NS_AllocateContiguousHandleWithData<nsSharedBufferHandle<unsigned
    short>, nsAString>(nsSharedBufferHandle<unsigned short>
    const*, unsigned, nsAString const*) ()
    #10 0x087949a7 in nsPrintSession::~nsPrintSession() ()
    #11 0x08795187 in nsPrintSession::~nsPrintSession() ()
    #12 0x08076471 in gtk_widget_grab_focus ()
    #13 0x4097adc4 in __libc_start_main () from /lib/libc.so.6

    Thanks for you help by the way.

     
  • Kevin DeKorte

    Kevin DeKorte - 2004-05-03

    Logged In: YES
    user_id=685413

    Ok try this

    in gtkgui_message in plugin-ui.cpp change

    if (instance->status != NULL)

    to

    if (instance->status != NULL && instance->lastmessage != NULL)

    And see if that helps.

    Kevin

     
  • Joel Martin

    Joel Martin - 2004-05-05

    Logged In: YES
    user_id=9256

    I built with symbols this time.

    I have applied both of your fixes now. I'm pretty sure the first
    one is working correctly because I'm not bumping into the
    same thing at that point anymore.

    However, I'm still getting a SIGSEGV at nearly the same
    location as the second fix. Here is the new backtrace:

    I took a look at what "data" is pointing to. The
    nsPluginInstance
    object looks totally foobar. I don't see any valid looking
    data in
    it.

    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 16384 (LWP 22927)]
    0x402a4133 in gtk_label_set_text () from
    /usr/lib/libgtk-x11-2.0.so.0
    (gdb) bt
    #0 0x402a4133 in gtk_label_set_text () from
    /usr/lib/libgtk-x11-2.0.so.0
    #1 0x41f8486c in gtkgui_message(void*) () from
    /opt/netscape/plugins/mplayerplug-in.so
    #2 0x4058f193 in g_idle_dispatch () from
    /usr/lib/libglib-2.0.so.0
    #3 0x4058f480 in g_main_dispatch () from
    /usr/lib/libglib-2.0.so.0
    #4 0x4058d8a8 in g_main_context_dispatch () from
    /usr/lib/libglib-2.0.so.0
    #5 0x4058f93f in g_main_context_iterate () from
    /usr/lib/libglib-2.0.so.0
    #6 0x4058de92 in g_main_loop_run () from
    /usr/lib/libglib-2.0.so.0
    #7 0x402b768f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #8 0x08241faa in nsVoidKey::Clone() const ()
    #9 0x085fc72f in nsSharedBufferHandle<unsigned short>*
    NS_AllocateContiguousHandleWithData<nsSharedBufferHandle<unsigned
    short>, nsAString>(nsSharedBufferHandle<unsigned short>
    const*, unsigned, nsAString const*) ()
    #10 0x087949a7 in nsPrintSession::~nsPrintSession() ()
    #11 0x08795187 in nsPrintSession::~nsPrintSession() ()
    #12 0x08076471 in ?? ()
    #13 0x00000001 in ?? ()
    #14 0xbffff544 in ?? ()
    #15 0xbffff4d0 in ?? ()
    #16 0x089a6830 in vtable for nsACString ()
    #17 0x087ae008 in _IO_stdin_used ()
    #18 0x087ae00f in _IO_stdin_used ()
    #19 0x40a60020 in __libc_multiple_libcs () from /lib/libc.so.6
    #20 0x40190000 in ?? ()
    #21 0x40149508 in vtable for nsCString () from
    /opt/firefox/libxpcom.so
    #22 0x089c7620 in ?? ()
    #23 0x00000007 in ?? ()
    #24 0x40000007 in ?? ()
    #25 0x40a60020 in __libc_multiple_libcs () from /lib/libc.so.6
    #26 0x00000020 in ?? ()
    #27 0x40a629a0 in __DTOR_END__ () from /lib/libc.so.6
    #28 0x40a629a0 in __DTOR_END__ () from /lib/libc.so.6
    #29 0x400132e0 in environ () from /lib/ld-linux.so.2
    #30 0xbffff518 in ?? ()
    #31 0x4095290c in __libc_start_main () from /lib/libc.so.6

     
  • Kevin DeKorte

    Kevin DeKorte - 2004-05-05

    Logged In: YES
    user_id=685413

    Joel,

    Can you try current CVS and see if that works. I cannot duplicate
    your problem with that code.

    Kevin

     
  • Joel Martin

    Joel Martin - 2004-05-05

    Logged In: YES
    user_id=9256

    Okay, I'm running cvs now. I haven't replicated that crash
    yet, however,
    I have gotten everything to hang a couple times. I pressed
    Ctrl-C in the debugger and here is the stack (might not be
    very useful):

    low = 2800, med = 2800, high = 2800
    playlist adjustment complete
    shut called
    Trying to kill mplayer process(28561), if it still exists
    kill(15) status = 0
    ^C
    Program received signal SIGINT, Interrupt.
    [Switching to Thread 720941 (LWP 28558)]
    0x4098eda9 in sigsuspend () from /lib/libc.so.6
    (gdb) bt
    #0 0x4098eda9 in sigsuspend () from /lib/libc.so.6
    #1 0x4019af38 in __pthread_wait_for_restart_signal () from
    /lib/libpthread.so.0
    #2 0x401972cb in pthread_cond_wait () from /lib/libpthread.so.0
    #3 0x416ac605 in playPlaylist(void*) () from
    /opt/netscape/plugins/mplayerplug-in.so
    #4 0x40198340 in pthread_start_thread () from
    /lib/libpthread.so.0
    #5 0x401983bf in pthread_start_thread_event () from
    /lib/libpthread.so.0
    (gdb)

     
  • Kevin DeKorte

    Kevin DeKorte - 2004-05-11
    • status: open --> closed-fixed
     

Log in to post a comment.