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.
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
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.
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
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
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
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)