Closed Bug 237845 Opened 20 years ago Closed 20 years ago

WSDL bindings fail on Mozilla 1.7 beta

Categories

(Core Graveyard :: Web Services, defect, P1)

x86
Linux
defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.7final

People

(Reporter: darin.moz, Assigned: darin.moz)

References

()

Details

(Keywords: regression)

Attachments

(1 file)

My WSDL testcases are all failing using a trunk build (essentially 1.7 beta).

I'm getting the error: "Binding not found"

I'm using Tomcat 5.  All of these testcases worked fine in Mozilla 1.6 and (I
think) Mozilla 1.7 alpha.

I'll try to setup an external testcase for this bug.
Ok, testcase posted:

http://friedfish.homeip.net:8080/axis/test.html

This testcase just uses the Version web service that is included with Apache Axis.
Severity: normal → blocker
Flags: blocking1.7?
Priority: -- → P1
Target Milestone: --- → mozilla1.7beta
Darin, with that testcase, I get absolutely no output with builds from Nov 1,
2003 (pre-1.6) to March 6, 2004.  On March 6 we checked in code to actually fire
the onError event when an error happens, so in builds thereafter I see the error
message "Error-Failure loading" (which is not the same error as described in
comment 0, btw).  But in none of those builds do I get any of the output I
should be getting if the request were succeeding...
OK, the test case was bad... i replaced localhost with friedfish.homeip.net

i filed this bug against a different set of testcases that were unchanged and
worked fine with 1.6.  this test case is now corrected, and the problem still
exists.
data point:

i tested with this UA: "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Gecko/20040107" and it works fine.
Now that testcase succeeds for me with builds up through 2004-03-17-08 (I get
"Result from server: Apache Axis version: 1.1 Built on Oct 14, 2003 (05:14:46
PDT)").

I'm not saying there is no problem, just that that testcase is not showing it.  :(

In any case, we have builds on the ftp server going back to Feb 1, so anyone
seeing the problem should be able to narrow the regression range if it happened
after that.  If not, I have builds from before that that I could make available.
I'm able to repro with:

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7b) Gecko/20040316
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7b) Gecko/20040315 Firefox/0.8.0+

...using just the testcase given.  hmm :(
This looks to me like a regression from bug 218236. The way that we are creating
events here is flawed. 

DOMEvents created using the nsEventListnerManager::CreateEvent() method keep
pointers to the nsEvent that is passed in during constrution. Here, the nsEvent
is being allocated on the stack in nsXMLHttpRequest::CreateEvent() and thus dies
before the DOMEvent is actually dispatched. So, we end up looking at a bogus
place in memory when nsIDOMEvent::GetType() is called in WSDL code. The method
thus fails and the WSDL code can't figure out what happened. 

http://lxr.mozilla.org/seamonkey/source/extensions/webservices/wsdl/src/nsWSDLLoader.cpp#460

Before bug 218236, the events were allocated in the same method that dispatched
them, so this was not an issue. (nsIEventListnerManager::CreateEvent() really
needs some documentation that clarifies the funky ownership here.)

Also, the WSDL code should have been looking for errors from GetType(), which
would have made this easier to debug I guess.
Comment on attachment 144245 [details] [diff] [review]
Hack that restores the life time of the nsEvents to what it was earlier

doh.  r+sr=bzbarsky.  I wonder why it worked in my build... probably a matter
of what memory has or hasn't been stomped on...
Attachment #144245 - Flags: superreview+
Attachment #144245 - Flags: review+
Comment on attachment 144245 [details] [diff] [review]
Hack that restores the life time of the nsEvents to what it was earlier

Duh, yeah. Requesting approval for 1.7.
Attachment #144245 - Flags: approval1.7?
This patch makes things work again.
-> me for check-in
Assignee: web-services → darin
Target Milestone: mozilla1.7beta → mozilla1.7final
Comment on attachment 144245 [details] [diff] [review]
Hack that restores the life time of the nsEvents to what it was earlier

a=asa (on behalf of drivers) for checkin to 1.7
Attachment #144245 - Flags: approval1.7? → approval1.7+
fixed-on-trunk for 1.7 final
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Flags: blocking1.7?
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: