Closed Bug 90164 Opened 24 years ago Closed 24 years ago

Crash when select submit

Categories

(Core Graveyard :: Security: UI, defect)

1.0 Branch
defect
Not set
critical

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: rubydoo123, Assigned: ddrinan0264)

References

Details

(Keywords: smoketest)

using the trunk build from 7/10/01 on win98, I crahsed when selecting submit. Talkback report ID# 32735008 -------------------------------------------------------------- Incident ID 32735008 Stack Signature nsKeygenFormProcessor::Init 27f4bf82 Bug ID Trigger Time 2001-07-10 10:01:29 User Comments ok -- I went to google, entered a string and hit enter, then boom Build ID 2001071006 Product ID MozillaTrunk Platform ID Win32 Stack Trace nsKeygenFormProcessor::Init [d:\builds\seamonkey\mozilla\security\manager\ssl\src\nsKeygenHandler.cpp, line 185] nsKeygenFormProcessor::Create [d:\builds\seamonkey\mozilla\security\manager\ssl\src\nsKeygenHandler.cpp, line 167] nsGenericFactory::CreateInstance [d:\builds\seamonkey\mozilla\xpcom\components\nsGenericFactory.cpp, line 56] nsComponentManagerImpl::CreateInstance [d:\builds\seamonkey\mozilla\xpcom\components\nsComponentManager.cpp, line 1232] nsComponentManager::CreateInstance [d:\builds\seamonkey\mozilla\xpcom\components\nsRepository.cpp, line 82] nsServiceManagerImpl::GetService [d:\builds\seamonkey\mozilla\xpcom\components\nsServiceManager.cpp, line 345] nsServiceManager::GetService [d:\builds\seamonkey\mozilla\xpcom\components\nsServiceManager.cpp, line 560] nsGetServiceByCID::operator() [d:\builds\seamonkey\mozilla\xpcom\components\nsServiceManager.cpp, line 46] nsCOMPtr_base::assign_from_helper [d:\builds\seamonkey\mozilla\xpcom\base\nsCOMPtr.cpp, line 66] nsFormFrame::OnSubmit [d:\builds\seamonkey\mozilla\layout\html\forms\src\nsFormFrame.cpp, line 728] nsHTMLFormElement::DoSubmitOrReset [d:\builds\seamonkey\mozilla\content\html\content\src\nsHTMLFormElement.cpp, line 525] nsHTMLFormElement::HandleDOMEvent [d:\builds\seamonkey\mozilla\content\html\content\src\nsHTMLFormElement.cpp, line 469] PresShell::HandleEventInternal [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 5632] PresShell::HandleEventWithTarget [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 5604] nsFormControlHelper::DoManualSubmitOrReset [d:\builds\seamonkey\mozilla\layout\html\forms\src\nsFormControlHelper.cpp, line 1000] nsGfxTextControlFrame2::SubmitAttempt [d:\builds\seamonkey\mozilla\layout\html\forms\src\nsGfxTextControlFrame2.cpp, line 3122] nsTextInputListener::KeyPress [d:\builds\seamonkey\mozilla\layout\html\forms\src\nsGfxTextControlFrame2.cpp, line 311] nsEventListenerManager::HandleEvent [d:\builds\seamonkey\mozilla\content\events\src\nsEventListenerManager.cpp, line 1598] nsGenericElement::HandleDOMEvent [d:\builds\seamonkey\mozilla\content\base\src\nsGenericElement.cpp, line 1674] nsHTMLInputElement::HandleDOMEvent [d:\builds\seamonkey\mozilla\content\html\content\src\nsHTMLInputElement.cpp, line 1083] PresShell::HandleEventInternal [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 5632] PresShell::HandleEvent [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 5559] nsView::HandleEvent [d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 377] nsView::HandleEvent [d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 350] nsView::HandleEvent [d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 350] nsViewManager::DispatchEvent [d:\builds\seamonkey\mozilla\view\src\nsViewManager.cpp, line 2056] HandleEvent [d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 68] nsWindow::DispatchEvent [d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 724] nsWindow::DispatchWindowEvent [d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 741] nsWindow::DispatchKeyEvent [d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 2390] nsWindow::OnChar [d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 2515] nsWindow::ProcessMessage [d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 3508] nsWindow::WindowProc [d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 989] KERNEL32.DLL + 0x363b (0xbff7363b) KERNEL32.DLL + 0x242e7 (0xbff942e7) 0x00688b5e
Is this happening for all form submissions? Just Bugzilla? I don't see a crash hitting the Submit button on query.cgi. Is this commit button on show_bug.cgi you're talking about?
*** Bug 90166 has been marked as a duplicate of this bug. ***
go to google or go to our bugzilla forms
I hate to stick my neck out on this, but Rod is on sabbatical so assigning it to him is a bad idea. cc'ing pollmann since he may have some clues (I'm in the middle of pulling and building and then I'll try it myself).
this is also happening with mfcembed 2001-07-10-09-trunk it is a smoketest blocker on mac and windows commercial trunk builds
Severity: normal → blocker
Keywords: smoketest
OS: Windows 98 → All
Hardware: PC → All
The crash is in psm-glue code, so it may only be happening if PSM is installed ... or maybe only if it's not installed?
I can say that the code around the crash site looks like it has serious ownership problems since it's conditionally assigning either a string whose buffer is owned or a string whose buffer is not owned. But I don't see what on those lines would cause a crash...
I cannot repro this on Win2K using Mozilla, MFCEmbed, or Viewer...
... without PSM that is. Trying with PSM now.
*shrug* this WORKSFORME on my daily build. The crash appears to be in PSM, and there were some updates to PSM yesterday: U mozilla/security/manager/pki/resources/Makefile.in U mozilla/security/manager/pki/resources/jar.mn U mozilla/security/manager/pki/resources/makefile.win U mozilla/security/manager/pki/resources/content/contents.rdf U mozilla/security/manager/pki/resources/locale/en-US/contents.rdf U mozilla/security/manager/ssl/resources/Makefile.in U mozilla/security/manager/ssl/resources/jar.mn U mozilla/security/manager/ssl/resources/makefile.win U mozilla/security/manager/ssl/resources/content/contents.rdf U mozilla/security/manager/ssl/resources/locale/en-US/contents.rdf Perhaps somebody forgot to update a packager script?
I see the crash when I run the embedding manifest (I can't figure out how to run the manifest for xpinstall/packager on Windows). The crash is because nsCOMPtr<nsINSSComponent> nssComponent(do_GetService(kNSSComponentCID, &rv)); leaves nssComponent as null. The relevant source is http://lxr.mozilla.org/mozilla/source/security/manager/ssl/src/nsKeygenHandler.c pp#173 rather than what i was looking at before (extensions/psm-glue).
The reason it's failing is because nsNSSComponent::Init fails because it can't load its properties file. The string passed to CreateBundle is aURLSpec="chrome://pipnss/locale/pipnss.properies", which we attempt to load (but fail) at the following stack: NS_OpenURI(nsIChannel * * 0x0012e63c, nsIURI * 0x02caaaa0, nsIIOService * 0x00f59f78, nsILoadGroup * 0x00000000, nsIInterfaceRequestor * 0x00000000, unsigned int 0) line 133 + 20 bytes NS_OpenURI(nsIInputStream * * 0x0012e6a4, nsIURI * 0x02caaaa0, nsIIOService * 0x00000000, nsILoadGroup * 0x00000000, nsIInterfaceRequestor * 0x00000000, unsigned int 0) line 171 + 49 bytes nsStringBundle::InitSyncStream(const char * 0x025bb064) line 127 + 46 bytes nsStringBundleService::getStringBundle(const char * 0x025bb064, int 0, nsIStringBundle * * 0x02cf14d0) line 851 + 12 bytes nsStringBundleService::CreateBundle(nsStringBundleService * const 0x00f78df8, const char * 0x025bb064, nsIStringBundle * * 0x02cf14d0) line 940 nsNSSComponent::InitializePIPNSSBundle() line 325 + 55 bytes nsNSSComponent::Init(nsNSSComponent * const 0x02cf14a8) line 498 + 8 bytes nsNSSComponentConstructor(nsISupports * 0x00000000, const nsID & {...}, void * * 0x0012e810) line 48 + 147 bytes nsGenericFactory::CreateInstance(nsGenericFactory * const 0x00fe9518, nsISupports * 0x00000000, const nsID & {...}, void * * 0x0012e810) line 56 nsComponentManagerImpl::CreateInstance(nsComponentManagerImpl * const 0x00359500, const nsID & {...}, nsISupports * 0x00000000, const nsID & {...}, void * * 0x0012e810) line 1231 + 24 bytes nsComponentManager::CreateInstance(const nsID & {...}, nsISupports * 0x00000000, const nsID & {...}, void * * 0x0012e810) line 82 nsServiceManagerImpl::GetService(nsServiceManagerImpl * const 0x003587d8, const nsID & {...}, const nsID & {...}, nsISupports * * 0x0012e8a0, nsIShutdownListener * 0x00000000) line 344 + 19 bytes nsServiceManager::GetService(const nsID & {...}, const nsID & {...}, nsISupports * * 0x0012e8a0, nsIShutdownListener * 0x00000000) line 560 nsGetServiceByCID::operator()(const nsID & {...}, void * * 0x0012e8a0) line 44 + 22 bytes nsCOMPtr<nsINSSComponent>::assign_from_helper(const nsCOMPtr_helper & {...}, const nsID & {...}) line 971 + 18 bytes nsCOMPtr<nsINSSComponent>::nsCOMPtr<nsINSSComponent>(const nsCOMPtr_helper & {...}) line 553 nsKeygenFormProcessor::Init() line 180 + 39 bytes
Were you using the mozilla or commercial installer package?
Assigning to ddrinan since this seems related to the checkin for bug 77837.
Assignee: rods → ddrinan
Component: Form Submission → Security: Crypto
QA Contact: vladimire → junruh
I was using the mozilla embedding manifest since I couldn't figure out how to run the main mozilla manifest. But since there were no manifest changes yesterday I didn't think it would matter since we probably need to make the same change to all manifests.
Embedding doesn't try to repackage the PSM jar files, it just has entries in its basebrowser-win & basebrowser-unix install files which should ensure they are copied across wholesale to the Embed dir. It may well break embedding if there are new PSM chrome files, and the install file entries (or installed-chrome.txt) were not updated.
The PSM locale data no longer resides in pipnss.jar and pippki.jar. For the regular browser, the makefiles put PSM locale in en-US.jar. I see that embedding uses embed.jar for locale storage. Do we need to change PSM builds to put its locale there for embedding?
No, for the moment you have to update mozilla/embedding/config/embed-jar.mn adding the files that must be taken from en-US and repackaged into embed.jar for PSM to work. I have a check-in pending that runs a script to generate this file but for the moment the manifest must be updated manually.
The problem here isn't only in embedding, and I suspect if we fix the problem in Mozilla it may fix embedding for free, although perhaps not...
I believe the mozilla installers are fine, it's the commercial Netscape installers that have the problem. Adam: To fix the embedding crash, I should just append the PSM content and locale files to embed-jar.mn? How do I determine which PSM content and locale files embedding uses, as I assume it can't be using all of them.
For the moment embedding is happy to have all PSM chrome present in its distribution. We list pippki.jar and pipnss.jar in basebrowser-unix & basebrowser-win and copy them straight across, but if you add files to other jar files you need to list them in embed-jar.mn so they get built into embed.jar. Just append the appropriate entries to the bottom of that file. Also, if this other chrome constitutes a package (i.e has its own contents.rdf) then you need to add an entry to installed-chrome.txt to say the package is in embed.jar.
If you look at embed-jar.mn we currently have an entry for the following: locale/en-US/communicator/security.properties (en-US/locale/en-US/communicator/security.properties) As David Baron points out above it seems to be failing when trying to access "chrome://pipnss/locale/pipnss.properies" all we may need to do is to add the following to embed-jar.mn: locale/en-US/communicator/pipnss.properties (en-US/locale/en-US/communicator/pipnss.properties) If there are additional new pip*.properties files which were introduced recently they need to be added as well. I have a build going on right now. Will try it once it's done.
Ddrinan has fix in hand, downgrading to critical to get tree open.
Severity: blocker → critical
windows commercial 2001-07-11-07-trunk okay now. marking fixed
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Verified.
Status: RESOLVED → VERIFIED
Mass changing Security:Crypto to PSM
Component: Security: Crypto → Client Library
Product: Browser → PSM
Version: other → 2.1
Mass changing Security:Crypto to PSM
Product: PSM → Core
Version: psm2.1 → 1.0 Branch
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.