Closed Bug 308700 Opened 20 years ago Closed 20 years ago

Application hang on install of security certificate

Categories

(Camino Graveyard :: Security, defect, P1)

PowerPC
macOS
defect

Tracking

(Not tracked)

RESOLVED FIXED
Camino1.0

People

(Reporter: edsbugs, Assigned: sfraser_bugs)

References

()

Details

(Keywords: fixed1.8, hang)

Attachments

(1 file)

User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050914 Camino/1.0a1 Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050914 Camino/1.0a1 If you follow the instructions below. A dialog pops up saying "Generating key pair for certificate". This dialog stays on the screen and doesn't go away. After 15 minutes I tried to cancel the dialog using the "Cancel" button, but the dialog stayed on the screen. Had to "Force Quit" Camino to be able to use it again. This works in FF 1.5Beta1 and in Safari 412+ Reproducible: Always Steps to Reproduce: 1. Go to service.sap.com 2. Click on "Benefit from single sign on" in the bottom right corner. 3. Click on the "apply for SAP passport button". 4. Enter your username and password (please e-mail me for this when you need it) 5. Re-Confirm your password 6. click on "Apply for SAP Passport. Actual Results: The key pair dialog stayed on the screen and couldn't be cancelled Expected Results: Installed a certificate into the certificate manager
Severity: normal → critical
Keywords: hang
I'll investigate.
Assignee: dveditz → sfraser_bugs
Priority: -- → P1
Target Milestone: --- → Camino1.0
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Two problems here: 1. The PLEvent that handled the proxied Observer notification that the keygen finished is not propagating, for some reason. This works on cacert.org, so I don't know why it doesn't work here. 2. The cancel button in the dialog is not wired up :)
Flags: camino1.0+
(In reply to comment #2) > Two problems here: > 1. The PLEvent that handled the proxied Observer notification that the keygen > finished is not propagating, for some reason. This works on cacert.org, so > I don't know why it doesn't work here. Tricky one. What I think is happening is that the entire cert generation process is already happening on a PLEvent callback (it's a OnLinkClickEvent()), so the PLEvent that notifies of keygen completion is delayed until we're off that stack. We might have to have a nested event loop here, or some manual processing. > 2. The cancel button in the dialog is not wired up :) Easily fixed.
Attached patch PatchSplinter Review
The PLEvent fix is to use nsIEventQueueService::PushThreadEventQueue to push a new event queue while running the modal dialog, so that the PLEvent for the proxied "Observe" callback comes on that new queue, so that we don't care if we're already in the midst of processing PLEvents higher up the stack.
Fixed on trunk and branch.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Keywords: fixed1.8
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: