Closed Bug 319917 Opened 19 years ago Closed 19 years ago

roaming profiles crashes on startup, no way to disable roaming [@ nsBinaryOutputStream::Write]

Categories

(Core :: XPCOM, defect)

All
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: david, Assigned: matthew.gertner)

Details

(Keywords: crash)

Crash Data

Attachments

(2 obsolete files)

On startup, roaming dialog pops up, asks for password.  Correct password yields the sync list.  Without any further action and within a few seconds, there will be a NULL deref segfault.  I have been asking for a week without any answer; how to disable roaming.  So here's the bug.  There is no way to disable this or get around it that I am aware of so in my opinion this is a blocker but I set it for critical.

This has been happening for two weeks now with cvs updates nearly every other day.  I have no idea when the original bug happened, I had not done a new build in over a month.  Below crash data based on cvs update at noon time today.

[New Thread 1090525536 (LWP 3629)]
WARNING: dependent window created without a parent, file nsAppStartup.cpp, line 887
GFX: dpi=123 t2p=0.0833333 p2t=12 depth=24
WARNING: default.xpm not found, file nsWindow.cpp, line 3133
++WEBSHELL 0x9840e0 == 1
++DOMWINDOW == 1
++DOMWINDOW == 2
LoadPlugin: failed to initialize shared library /home/david/.mozilla/plugins/kaffeineplugin.so [/home/david/.mozilla/plugins/kaffeineplugin.so: cannot open shared object file: No such file or directory]
LoadPlugin() /home/david/.mozilla/plugins/kaffeineplugin.so returned 0
Reading symbols from /usr/local/lib/seamonkey-1.5a/plugins/libnullplugin.so...done.
LoadPlugin() /usr/local/lib/seamonkey-1.5a/plugins/libnullplugin.so returned b2df90
GetMIMEDescription() returned ""
Reading symbols from /usr/local/lib/seamonkey-1.5a/plugins/libunixprintplugin.so...done.
LoadPlugin() /usr/local/lib/seamonkey-1.5a/plugins/libunixprintplugin.so returned b2e040
GetMIMEDescription() returned ""
###!!! ASSERTION: Failed to write xpti manifest!: 'Error', file xptiInterfaceInfoManager.cpp, line 1937
Break: at file xptiInterfaceInfoManager.cpp, line 1937
^G[New Thread 1098918240 (LWP 3630)]
[New Thread 1107310944 (LWP 3631)]
[New Thread 1115703648 (LWP 3632)]
Note: styleverifytree is disabled
Note: frameverifytree is disabled
Note: verifyreflow is disabled
[New Thread 1124096352 (LWP 3633)]
[New Thread 1132489056 (LWP 3634)]
[Thread 1124096352 (LWP 3633) exited]
************************************************************
* Call to xpconnect wrapped JSObject produced this error:  *
[Exception... "'Component does not have requested interface' when calling method: [nsIInterfaceRequestor::getInterface]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "<unknown>"  data: no]
************************************************************
WARNING: default.xpm not found, file nsWindow.cpp, line 3133
++WEBSHELL 0xd4d060 == 2
++DOMWINDOW == 3
++DOMWINDOW == 4
WARNING: NS_ENSURE_TRUE(context) failed, file nsEventListenerManager.cpp, line 1299
WARNING: NS_ENSURE_TRUE(context) failed, file nsEventListenerManager.cpp, line 1299
WARNING: NS_ENSURE_TRUE(context) failed, file nsEventListenerManager.cpp, line 1299
WARNING: NS_ENSURE_TRUE(context) failed, file nsEventListenerManager.cpp, line 1299
WARNING: GetCharCode used for wrong key event; should use onkeypress., file nsDOMKeyboardEvent.cpp, line 108
WARNING: GetCharCode used for wrong key event; should use onkeypress., file nsDOMKeyboardEvent.cpp, line 108
WARNING: GetCharCode used for wrong key event; should use onkeypress., file nsDOMKeyboardEvent.cpp, line 108
WARNING: GetCharCode used for wrong key event; should use onkeypress., file nsDOMKeyboardEvent.cpp, line 108
WARNING: GetCharCode used for wrong key event; should use onkeypress., file nsDOMKeyboardEvent.cpp, line 108
WARNING: GetCharCode used for wrong key event; should use onkeypress., file nsDOMKeyboardEvent.cpp, line 108
WARNING: GetCharCode used for wrong key event; should use onkeypress., file nsDOMKeyboardEvent.cpp, line 108
WARNING: GetCharCode used for wrong key event; should use onkeypress., file nsDOMKeyboardEvent.cpp, line 108
--WEBSHELL 0xd4d060 == 1
malformed listing file
WARNING: default.xpm not found, file nsWindow.cpp, line 3133
++WEBSHELL 0xd700b0 == 2
++DOMWINDOW == 5
++DOMWINDOW == 6
WARNING: GetDefaultCharsetForLocale: need to add multi locale support, file nsUNIXCharset.cpp, line 189
###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->().: 'mRawPtr != 0', file ../../dist/include/xpcom/nsCOMPtr.h, line 849
Break: at file ../../dist/include/xpcom/nsCOMPtr.h, line 849
^GReading in symbols for nsBinaryStream.cpp...done.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 46912550754864 (LWP 3622)]
0x00002aaaaad38e18 in nsBinaryOutputStream::Write (this=0x0, aBuf=0xce7d50 "", aCount=0, aActualBytes=0x7fffffb96d7c) at nsBinaryStream.cpp:73
/usr/src/cvs/mozilla/xpcom/io/nsBinaryStream.cpp:73:3088:beg:0x2aaaaad38e18
(gdb) bt
Reading in symbols for nsBufferedStreams.cpp...done.
Reading in symbols for nsSimpleStreamListener.cpp...done.
Reading in symbols for xpcjsruntime.cpp...done.
Reading in symbols for nsJSEnvironment.cpp...done.
Reading in symbols for jsgc.c...done.
Reading in symbols for nsTimerImpl.cpp...done.
Reading in symbols for plevent.c...done.
Reading in symbols for nsEventQueue.cpp...done.
Reading in symbols for nsAppShell.cpp...done.
Reading in symbols for nsXULWindow.cpp...done.
Reading in symbols for nsWindowWatcher.cpp...done.
Reading in symbols for xptcinvoke_x86_64_linux.cpp...done.
Reading in symbols for xpcwrappednative.cpp...done.
Reading in symbols for xpcwrappednativejsops.cpp...done.
Reading in symbols for jsinterp.c...done.
Reading in symbols for jsapi.c...done.
Reading in symbols for nsGlobalWindow.cpp...done.
Reading in symbols for Stream.cpp...done.
Reading in symbols for Core.cpp...done.
Reading in symbols for nsProfile.cpp...done.
Reading in symbols for nsAppStartup.cpp...done.
#0  0x00002aaaaad38e18 in nsBinaryOutputStream::Write (this=0x0, aBuf=0xce7d50 "", aCount=0, aActualBytes=0x7fffffb96d7c) at nsBinaryStream.cpp:73
#1  0x00002aaaaf17e15a in nsBufferedOutputStream::Flush (this=0xce52a0) at nsBufferedStreams.cpp:567
#2  0x00002aaaaf17d59e in nsBufferedOutputStream::Close (this=0xce52a0) at nsBufferedStreams.cpp:519
#3  0x00002aaaaf17ee68 in ~nsBufferedOutputStream (this=0xce52a0) at nsBufferedStreams.h:130
#4  0x00002aaaaf17d2bd in nsBufferedStream::Release (this=0xce52a0) at nsBufferedStreams.cpp:85
#5  0x00002aaaaf19bf34 in ~nsSimpleStreamListener (this=0xce5bb0) at nsSimpleStreamListener.h:52
#6  0x00002aaaaf19bbd3 in nsSimpleStreamListener::Release (this=0xce5bb0) at nsSimpleStreamListener.cpp:46
#7  0x00002aaaaeeca23e in XPCJSRuntime::GCCallback (cx=0x986100, status=JSGC_END) at xpcjsruntime.cpp:562
#8  0x00002aaaafb73663 in DOMGCCallback (cx=0x0, status=JSGC_END) at nsJSEnvironment.cpp:2202
#9  0x00002aaaaaf3b079 in js_GC (cx=0x986100, gcflags=0) at jsgc.c:1955
#10 0x00002aaaaaf3b136 in js_ForceGC (cx=0x0, gcflags=0) at jsgc.c:1510
#11 0x00002aaaafb735b2 in nsJSContext::Notify (this=0x986090, timer=0x0) at nsJSEnvironment.cpp:2158
#12 0x00002aaaaad71bcb in nsTimerImpl::Fire (this=0xae7cf0) at nsTimerImpl.cpp:403
#13 0x00002aaaaad71e2c in handleTimerEvent (aEvent=0x0) at nsTimerImpl.cpp:467
#14 0x00002aaaaad6abb9 in PL_HandleEvent (self=0xe844c0) at plevent.c:688
#15 0x00002aaaaad6b53d in PL_ProcessPendingEvents (self=0xa511d0) at plevent.c:623
#16 0x00002aaaaad6d759 in nsEventQueueImpl::ProcessPendingEvents (this=0xd99fe0) at nsEventQueue.cpp:417
#17 0x00002aaab21e7922 in event_processor_callback (source=0x0, condition=0, data=0x2aaaacf04610) at nsAppShell.cpp:67
#18 0x00002aaaac4f07f3 in g_source_remove_poll () from /usr/lib/libglib-2.0.so.0
#19 0x00002aaaac4f32b9 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#20 0x00002aaaac4f384f in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#21 0x00002aaab21e8153 in nsAppShell::DispatchNativeEvent (this=0x0, aRealEvent=0, aEvent=0x2aaaacf04610) at nsAppShell.cpp:274
#22 0x00002aaab598d5a7 in nsXULWindow::ShowModal (this=0xd9a570) at nsXULWindow.cpp:403
#23 0x00002aaab256532f in nsWindowWatcher::OpenWindowJS (this=0x8aea20, aParent=0x7fffffb974e0, aUrl=0x7fffffb97550 "\250\220\324", aName=0x7fffffb97420 "`\222\324", aFeatures=0x7fffffb97480 "\0201\245", aDialog=1, argc=1, argv=0xe103d8, _retval=0x7fffffb97bb8) at nsWindowWatcher.cpp:822
#24 0x00002aaab256678e in nsWindowWatcher::OpenWindow (this=0x8aea20, aParent=0x9855d0, aUrl=0xdcbf10 "chrome://sroaming/content/transfer/conflictResolve.xul", aName=0x0, aFeatures=0xdcbf80 "centerscreen,chrome,modal,titlebar", aArguments=0x0, _retval=0x0) at nsWindowWatcher.cpp:473
#25 0x00002aaaaad90a7e in XPTC_InvokeByIndex (that=0x8aea20, methodIndex=3, paramCount=6, params=0x7fffffb97b40) at xptcinvoke_x86_64_linux.cpp:209
#26 0x00002aaaaeedd81d in XPCWrappedNative::CallMethod (ccx=Reading in symbols for xpccallcontext.cpp...done.
@0x7fffffb97c80, mode=5) at xpcwrappednative.cpp:2138
#27 0x00002aaaaeee59d1 in XPC_WN_CallMethod (cx=0x986100, obj=0xcf49d0, argc=5, argv=0xe103a0, vp=0x7fffffb97e60) at xpcwrappednativejsops.cpp:1444
#28 0x00002aaaaaf5275a in js_Invoke (cx=0x986100, argc=5, flags=0) at jsinterp.c:1211
#29 0x00002aaaaaf3ea2b in js_Interpret (cx=0x986100, pc=0xa13af2 ":", result=0x7fffffb981a8) at jsinterp.c:3754
#30 0x00002aaaaaf5288f in js_Invoke (cx=0x986100, argc=0, flags=0) at jsinterp.c:1231
#31 0x00002aaaaaf3ea2b in js_Interpret (cx=0x986100, pc=0xa3fdbd ":", result=0x7fffffb98538) at jsinterp.c:3754
#32 0x00002aaaaaf5288f in js_Invoke (cx=0x986100, argc=1, flags=2) at jsinterp.c:1231
#33 0x00002aaaaaf52cbb in js_InternalInvoke (cx=0x986100, obj=0xa27590, fval=13581216, flags=2, argc=1, argv=0xd7a860, rval=0x0) at jsinterp.c:1308
#34 0x00002aaaaaf0f612 in JS_CallFunctionValue (cx=0x986100, obj=0x0, fval=46912534234640, argc=67, argv=0x2aaaadec5a30, rval=0xf) at jsapi.c:4157
#35 0x00002aaaafb73ed1 in nsJSContext::CallEventHandler (this=0x986090, aTarget=0xa27590, aHandler=0xcf3ba0, argc=1, argv=0xd7a860, rval=0x7fffffb98870) at nsJSEnvironment.cpp:1424
#36 0x00002aaaafb8fcbe in nsGlobalWindow::RunTimeout (this=0xacddd0, aTimeout=0x7fffffb988c0) at nsGlobalWindow.cpp:6243
#37 0x00002aaaafb8fe07 in nsGlobalWindow::TimerCallback (aTimer=0x0, aClosure=0xdd16f0) at nsGlobalWindow.cpp:6602
#38 0x00002aaaaad71c90 in nsTimerImpl::Fire (this=0xdd17b0) at nsTimerImpl.cpp:400
#39 0x00002aaaaad71e2c in handleTimerEvent (aEvent=0x0) at nsTimerImpl.cpp:467
#40 0x00002aaaaad6abb9 in PL_HandleEvent (self=0xdd19e0) at plevent.c:688
#41 0x00002aaaaad6b53d in PL_ProcessPendingEvents (self=0x67b6e0) at plevent.c:623
#42 0x00002aaaaad6d759 in nsEventQueueImpl::ProcessPendingEvents (this=0x943820) at nsEventQueue.cpp:417
#43 0x00002aaab21e7922 in event_processor_callback (source=0x0, condition=0, data=0x2aaaacf04610) at nsAppShell.cpp:67
#44 0x00002aaaac4f07f3 in g_source_remove_poll () from /usr/lib/libglib-2.0.so.0
#45 0x00002aaaac4f32b9 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#46 0x00002aaaac4f384f in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#47 0x00002aaab21e8153 in nsAppShell::DispatchNativeEvent (this=0x0, aRealEvent=0, aEvent=0x2aaaacf04610) at nsAppShell.cpp:274
#48 0x00002aaab598d5a7 in nsXULWindow::ShowModal (this=0x93d470) at nsXULWindow.cpp:403
#49 0x00002aaab256532f in nsWindowWatcher::OpenWindowJS (this=0x8aea20, aParent=0x7fffffb98e40, aUrl=0x7fffffb98eb0 "(\336\236", aName=0x7fffffb98d80 "\340\337\236", aFeatures=0x7fffffb98eb0 "(\336\236", aDialog=1, argc=1, argv=0x9540c0, _retval=0x7fffffb992e0) at nsWindowWatcher.cpp:822
#50 0x00002aaab256678e in nsWindowWatcher::OpenWindow (this=0x8aea20, aParent=0x0, aUrl=0x2aaab2f6c8b0 "chrome://sroaming/content/transfer/progressDialog.xul", aName=0x0, aFeatures=0x2aaab2f6c580 "centerscreen,chrome,modal,titlebar", aArguments=0x0, _retval=0x0) at nsWindowWatcher.cpp:473
#51 0x00002aaab2f6b635 in Stream::DownUpLoad (this=0x7c5eb0, download=8151024) at Stream.cpp:269
#52 0x00002aaab2f67db2 in Core::BeginSession (this=0x898aa0) at Core.cpp:100
#53 0x00002aaab20abb26 in nsProfile::SetCurrentProfile (this=0x7ca120, aCurrentProfile=0x7fffffb99570) at nsProfile.cpp:1266
#54 0x00002aaab20ac3f5 in nsProfile::LoadDefaultProfileDir (this=0x7ca120, profileURLStr=@0x7fffffb99c90, canInteract=1) at nsProfile.cpp:551
#55 0x00002aaab20adfe4 in nsProfile::StartupWithArgs (this=0x7ca120, cmdLineArgs=Reading in symbols for nsCommandLineService.cpp...done.
0x8868d0, canInteract=1) at nsProfile.cpp:352
#56 0x00002aaaae941d38 in nsAppStartup::DoProfileStartup (this=0x7c8790, aCmdLineService=0x8868d0, canInteract=1) at nsAppStartup.cpp:169
#57 0x0000000000403c3e in InitializeProfileService (cmdLineArgs=0x8868d0) at nsAppRunner.cpp:900
#58 0x0000000000405be3 in main1 (argc=-4612224, argv=0x7fffffb9a188, nativeApp=0x0) at nsAppRunner.cpp:1165
#59 0x0000000000406428 in main (argc=1, argv=0x7fffffb9a188) at nsAppRunner.cpp:1737

  71 nsBinaryOutputStream::Write(const char *aBuf, PRUint32 aCount, PRUint32 *aActualBytes)
  72 {
  73     return mOutputStream->Write(aBuf, aCount, aActualBytes);
  74 }


david@Scott ~ $ grep ^ac ~/.mozconfig
ac_add_options --disable-ldap
ac_add_options --disable-gnomevfs
ac_add_options --disable-gnomeui
ac_add_options --disable-accessibility
ac_add_options --enable-tests
ac_add_options --enable-debug
ac_add_options --enable-optimize="-nopie -g -O2 -pipe -march=opteron"
ac_add_options --disable-toolkit-qt
ac_add_options --disable-crash-on-assert
ac_add_options --enable-application=suite
ac_add_options --enable-xft
ac_add_options --enable-xprint
ac_add_options --enable-crypto
ac_add_options --enable-xpctools
ac_add_options --enable-xterm-updates
ac_add_options --enable-necko-small-buffers
ac_add_options --enable-toolkit-gtk2
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --enable-x11-shm
ac_add_options --disable-freetype2 # can't enable both xft and ft
ac_add_options --disable-freetype # can't enable both xft and ft
ac_add_options --enable-extensions=default
ac_add_options --without-system-nspr
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-system-mng
ac_add_options --with-system-cairo
Keywords: crash
Hardware: All → PC
Summary: roaming profiles crashes on startup, no way to disable roaming → roaming profiles crashes on startup, no way to disable roaming [@ nsBinaryOutputStream::Write]
ok, for everyone to note, roaming can be disabled by deleting the jar and so library from the lib/seamonkey-xx/ directory tree after installing.
js> Components.classes["@mozilla.org/binaryinputstream;1"].createInstance(Components.interfaces.nsIObjectInputStream).available()
./run-mozilla.sh: line 423:  4512 Bus error               "$prog" ${1+"$@"}

js> Components.classes["@mozilla.org/binaryoutputstream;1"].createInstance(Components.interfaces.nsIObjectOutputStream).close()
./run-mozilla.sh: line 423:  4521 Bus error               "$prog" ${1+"$@"}
Assignee: prefs → dougt
Component: Preferences → XPCOM
Product: Mozilla Application Suite → Core
QA Contact: xpcom
Hardware: PC → All
Comment on attachment 205758 [details] [diff] [review]
Added NS_ENSURE_STATE macro to protect against NULL streams

the person doing the checkin will have to replace the tabs with spaces (we don't use tabs in mozilla).
Attachment #205758 - Flags: superreview?(darin)
Attachment #205758 - Flags: review?(darin)
Attachment #205758 - Flags: review+
Comment on attachment 205758 [details] [diff] [review]
Added NS_ENSURE_STATE macro to protect against NULL streams

>Index: nsBinaryStream.cpp

>+nsBinaryOutputStream::Close() 
>+{ 
>+	NS_ENSURE_STATE(mOutputStream);
>+	return mOutputStream->Close(); 
>+}

Please don't introduce tabs into this source file.  I believe
the convention for this source file is 4 whitespaces.


r+sr=me provided you fix the whitespace
Attachment #205758 - Flags: superreview?(darin)
Attachment #205758 - Flags: superreview+
Attachment #205758 - Flags: review?(darin)
Attachment #205758 - Flags: review+
Attached patch Converted tabs to spaces (obsolete) — Splinter Review
Sorry, didn't realize that tabs were, ehm, taboo.
Attachment #205758 - Attachment is obsolete: true
Comment on attachment 205814 [details] [diff] [review]
Converted tabs to spaces

Moved review flags to corrected version.
Attachment #205814 - Flags: superreview+
Attachment #205814 - Flags: review+
Assignee: dougt → matthew
Comment on attachment 205814 [details] [diff] [review]
Converted tabs to spaces

mozilla/xpcom/io/nsBinaryStream.cpp 	1.25
Attachment #205814 - Attachment is obsolete: true
we claim this is fixed, reporter: if this is fixed, please mark as verified, thanks.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Crash Signature: [@ nsBinaryOutputStream::Write]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: