Closed Bug 85542 Opened 23 years ago Closed 22 years ago

M099 N622 Trunk crash loading plugins w/Plugger [@ plugger.so - ns4xPluginStreamListener::OnFileAvailable]

Categories

(Plugins Graveyard :: Plugger, defect)

x86
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: greer, Unassigned)

References

()

Details

(Keywords: crash, qawanted, topcrash)

Crash Data

Attachments

(8 files)

Talkback data for the M091 build is showing a number of crashes related to a 
variety of plugins loaded with Plugger.

     (31467107) Comments: loading an AVI using Plugger 3.2

     (31516416) URL: www.theshadowlands.net
     (31516416) Comments: embedded Midi was loading via plugger 3.3

     (31542982) Comments: Trying to view a real-video feed (it appears to be a
java feed)
     (31599060)        URL: www.mp3.com/electronic

     (31519066) URL: www.userfriendly.org/bts
     (31519066) Comments: just load the page www.userfriendly.org/bts

     (31507903) URL: http://www.bmwfilms.com/site_layout/view_film.asp?FilmID=4
     (31507903) Comments: Trying to view a film at BMWfilms.com

     (31505845) URL: http://members.optushome.com.au/glohrere
     (31505845) Comments: Crashed while attempting to load the page! From what I
see using the opera web browser it's an MS specific site requiring more plugins
than a casual read should ever require. Along with a
.#quakenotice_ie{....crap....} or <layer id="quakenotice_ns"
     (31505845) Comments:  width=300 height=55 bgcolor=lightyellow
visibility=hide></layer>embedded nonsense in the *crash* url.Keep smiling ....

Here's the stack:

         plugger.so + 0x3e3f (0x40ffce3f)
         plugger.so + 0x464f (0x40ffd64f)
         ns4xPluginStreamListener::OnFileAvailable()
         nsPluginStreamListenerPeer::OnFileAvailable()
         nsPluginStreamListenerPeer::OnStopRequest()
         PluginListener::OnStopRequest()
         nsDocumentOpenInfo::OnStopRequest()
         nsStreamListenerTee::OnStopRequest()
         nsHttpChannel::OnStopRequest()
         nsOnStopRequestEvent::HandleEvent()
         nsARequestObserverEvent::HandlePLEvent()
         PL_HandleEvent()
         PL_ProcessEventsBeforeID()
         processQueue()
         nsVoidArray::EnumerateForwards()
         nsAppShell::ProcessBeforeID()
         handle_gdk_event()
         libgdk-1.2.so.0 + 0x15b80 (0x402d7b80)
         libglib-1.2.so.0 + 0x10736 (0x40303736)
         libglib-1.2.so.0 + 0x10d43 (0x40303d43)
         libglib-1.2.so.0 + 0x10eec (0x40303eec)
         libgtk-1.2.so.0 + 0x785d9 (0x402585d9)
         nsAppShell::Run()
         nsAppShellService::Run()
         main1()
         main()
         libc.so.6 + 0x18cae (0x40430cae)
Adding crash, topcrash, qawanted keywords
Keywords: crash, qawanted, topcrash
Severity: normal → critical
Confirmed crash using plugger 3.2 & plugger 3.3 on:
www.theshadowlands.net
http://members.optushome.com.au/glohrere
	seems to cause the browser to exit completely with Xlib server errors

Can't reproduce the crash at:

www.mp3.com/electronic  (can't get the video feed at all)
www.userfriendly.org/bts (get errors about xanim not finding the file)

http://www.bmwfilms.com/site_layout/view_film.asp?FilmID=4 
	real stream works fine. 
	quicktime pops up dialog asking for plugin asking for (video/QuickTime)


At least in the userfriendly & theshadowlands cases, I'm noticing that the file
attempting to be streamed is empty.  If I have disk cache enabled, the cache
file is a zero-byte file.  If I don't then (with userfriendly), the file
attempting to be streamed is "".


See also the midi plugger problems in bug 74080 and it's dups.
plugger.so & ns4xPluginStreamListener::OnFileAvailable() not showing up on 
either the trunk or M091 topcrash reports for today.
I've built debugged plugger3.3 (thanks to the author hubbe@hubbe.net the sources
is here http://fredrik.hubbe.net/plugger.html) and spent some time to debug
it.It looks like gtk based mozilla does not like exit() system call in any
plugger's child processes, maybe because it does flush out all open streams,
just guessing... But calling _exit() instead of exit() seems does help mozilla
stay alive.
Plugger.c patch as well as linux libc-2.1.92 binary plugger3.3.so file is
following. Also sent an email to author asking about patch proposal.
*** Bug 88671 has been marked as a duplicate of this bug. ***
redhat plugger-3.3-3 work with Mozilla.
I've created a new patch to plugger (while working on bug 74080).
The problem is that exit() calls all the atexit()/on_exit() handlers
that Mozilla has registered; _exit() doesn't call them.  My patch,
rather than replacing exit() with _exit(), adds a new exit handler that
calls _exit().  Since the handlers are called in the reverse order that
they are added in, none of the older handlers get called after this one,
so exit() can safely get called.

Note that there are a few debugging statements added in addition to the
core of the fix.
I agree, that should work too.
*** Bug 89881 has been marked as a duplicate of this bug. ***
*** Bug 90599 has been marked as a duplicate of this bug. ***
any chance to get the patch into the next milestone?
*** Bug 93739 has been marked as a duplicate of this bug. ***
Is my understanding correct that this is a plugger bug and we should resolve it
as INVALID?
actually, this bug is about  crash  if  plugin's child process call exit(),
plugger is just good test case
OK, all patches here are for the plugger code. Can we get a fix in Mozilla then?
*** Bug 98525 has been marked as a duplicate of this bug. ***
*** Bug 92739 has been marked as a duplicate of this bug. ***
There are currently no Talkback incidents under the 
ns4xPluginStreamListener::OnFileAvailable signature on N620, M094 or Trunk. Was 
anything ever checked in for this bug? Is it WFM?
-->serge
Assignee: av → serge
Updating summary with M094, since plugger.so has been a topcrasher for Mozilla
0.9.4.
Summary: M091 crash loading plugins w/Plugger [@ plugger.so] [@ ns4xPluginStreamListener::OnFileAvailable()] → M094 crash loading plugins w/Plugger [@ plugger.so] [@ ns4xPluginStreamListener::OnFileAvailable]
The error that I got in the shell window seems to indicate that it may be a
problem because plugger doesn't have any type of image present to represent its
plugin.  The embed tag seems to assume that there is going to be a graphic, and
this error almost indicates that a nonexistant image results in a null pixmap
object, and when trying to call a pixmap function, a Gdk error is caused since
it probably can't handle a null pixmap.  Something to try would be to add an
image to plugger or change mozilla so that it doesn't try to display an image if
one is not given.

Gdk-ERROR **: BadPixmap (invalid Pixmap parameter)
  serial 6652 error_code 4 request_code 56 minor_code 0
Gdk-ERROR **: BadDrawable (invalid Pixmap or Window parameter)
  serial 6653 error_code 9 request_code 62 minor_code 0

Updating the summary to M095 N620 Trunk, since all are showing incidents with 
the plugger.so signature. Attaching today's comments below.
Summary: M094 crash loading plugins w/Plugger [@ plugger.so] [@ ns4xPluginStreamListener::OnFileAvailable] → M095 N620 Trunk crash loading plugins w/Plugger [@ plugger.so] [@ ns4xPluginStreamListener::OnFileAvailable]
*** Bug 108299 has been marked as a duplicate of this bug. ***
-> mozilla 1.0.1 
this is plugger's bug,
but probably it's possible to implement something like on_exit() handler in 
mozilla to catch exit() call from plugins,
for now this bug has two patches for plugger.c (attachment 57833 [details] & attachment 
40402 [details] [diff] [review]) along with workable linux libc-2.1.92 binary plugger3.3.so
(attachment 40403 [details]) I've posted some times ago.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.0.1
Updating summary with M096, this has been a topcrasher with Mozilla 0.9.6 as well:

plugger.so   30
		 85542 	 ASSI 	  	 serge@netscape.com mozilla1.0.1 	 2001-11-29 
BBID range: 17330 - 361720
Min/Max Seconds since last crash: 12 - 1076855
Min/Max Runtime: 6672 - 1115391
Crash data range: 2001-12-03 to 2001-12-11
Build ID range: 2001112012 to 2001112012
Keyword List : 
Stack Trace: 

	 plugger.so + 0x3e3f (0x426c0e3f)
	 plugger.so + 0x464f (0x426c164f)
	 ns4xPluginStreamListener::OnFileAvailable()
	 nsPluginStreamListenerPeer::OnFileAvailable()
	 nsPluginStreamListenerPeer::OnStopRequest()
	 PluginListener::OnStopRequest()
	 nsDocumentOpenInfo::OnStopRequest()
	 nsHttpChannel::OnStopRequest()
	 nsOnStopRequestEvent::HandleEvent()
	 nsARequestObserverEvent::HandlePLEvent()
	 PL_HandleEvent()
	 PL_ProcessEventsBeforeID()
	 processQueue()
	 nsVoidArray::EnumerateForwards()
	 nsAppShell::ProcessBeforeID()
	 handle_gdk_event()     (361720)	URL: windows media mpg on of ufo at wtc bombing
www2.justnet.ne.jp/~kiti/Ufo/wtc/wtc.htm
     (361720)	Comments: boom! i think it is plugger
     (348463)	Comments: i did view image on a png and it died
     (17330)	Comments: testing plugger plugin

Summary: M095 N620 Trunk crash loading plugins w/Plugger [@ plugger.so] [@ ns4xPluginStreamListener::OnFileAvailable] → M096 N620 Trunk crash loading plugins w/Plugger [@ plugger.so] [@ ns4xPluginStreamListener::OnFileAvailable]
updating summary with M097, since this continues to be a topcrasher with Mozilla
0.9.7:

Rank    StackSignature    Count  

8   plugger.so   52
		 85542 	 ASSI 	  	 serge@netscape.com 	 mozilla1.0.1 	 Mon 19:23 
 
====================================================================================================
     Count   Offset    Real Signature
[ 2   plugger.so + 0x422f (0x412fb22f) ef8ab85e -
ns4xPluginStreamListener::OnFileAvailable() ]
[ 1   plugger.so + 0x422f (0x41a9522f) d7a6eab4 -
ns4xPluginStreamListener::OnFileAvailable() ]
[ 1   plugger.so + 0x422f (0x41a0022f) 59894ae2 -
ns4xPluginStreamListener::OnFileAvailable() ]
[ 1   plugger.so + 0x422f (0x4174422f) bb8fac6c -
ns4xPluginStreamListener::OnFileAvailable() ]
[ 1   plugger.so + 0x422f (0x416c722f) 2f1d9a3f -
ns4xPluginStreamListener::OnFileAvailable() ]
[ 1   plugger.so + 0x422f (0x4168b22f) fd1ae016 -
ns4xPluginStreamListener::OnFileAvailable() ]
 
     Crash date range: 2002-01-10 to 2002-01-16
     Min/Max Seconds since last crash: 25 - 59326
     Min/Max Runtime: 14014 - 478703
     Keyword List :  
     Count   Platform List 
     6   Linux 2.4.8-26mdk   
     1   Linux 2.4.3-20mdk   
 
     Count   Build Id List 
     7   2001122108
 
     No of Unique Users         4
 
 Stack trace(Frame) 

	 plugger.so + 0x422f (0x412fb22f)  
	 plugger.so + 0x4c5f (0x412fbc5f)  
	 ns4xPluginStreamListener::OnFileAvailable()  
	 nsPluginStreamListenerPeer::OnFileAvailable()  
	 nsPluginStreamListenerPeer::OnStopRequest()  
	 PluginListener::OnStopRequest()  
	 nsDocumentOpenInfo::OnStopRequest()  
	 nsHttpChannel::OnStopRequest()  
	 nsOnStopRequestEvent::HandleEvent()  
	 nsARequestObserverEvent::HandlePLEvent()  
	 PL_HandleEvent()  
	 PL_ProcessPendingEvents()  
	 nsEventQueueImpl::ProcessPendingEvents()  
	 event_processor_callback()  
	 our_gdk_io_invoke()   
 
 
====================================================================================================
     Count   Offset    Real Signature
[ 1   plugger.so + 0x422f (0x4184122f) 6dc4c40f -
ns4xPluginStreamListener::OnFileAvailable() ]
[ 1   plugger.so + 0x422f (0x4170922f) be6c2989 -
ns4xPluginStreamListener::OnFileAvailable() ]
[ 1   plugger.so + 0x422f (0x416da22f) ef021aab -
ns4xPluginStreamListener::OnFileAvailable() ]
 
     Crash date range: 2002-01-14 to 2002-01-16
     Min/Max Seconds since last crash: 13232 - 88924
     Min/Max Runtime: 263891 - 366219
     Keyword List :  
     Count   Platform List 
     3   Linux 2.4.8-26mdk   
 
     Count   Build Id List 
     3   2001122108
 
     No of Unique Users         1
 
 Stack trace(Frame) 

	 plugger.so + 0x422f (0x4184122f)  
	 plugger.so + 0x4c5f (0x41841c5f)  
	 ns4xPluginStreamListener::OnFileAvailable()  
	 nsPluginStreamListenerPeer::OnFileAvailable()  
	 nsPluginStreamListenerPeer::OnStopRequest()  
	 PluginListener::OnStopRequest()  
	 nsDocumentOpenInfo::OnStopRequest()  
	 nsFTPChannel::OnStopRequest()  
	 DataRequestForwarder::OnStopRequest()  
	 nsOnStopRequestEvent::HandleEvent()  
	 nsARequestObserverEvent::HandlePLEvent()  
	 PL_HandleEvent()  
	 PL_ProcessPendingEvents()  
	 nsEventQueueImpl::ProcessPendingEvents()  
	 event_processor_callback()  
	 our_gdk_io_invoke()   
 
 
====================================================================================================
     Count   Offset    Real Signature
[ 1   plugger.so + 0x422f (0x417fa22f) 68cc673a -
ns4xPluginStreamListener::OnFileAvailable() ]
 
     Crash date range: 2002-01-14 to 2002-01-14
     Min/Max Seconds since last crash: 73710 - 73710
     Min/Max Runtime: 73710 - 73710
     Keyword List :  
     Count   Platform List 
     1   Linux 2.4.8-26mdk   
 
     Count   Build Id List 
     1   2001122108
 
     No of Unique Users         1
 
 Stack trace(Frame) 

	 plugger.so + 0x422f (0x417fa22f)  
	 plugger.so + 0x4c5f (0x417fac5f)  
	 ns4xPluginStreamListener::OnFileAvailable()  
	 nsPluginStreamListenerPeer::OnFileAvailable()  
	 nsPluginStreamListenerPeer::OnStopRequest()  
	 nsHttpChannel::OnStopRequest()  
	 nsOnStopRequestEvent::HandleEvent()  
	 nsARequestObserverEvent::HandlePLEvent()  
	 PL_HandleEvent()  
	 PL_ProcessPendingEvents()  
	 nsEventQueueImpl::ProcessPendingEvents()  
	 event_processor_callback()  
	 our_gdk_io_invoke()   


If we have patches for this, why is the target milestone set to after Mozilla
1.0?  Is it too risky?  This has been a consitant topcrasher, so it would be
nice to see this fixed sooner.
Summary: M096 N620 Trunk crash loading plugins w/Plugger [@ plugger.so] [@ ns4xPluginStreamListener::OnFileAvailable] → M097 N621 Trunk crash loading plugins w/Plugger [@ plugger.so - ns4xPluginStreamListener::OnFileAvailable]
the patches are not for mozilla code,  its is for plugger.
*** Bug 121319 has been marked as a duplicate of this bug. ***
*** Bug 117725 has been marked as a duplicate of this bug. ***
*** Bug 123879 has been marked as a duplicate of this bug. ***
Adjusting summary, still in M098.
Summary: M097 N621 Trunk crash loading plugins w/Plugger [@ plugger.so - ns4xPluginStreamListener::OnFileAvailable] → M098 N621 Trunk crash loading plugins w/Plugger [@ plugger.so - ns4xPluginStreamListener::OnFileAvailable]
*** Bug 126105 has been marked as a duplicate of this bug. ***
*** Bug 123928 has been marked as a duplicate of this bug. ***
nominating topcrash bugs for nsbeta1. 
Keywords: nsbeta1
The crash in  ns4xPluginStreamListener::OnFileAvailable is fixed by check in for 
bug 123974,
at least, I'm unable to reproduce that crash using plugger-4.0
and I have not seen any TB reports with such signature since fix for 123974 was 
checked in.
However plugger-3.x can still expose this crash. 
Talkback folks: I've minused this bug because we can't find talk back data for
it.  If you still think this is a topcrash, please justify it for us!
Keywords: nsbeta1nsbeta1-
Target Milestone: mozilla1.0.1 → mozilla1.1
Well, there appears to be plenty of talkback data for this crash.  It was a
topcrash with Mozilla 0.9.8 and I see quite a few crashes with Linux
MozillaBranch build 20020207000 (what build that is i don't know).

And it doesn't look like this was fixed with the checkin for bug 123974...i see
a few crashes on the MozillaTrunk after the checkin date.  Here is the most
recent crash:

 Incident ID 3398750   Stack Signature  plugger.so + 0x422f (0x41d0422f) f8eae59a
Trigger Time 2002-02-26 14:38:10
Email Address sammy@jaton.nl
URL visited
Build ID 2002022508
Product ID MozillaTrunk
Platform
Operating System LinuxIntel
Module
Trigger Reason SIGSEGV: Segmentation Fault: (signal 11)
User Comments
Stack Trace
plugger.so + 0x422f (0x41d0422f)
plugger.so + 0x4c5f (0x41d04c5f)
ns4xPluginStreamListener::OnFileAvailable()
nsPluginStreamListenerPeer::OnFileAvailable()
nsPluginStreamListenerPeer::OnStopRequest()
PluginListener::OnStopRequest()
nsDocumentOpenInfo::OnStopRequest()
nsHttpChannel::OnStopRequest()
nsOnStopRequestEvent::HandleEvent()
nsARequestObserverEvent::HandlePLEvent()
PL_HandleEvent()
PL_ProcessPendingEvents()
nsEventQueueImpl::ProcessPendingEvents()
event_processor_callback()
our_gdk_io_invoke()
libglib-1.2.so.0 + 0x1001e (0x4039701e)
libglib-1.2.so.0 + 0x117f3 (0x403987f3)
libglib-1.2.so.0 + 0x11dd9 (0x40398dd9)
libglib-1.2.so.0 + 0x11f8c (0x40398f8c)
libgtk-1.2.so.0 + 0x94803 (0x402ad803)
nsAppShell::Run()
nsAppShellService::Run()
main1()
main()
libc.so.6 + 0x1c507 (0x404e2507) 

And for internal folks...to see all the Talkback data...go to:
http://climate/reports/searchstacksignature.cfm?stacksig=plugger.so

to see all the crashes of this kind.
At least one of the crashing users states explicitly that he was using plugger
3.2 (3254868).  -> see Serge's comment #44

Since we can't prevent the 3.x crashes, keeping the minus seems best for now so
we can focus on higher priorities.

Serge, how much more that can be done for this bug? 
I've tried several urls with plugger-4.0 all work fine 
bug 121319 http://bart.w-wa.pl/mozilla-crash.html
bug 117725 http://www.apple.com/itunes/theater/radio.html
bug 123928 http://www.ece.cmu.edu/research/movies/spin.shtml
 
However this url works with plugger-4.0 but crashes with plugger-3.3 
http://members.optushome.com.au/glohrere 
with stack trace similar to TB reports 3398750, 3398737, 3377299
Program received signal SIGPIPE, Broken pipe.
#0  0x406b8584 in __libc_write () from /lib/i686/libc.so.6
#1  0x403215f8 in __DTOR_END__ () at eval.c:41
#2  0x42ad185e in NPP_Write (instance=0x898e424, stream=0x8986a60, offset=6535,
len=3336, buf=0x8a033f0) at 
plugger.c:1124
#3  0x42ad24c5 in Private_Write () from /u/serge/prj/plugins/plugger-3.3/plugger.so
#4  0x41ee72d0 in ns4xPluginStreamListener::OnDataAvailable (this=0x8986a48,
pluginInfo=0x898d3f0, input=0x89cc6f0, 
length=3336) at ns4xPluginInstance.cpp:390
#5  0x41eee878 in nsPluginStreamListenerPeer::OnDataAvailable (this=0x898d398,
request=0x898d480, aContext=0x0, 
aIStream=0x89cc6f0, sourceOffset=6535, aLength=3336) at nsPluginHostImpl.cpp:2198
#6  0x4099367b in nsStreamListenerTee::OnDataAvailable (this=0x89cc6d0,
request=0x898d480, context=0x0, input=0x898da50, 
offset=6535, count=3336) at nsStreamListenerTee.cpp:56
#7  0x409d5496 in nsHttpChannel::OnDataAvailable (this=0x898d480,
request=0x89899dc, ctxt=0x0, input=0x898da50, 
offset=6535, count=3336) at nsHttpChannel.cpp:2543
#8  0x409923a7 in nsOnDataAvailableEvent::HandleEvent (this=0x42b017b8) at
nsStreamListenerProxy.cpp:193
*** Bug 130567 has been marked as a duplicate of this bug. ***
Is this a topcrash on Windows or Mac?

I don't understand "plugger 3.3 vs plugger 4.0", but can users upgrade this the
plugger 4.0 easily?
this is unix only bug.
>can users upgrade this the plugger 4.0 easily?
yes, from the author's page http://fredrik.hubbe.net/plugger.html
We should remove qawanted since this is reproducible with plugger 3.3.  
Keywords: qawanted
Updating summary with M099 and N622...there are still crashes being reported for
Mozilla 0.9.9 and Netscape 6.22.  

And it looks like we are still crashing with Plugger 4:
 Incident ID 4549849   
Stack Signature  plugger.so + 0x422f (0x4117b22f) c0e71c09
Trigger Time 2002-03-27 21:13:18
Email Address
URL visited http://www.apple.com/trailers
Build ID 2002031423
Product ID Netscape6.22
Platform
Operating System LinuxIntel
Module
Trigger Reason SIGSEGV: Segmentation Fault: (signal 11)
User Comments trying to get plugger 4.0 to work for a quicktime page
Stack Trace
plugger.so + 0x422f (0x4117b22f)
plugger.so + 0x4c5f (0x4117bc5f)
ns4xPluginStreamListener::OnFileAvailable()
nsPluginStreamListenerPeer::OnFileAvailable()
nsPluginStreamListenerPeer::OnStopRequest()
nsHttpChannel::OnStopRequest()
nsOnStopRequestEvent::HandleEvent()
nsARequestObserverEvent::HandlePLEvent()
PL_HandleEvent()
PL_ProcessPendingEvents()
nsEventQueueImpl::ProcessPendingEvents()
event_processor_callback()
our_gdk_io_invoke() 

Is this something we can check for and prevent in our code or is it a problem
with pugger itself?  Adding qawanted keyword again...although we know of people
crashing...we still don't have a solid reproducible testcase.
Keywords: qawanted
Summary: M098 N621 Trunk crash loading plugins w/Plugger [@ plugger.so - ns4xPluginStreamListener::OnFileAvailable] → M099 N622 Trunk crash loading plugins w/Plugger [@ plugger.so - ns4xPluginStreamListener::OnFileAvailable]
*** Bug 142573 has been marked as a duplicate of this bug. ***
This stack signature is not showing up in talkback at all now.  The last report
submitted had a submission date of 2002-04-27. Marking WFM.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → WORKSFORME
could bug 155924 be a valid testcase ?
Component: Plug-ins → Other
Product: Core → Plugins
QA Contact: shrir → other
Target Milestone: mozilla1.1alpha → ---
Version: Trunk → unspecified
Assignee: srgchrpv → nobody
Component: Other → Plugger
QA Contact: other → plugger
Crash Signature: [@ plugger.so - ns4xPluginStreamListener::OnFileAvailable]
Product: Plugins → Plugins Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: