Closed
Bug 125156
Opened 23 years ago
Closed 15 years ago
Segment violation in ProxyRelease when viewing Flash
Categories
(Core :: Networking, defect, P3)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: beos, Assigned: bugs)
References
Details
(Keywords: crash, helpwanted, qawanted)
When viewing a page with Flash under BeOS, the plugin loads, and the Flash
starts to display, then mozilla crashes with a segment violation. In the
destructor for nsRequestObserverProxy,
ProxyRelease is called with a null mEventQ.
segment violation occurred
ProxyRelease(nsIEventQueue *, nsIRequestObserver *):
ProxyRelease__FP13nsIEventQueueP18nsIRequestObserver:
+0075 ece1edf1: * 308b movl (%eax), %esi
Timer thread:sc
frame retaddr
fd381678 ece1f0a4 nsRequestObserverProxy::~nsRequestObserverProxy(void) +
00000088
fd38169c ece1f21d nsRequestObserverProxy::Release(void) + 000000a9
fd3816c0 ece33305 nsStreamListenerProxy::~nsStreamListenerProxy(void) + 00000069
fd3816dc ece339ad nsStreamListenerProxy::Release(void) + 000000a9
fd381700 eceacaa4 .LSM1493 + 00000034
fd381720 eceac685 .LSM1421 + 0000001d
fd381768 ece722e7 nsHttpChannel::SetupTransaction(void) + 00000097
fd3817cc ece71a46 nsHttpChannel::Connect(int) + 000001a2
fd3817e8 ece798ee nsHttpChannel::AsyncOpen(nsIStreamListener *, nsISupports
*) + 0000027e
fd381834 ee89fef3 nsPluginHostImpl::NewPluginURLStream(nsString const &,
nsIPluginInstance *, nsIPluginStreamListener *, char const *, int, unsigned int,
char const *, unsigned int) + 00000d97
fd381a18 ee895de0 nsPluginHostImpl::GetURLWithHeaders(nsISupports *, char
const *, char const *, nsIPluginStreamListener *, char const *, char const *,
int, unsigned int, char const *) + 00000338
fd381b28 ee895a93 nsPluginHostImpl::GetURL(nsISupports *, char const *, char
const *, nsIPluginStreamListener *, char const *, char const *, int) + 0000004f
fd381b68 ee888a41 _geturl + 000001cd
fd381bc0 ea3c5fa0 NPN_GetURL + 00000024
fd381bd8 ea3c4827 NativePlayerWnd::StreamGetURLNotify(char const *, char
const *, void *) + 000003ff
fd381e28 ea3f44e2 SPlayer::NetscapeDoURL(char *, char *, char *, LoadInfo *)
+ 00000312
fd381e68 ea3f47b8 SPlayer::LoadLayer(char *, int, char *, char *, int) + 0000029c
fd381e98 ea3f4887 SPlayer::GetURL(char *, char *, char *, int) + 000000b7
fd381ec4 ea3f1d98 SPlayer::DoActions(void) + 00002468
fd382250 ea3f1fa6 SPlayer::DoPlay(int) + 0000014e
fd382288 ea3c4e34 playtimer_thread(void *) + 00000074
fd3822a0 ec0851ed thread_start + 00000039
Timer thread:regs
eax 00000000 ebp fd381678 cs 001b
edx 8075bb48 esi 8059d178 ss 0023
ecx 00000000 edi ecf64bb0 ds 0023
ebx ed0316c0 esp fd381664 es 0023
fs 627b
eflags 00010282 eip ece1edf1
trap_no 0000000e error_code 00000004
Timer thread:ps
PID DEBUG NAME STATUS
4be9 mozilla-bin semaphore
4bec BApplication semaphore
4c05 moz-thread semaphore
4c06 moz-thread semaphore
4c07 moz-thread semaphore
4c26 w>Star Wars Galaxies - Official semaphore
4c2a moz-thread semaphore
4c2f w> semaphore
4c30 w> semaphore
4c40 curr Timer thread semaphore
4c41 Cursor thread semaphore
4c43 team 4682 debugtask semaphore
I just tried loading a local flash file, without a problem. This at least tells
me that the plugin code is still working, and this is definitely a network bug.
My internet connection is a little flaky right now (damn comcast), but when it
gets back to normal, I'll try debugging this some more. I will also try the
RealPlayer plugin, if I can find a sight with an old RealPlayer format file for
viewing.
Comment 4•23 years ago
|
||
How do you setup plugins on BeOS? The BeOS flash package I downloaded from
bebits has a 'plugin server' but that appears to only be used by netpositive.
I'm not at my BeBox at the moment, but you should be able to make a symlink to
the executable from the plugins dir, possilby naming the link to
"flashplugin.so" (in case the plugin loader is only looking for .so files, like
under *nix. If the symlink does not work, you need to either copy the file,
using tracker, or the copyattr command. The BeOS plugin loader requirest that
the attributes for the file be in tact, and if you use the plain cp command from
the cmd line, attributes are not copied with it. If you still have problems,
send me an email, and I'll look at my system when I get home from work.
I just received word that this works with the latest nightly builds, now.
So, I downloaded the nightly build, and sure enough, I was able to view
flash!
Marking Works for Me!
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → WORKSFORME
Well, this is still happenning. Not all flash animations crash though.
http://www.joecartoon.com works, but, the Flash animation at
http://www.danger.com produced the following debug information and stack crawl:
Document http://www.danger.com/hiptop_demo/flash.html loaded successfully
For application/x-shockwave-flash found plugin /boot/apps/Macromedia Flash
Player for BeOS/Flash Player
LoadPlugin() /boot/apps/Macromedia Flash Player for BeOS/Flash Player returned
807259f0
WARNING: empty damage rect: update caller to avoid fcn call overhead, file
nsFrame.cpp, line 2287
Document http://www.danger.com/hiptop_demo/load_movies.html loaded successfully
For application/x-shockwave-flash found plugin /boot/apps/Macromedia Flash
Player for BeOS/Flash Player
LoadPlugin() /boot/apps/Macromedia Flash Player for BeOS/Flash Player returned
80726390
WARNING: empty damage rect: update caller to avoid fcn call overhead, file
nsFrame.cpp, line 2287
---------------------------------------------------------------
!!!!! XPConnect wrapper thread use error...
XPConnect WrappedNative is being accessed on multiple threads but the
underlying native xpcom object does not have a nsIClassInfo with the
'THREADSAFE' flag set
wrapper: [xpconnect wrapped nsIWebProgress @ 0x805f4d58]
JS call stack...
JavaScript stack is empty
---------------------------------------------------------------
---------------------------------------------------------------
!!!!! XPConnect wrapper thread use error...
XPConnect WrappedNative is being accessed on multiple threads but the
underlying native xpcom object does not have a nsIClassInfo with the
'THREADSAFE' flag set
wrapper: [object nsXPCComponents @ 0x8072b4a0]
JS call stack...
0 [native frame]
1 anonymous(aWebProgress = [xpconnect wrapped nsIWebProgress @ 0x805f4d58],
aRequest = [xpconnect wrapped nsIRequest @ 0x805eb008], aStateFlags = 65537,
aStatus = 0) ["chrome://navigator/content/nsBrowserStatusHandler.js":216]
nsIWebProgressListener = undefined
nsIChannel = undefined
ctype = undefined
location = undefined
msg = undefined
kErrorBindingAborted = undefined
kErrorNetTimeout = undefined
elapsed = undefined
this = [object Object]
this.jsDefaultStatus = ""
this.jsStatus = ""
this.hideAboutBlank = false
this.overLink = ""
this.statusTimeoutInEffect = true
this.status = "Sending request to www.danger.com..."
this.finishedRequests = 4
this.totalRequests = 6
this.useRealProgressFlag = false
this.startTime = 1025234839252
this.securityButton = [object XULElement @ 0x808d1fd8]
this.isImage = [object XULElement @ 0x808e53c8]
this.statusTextField = [object XULElement @ 0x808cf588]
this.stopContext = [object XULElement @ 0x808e4f38]
this.stopMenu = [object XULElement @ 0x808c8118]
this.stopButton = [object XULElement @ 0x8079b1f8]
this.statusMeter = [object XULElement @ 0x808d0110]
this.throbberElement = [object XULElement @ 0x808bbf78]
this.urlBar = [object XULElement @ 0x8079e310]
this.defaultStatus = "Document: Done (0.528 secs)"
2 [native frame]
---------------------------------------------------------------
---------------------------------------------------------------
!!!!! XPConnect wrapper thread use error...
XPConnect WrappedNative is being accessed on multiple threads but the
underlying native xpcom object does not have a nsIClassInfo with the
'THREADSAFE' flag set
wrapper: [object nsXPCComponents_Interfaces @ 0x8075d798]
JS call stack...
0 [native frame]
1 anonymous(aWebProgress = [xpconnect wrapped nsIWebProgress @ 0x805f4d58],
aRequest = [xpconnect wrapped nsIRequest @ 0x805eb008], aStateFlags = 65537,
aStatus = 0) ["chrome://navigator/content/nsBrowserStatusHandler.js":216]
nsIWebProgressListener = undefined
nsIChannel = undefined
ctype = undefined
location = undefined
msg = undefined
kErrorBindingAborted = undefined
kErrorNetTimeout = undefined
elapsed = undefined
this = [object Object]
this.jsDefaultStatus = ""
this.jsStatus = ""
this.hideAboutBlank = false
this.overLink = ""
this.statusTimeoutInEffect = true
this.status = "Sending request to www.danger.com..."
this.finishedRequests = 4
this.totalRequests = 6
this.useRealProgressFlag = false
this.startTime = 1025234839252
this.securityButton = [object XULElement @ 0x808d1fd8]
this.isImage = [object XULElement @ 0x808e53c8]
this.statusTextField = [object XULElement @ 0x808cf588]
this.stopContext = [object XULElement @ 0x808e4f38]
this.stopMenu = [object XULElement @ 0x808c8118]
this.stopButton = [object XULElement @ 0x8079b1f8]
this.statusMeter = [object XULElement @ 0x808d0110]
this.throbberElement = [object XULElement @ 0x808bbf78]
this.urlBar = [object XULElement @ 0x8079e310]
this.defaultStatus = "Document: Done (0.528 secs)"
2 [native frame]
---------------------------------------------------------------
---------------------------------------------------------------
!!!!! XPConnect wrapper thread use error...
XPConnect WrappedNative is being accessed on multiple threads but the
underlying native xpcom object does not have a nsIClassInfo with the
'THREADSAFE' flag set
wrapper: [object nsXPCComponents @ 0x8072b4a0]
JS call stack...
0 [native frame]
1 anonymous(aWebProgress = [xpconnect wrapped nsIWebProgress @ 0x805f4d58],
aRequest = [xpconnect wrapped nsIRequest @ 0x805eb008], aStateFlags = 65537,
aStatus = 0) ["chrome://navigator/content/nsBrowserStatusHandler.js":217]
nsIWebProgressListener = nsIWebProgressListener
nsIChannel = undefined
ctype = undefined
location = undefined
msg = undefined
kErrorBindingAborted = undefined
kErrorNetTimeout = undefined
elapsed = undefined
this = [object Object]
this.jsDefaultStatus = ""
this.jsStatus = ""
this.hideAboutBlank = false
this.overLink = ""
this.statusTimeoutInEffect = true
this.status = "Sending request to www.danger.com..."
this.finishedRequests = 4
this.totalRequests = 6
this.useRealProgressFlag = false
this.startTime = 1025234839252
this.securityButton = [object XULElement @ 0x808d1fd8]
this.isImage = [object XULElement @ 0x808e53c8]
this.statusTextField = [object XULElement @ 0x808cf588]
this.stopContext = [object XULElement @ 0x808e4f38]
this.stopMenu = [object XULElement @ 0x808c8118]
this.stopButton = [object XULElement @ 0x8079b1f8]
this.statusMeter = [object XULElement @ 0x808d0110]
this.throbberElement = [object XULElement @ 0x808bbf78]
this.urlBar = [object XULElement @ 0x8079e310]
this.defaultStatus = "Document: Done (0.528 secs)"
2 [native frame]
---------------------------------------------------------------
---------------------------------------------------------------
!!!!! XPConnect wrapper thread use error...
XPConnect WrappedNative is being accessed on multiple threads but the
underlying native xpcom object does not have a nsIClassInfo with the
'THREADSAFE' flag set
wrapper: [object nsXPCComponents_Interfaces @ 0x8075d798]
JS call stack...
0 [native frame]
1 anonymous(aWebProgress = [xpconnect wrapped nsIWebProgress @ 0x805f4d58],
aRequest = [xpconnect wrapped nsIRequest @ 0x805eb008], aStateFlags = 65537,
aStatus = 0) ["chrome://navigator/content/nsBrowserStatusHandler.js":217]
nsIWebProgressListener = nsIWebProgressListener
nsIChannel = undefined
ctype = undefined
location = undefined
msg = undefined
kErrorBindingAborted = undefined
kErrorNetTimeout = undefined
elapsed = undefined
this = [object Object]
this.jsDefaultStatus = ""
this.jsStatus = ""
this.hideAboutBlank = false
this.overLink = ""
this.statusTimeoutInEffect = true
this.status = "Sending request to www.danger.com..."
this.finishedRequests = 4
this.totalRequests = 6
this.useRealProgressFlag = false
this.startTime = 1025234839252
this.securityButton = [object XULElement @ 0x808d1fd8]
this.isImage = [object XULElement @ 0x808e53c8]
this.statusTextField = [object XULElement @ 0x808cf588]
this.stopContext = [object XULElement @ 0x808e4f38]
this.stopMenu = [object XULElement @ 0x808c8118]
this.stopButton = [object XULElement @ 0x8079b1f8]
this.statusMeter = [object XULElement @ 0x808d0110]
this.throbberElement = [object XULElement @ 0x808bbf78]
this.urlBar = [object XULElement @ 0x8079e310]
this.defaultStatus = "Document: Done (0.528 secs)"
2 [native frame]
---------------------------------------------------------------
Stack Crawl:
loading symbols
segment violation occurred
ProxyRelease(nsIEventQueue *, nsIRequestObserver *):
ProxyRelease__FP13nsIEventQueueP18nsIRequestObserver:
+0075 ed10ab61: * 308b movl (%eax), %esi
Timer thread:sc
frame retaddr
fd3014f4 ed10ae14 nsRequestObserverProxy::~nsRequestObserverProxy(void) +
00000088
fd301518 ed10af8d nsRequestObserverProxy::Release(void) + 000000a9
fd30153c ed122d05 nsStreamListenerProxy::~nsStreamListenerProxy(void) + 00000069
fd301558 ed1233ad nsStreamListenerProxy::Release(void) + 000000a9
fd30157c ed1a1b64 .LSM1586 + 00000034
fd30159c ed1a1745 .LSM1514 + 0000001d
fd3015e4 ed164618 nsHttpChannel::SetupTransaction(void) + 00000098
fd301764 ed163d76 nsHttpChannel::Connect(int) + 0000019a
fd301780 ed16da8c nsHttpChannel::AsyncOpen(nsIStreamListener *, nsISupports
*) + 000002e8
fd3017cc ee8bafe5 nsPluginHostImpl::NewPluginURLStream(nsString const &,
nsIPluginInstance *, nsIPluginStreamListener *, char const *, int, unsigned int,
char const *, unsigned int) + 00000f19
fd3019d4 ee8afff0 nsPluginHostImpl::GetURLWithHeaders(nsISupports *, char
const *, char const *, nsIPluginStreamListener *, char const *, char const *,
int, unsigned int, char const *) + 00000338
fd301ae4 ee8afca3 nsPluginHostImpl::GetURL(nsISupports *, char const *, char
const *, nsIPluginStreamListener *, char const *, char const *, int) + 0000004f
fd301b24 ee8a2a91 MakeNew4xStreamInternal(_NPP *, char const *, char const *,
eNPPStreamTypeInternal, int, void *, unsigned long, char const *, unsigned char)
+ 000001a5
fd301b90 ee8a2bd9 _geturl + 0000002d
fd301bc0 ea513fb0 NPN_GetURL + 00000024
fd301bd8 ea512837 NativePlayerWnd::StreamGetURLNotify(char const *, char
const *, void *) + 000003ff
fd301e28 ea5424f2 SPlayer::NetscapeDoURL(char *, char *, char *, LoadInfo *)
+ 00000312
fd301e68 ea5427c8 SPlayer::LoadLayer(char *, int, char *, char *, int) + 0000029c
fd301e98 ea542897 SPlayer::GetURL(char *, char *, char *, int) + 000000b7
fd301ec4 ea53fda8 SPlayer::DoActions(void) + 00002468
fd302250 ea53ffb6 SPlayer::DoPlay(int) + 0000014e
fd302288 ea512e44 playtimer_thread(void *) + 00000074
fd3022a0 ec0851ed thread_start + 00000039
well, the crash is from a plugin, but is occurring in the network kit. my guess would be
that this is a network issue, as the plugin works in some instances, though, I could be
wrong.
Comment 10•23 years ago
|
||
The same crash results can be obtained from this site.
http://www.homestarrunner.com/sbemail.html
Mozilla 1.1a+
Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.1a+) Gecko/20020622
Reporter | ||
Comment 11•23 years ago
|
||
Note: The flash animations at
http://www.danger.com and http://www.eye4u.com both work in with the same plugin
in the BeOS Opera browser, but crash, as stated above in Mozilla.
Comment 12•23 years ago
|
||
is there anyone in the BeOS community that would want to take this?
Keywords: crash,
helpwanted
Comment 13•23 years ago
|
||
I'm wondering if problem is related to bug
http://bugzilla.mozilla.org/show_bug.cgi?id=154267
Comment 14•23 years ago
|
||
hm, maybe i'm so lame, but i didn't found nsStreamListenerProxy::Release method
using LXR or in my local source tree
Or maybe i missed some chnages in necko?
Comment 15•23 years ago
|
||
Crash happens in netwerk/base/src/nsRequestObserverProxy.cpp
static void ProxyRelease(nsIEventQueue *eventQ, nsIRequestObserver *obs)
after
PL_InitEvent(ev, (void *) obs, ProxyRelease_EventHandlerFunc,
ProxyRelease_EventCleanupFunc);
when attempting to post event with:
PRStatus rv = eventQ->PostEvent(ev);
Maybe wrong thread?
Comment 16•23 years ago
|
||
Ok. Get rid of crashes
with changing mentioned above ProxyRelease function:
ProxyRelease(nsIEventQueue *eventQ, nsIRequestObserver *obs)
{
PLEvent *ev = new PLEvent;
if (!ev) {
NS_ERROR("failed to allocate PLEvent");
return;
}
PL_InitEvent(ev, (void *) obs,
ProxyRelease_EventHandlerFunc,
ProxyRelease_EventCleanupFunc);
+ if ((eventQ != NS_CURRENT_EVENTQ) || (eventQ != NS_UI_THREAD_EVENTQ))
+ return;
PRStatus rv = eventQ->PostEvent(ev);
NS_ASSERTION(rv == PR_SUCCESS, "PostEvent failed");
}
now need help and verification of necko and or xpcom gurus.
So maybe reassignment is needed
Comment 17•23 years ago
|
||
I don't know the code in question well, so take this advice with a grain of
salt. I suspect the fix you propose may be fixing the symptom without fixing
the real problem. It may be that what's necessary is to use
NS_IMPL_THREADSAFE_ISUPPORTS on whatever object XPConnect is complaining about.
But you still need to be sure that the object in question is always called in a
threadsafe manager. Perhaps Darin can provide a bit more insight...
Comment 18•23 years ago
|
||
Little side notice.
I have feeling (need more URLs to test) that crashes apper in case if site tries
to run *.swf in new separate window, opened by JS.
And sure, all windows in BeOS apps belongs to different threads.
Comment 19•23 years ago
|
||
Previous hypothesis was unconfirmed, but it appears that
if(eventQ != NS_UI_THREAD_EVENTQ)
return;
is sufficient to prevent crashes.
Though, i recall that BeOS port uses in some places nsSwitchToUIThread
for safety purposes. Maybe just BeOS plugin handler implementation lacks it.
Comment 20•23 years ago
|
||
also (as arougthopher that eventQ is null when destructor calls ProxyReleas)
this addition to destructor provided also good result:
nsRequestObserverProxy::~nsRequestObserverProxy()
{
if (mObserver && mEventQ) {
// order is crucial here... we must be careful to clear mObserver
// before posting the proxy release event. otherwise, we'd risk
// releasing the object on this thread.
nsIRequestObserver *obs = mObserver;
NS_ADDREF(obs);
mObserver = 0;
ProxyRelease(mEventQ, obs);
}
}
----------------------------------
mEventQ test added in if()
Comment 21•23 years ago
|
||
*** Bug 167620 has been marked as a duplicate of this bug. ***
Comment 22•23 years ago
|
||
arougthopher, we think that this is a BEOS only problem. I have no way to
reproduce this. Let me know if there is anything I can do to help.
Assignee: new-network-bugs → arougthopher
Status: REOPENED → NEW
Reporter | ||
Comment 23•23 years ago
|
||
Doug,
I don't visit many Flash sites, so I have not seen this in a while. I will try
to reproduce again, just to make sure that is has not been "accidentally" fixed :)
I will post more information as tonight. Would the NSPR logging help as well?
If so, are there any particular modules you want me to monitor, or just all:5?
Reporter | ||
Comment 24•23 years ago
|
||
A little more information:
I have the patch for Bug#92793 applied to my build. For this reason, I now have thread
safety checking turned on by default for debug builds (w/o the above patch, there are TOO
many warnings about "thread-safetyness", that I had it turned off)
When viewing the url: http://www.eye4u.com
The first flash animation works, click on the "Enter Site" link, and the next flash causes
a bunch of assertions to be thrown.
I get the following assertions:
Document http://www.eye4u.com/home/ loaded successfully
###!!! ASSERTION: nsPluginHostImpl not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginHostImpl not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginHostImpl not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: ns4xPluginInstance not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: ns4xPluginInstance not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstancePeerImpl not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstancePeerImpl not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstancePeerImpl not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstancePeerImpl not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstanceOwner not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstanceOwner not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstanceOwner not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: PresShell not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: PresShell not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: PresShell not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsDocument not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: PresShell not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsDocument not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsDocument not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstanceOwner not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsPluginInstancePeerImpl not thread-safe: 'owningThread ==
NS_CurrentThread()', file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: ns4xPluginInstance not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: ns4xPluginInstance not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: GlobalWindowImpl not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: GlobalWindowImpl not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: GlobalWindowImpl not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: GlobalWindowImpl not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsURILoader not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsURILoader not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsURILoader not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsURILoader not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsURILoader not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsURILoader not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsURILoader not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsURILoader not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCookieHTTPNotify not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCookieHTTPNotify not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCookieHTTPNotify not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCookieHTTPNotify not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCookieHTTPNotify not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCookieHTTPNotify not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCookieHTTPNotify not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsStandardURL not thread-safe: 'owningThread == NS_CurrentThread()', file
nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCacheSession not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCacheSession not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCacheSession not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
###!!! ASSERTION: nsCacheSession not thread-safe: 'owningThread == NS_CurrentThread()',
file nsDebug.cpp, line 533
Break: at file nsDebug.cpp, line 533
This go's along with the error message from a previous post I made:
---------------------------------------------------------------
!!!!! XPConnect wrapper thread use error...
XPConnect WrappedNative is being accessed on multiple threads but the
underlying native xpcom object does not have a nsIClassInfo with the
'THREADSAFE' flag set
wrapper: [object nsXPCComponents_Interfaces @ 0x8075d798]
JS call stack...
So, it seems that either Mozilla is starting multiple threads for FlashPlugin (if it tries
to make a network connection) or, the Flash Plugin is starting multiple threads, and
calling into mozilla from each of them.
I will try to contact the Flash Player developers, to see if they can assist as well.
Also, I will try modifying some of the code to make it use atomic reference counting, like
the patch I mentioned, and see if that helps.
Status: NEW → ASSIGNED
Comment 25•22 years ago
|
||
By the definitions on <http://bugzilla.mozilla.org/bug_status.html#severity> and
<http://bugzilla.mozilla.org/enter_bug.cgi?format=guided>, crashing and dataloss
bugs are of critical or possibly higher severity. Only changing open bugs to
minimize unnecessary spam. Keywords to trigger this would be crash, topcrash,
topcrash+, zt4newcrash, dataloss.
Severity: normal → critical
Comment 26•22 years ago
|
||
http://www.eye4u.com
loading symbols
segment violation occurred
nsHttpTransaction::OnTransportStatus(unsigned int, unsigned int):
OnTransportStatus__17nsHttpTransactionUiUi:
+00e5 eebd61f5: * 088b movl (%eax), %ecx
moz-thread:sc
frame retaddr
fd0b3ad4 eebcfb36 nsHttpConnection::OnTransportStatus(nsITransport *,
unsigned int, unsigned int, unsigned int) + 00000032
fd0b3aec eeba53b4 nsSocketTransport::SendStatus(unsigned int) + 000000a4
fd0b3b24 eeba5c12 nsSocketTransport::InitiateSocket(void) + 000000d2
fd0b3ba4 eeba6101 nsSocketTransport::OnSocketEvent(unsigned int, unsigned
int, void *) + 000000c1
fd0b3bbc eeba740c nsSocketTransportService::ServiceEventQ(void) + 0000007c
fd0b3bf0 eeba7c17 nsSocketTransportService::Run(void) + 00000207
fd0b3c14 ee947b60 nsThread::Main(void *) + 00000038
fd0b3c2c ee8b35f8 #File libnspr4.so text + 000235f8
fd0b3c3c ec05032c thread_start + 00000038
moz-thread:
Comment 27•22 years ago
|
||
notice - on http://www.eye4u.com it crashes not immediately but about 30 sec
from start. and crashes again on event delete or so:
nsHttpTransaction::OnTransportStatus(nsresult status, PRUint32 progress)
{
*****
if (postEvent) {
PLEvent *ev = new PLEvent;
NS_ADDREF_THIS();
PL_InitEvent(ev, this, TransportStatus_Handler, TransportStatus_Cleanup);
if (mConsumerEventQ->PostEvent(ev) != PR_SUCCESS) {
NS_RELEASE_THIS();
delete ev;
}
}
Comment 28•22 years ago
|
||
*** Bug 207785 has been marked as a duplicate of this bug. ***
Comment 29•22 years ago
|
||
I doubt that we can do anything on BeOS-port side, it seems that bug may be
called "libnecko isn't thread-safe"
Reporter | ||
Comment 30•22 years ago
|
||
I wonder, if we could create a "proxy" between the threads, similar to what we
do with the nsAppShell and nsToolkit. I was planning on looking into this at
some point as well, but, I just have not had the time, and is lower on my
priority list than some other issues.
Comment 31•22 years ago
|
||
nsHttpChannel::AsyncOpen can only be called on the main gecko thread. any calls
like this that enter necko need to happen from the main gecko thread only.
Comment 32•22 years ago
|
||
Ok, those two changes prevent crashes as i said, i use those almost year in my
builds, but dunno if it can cause leaks, and also unsure if there are other
similar places where check for object existance is missing:
----------------------
nsRequestObserverProxy.cpp:
nsRequestObserverProxy::~nsRequestObserverProxy()
{
if (mObserver && mEventQ) { //checking for mEvent, missing in original
source - fyysik
-----------------------
nsHttpTransaction.cpp :
nsHttpTransaction::OnTransportStatus(nsresult status, PRUint32 progress)
{
<SKIPPED>
305: if (postEvent && mConsumerEventQ) { //fyysik - testing for mConsumerEvent
PLEvent *ev = new PLEvent;
NS_ADDREF_THIS();
PL_InitEvent(ev, this, TransportStatus_Handler, TransportStatus_Cleanup);
if (mConsumerEventQ->PostEvent(ev) != PR_SUCCESS && ev) {
NS_RELEASE_THIS();
delete ev;
}
}
}
Updated•21 years ago
|
Summary: Segment violadion in ProxyRelease when viewing flash → Segment violation in ProxyRelease when viewing Flash
Comment 33•18 years ago
|
||
Sergei, do you still see this? bug reporter is gone.
Comment 34•17 years ago
|
||
(In reply to comment #33)
> Sergei, do you still see this? bug reporter is gone.
Dunno. As Flash-plugin in consideration is too old, nothing to watch with that.
Comment 35•17 years ago
|
||
(In reply to comment #34)
> (In reply to comment #33)
> > Sergei, do you still see this? bug reporter is gone.
>
> Dunno. As Flash-plugin in consideration is too old, nothing to watch with that.
true.
is there still something worth fixing?
Assignee: beos → nobody
Status: ASSIGNED → NEW
QA Contact: nobody → networking
Assignee | ||
Comment 36•15 years ago
|
||
Flash Player is not supported on BeOS. Marking this bug as such.
Status: NEW → RESOLVED
Closed: 23 years ago → 15 years ago
Resolution: --- → WONTFIX
Assignee | ||
Updated•15 years ago
|
Assignee: nobody → jet
You need to log in
before you can comment on or make changes to this bug.
Description
•