Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 337739

Summary: code assists hang when you type anything with XHTML MP 1.2 DOCTYPE
Product: [WebTools] WTP Source Editing Reporter: goikoes
Component: wst.xmlAssignee: Nick Sandonato <nsand.dev>
Status: RESOLVED NOT_ECLIPSE QA Contact: Nitin Dahyabhai <thatnitind>
Severity: major    
Priority: P3 CC: nsand.dev, prakash, thatnitind
Version: unspecified   
Target Milestone: 3.3   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description goikoes CLA 2011-02-21 11:39:22 EST
Build Identifier: 20110213-1648

Whwn you try to type a tag the code assist hangs. Whwn you only puts a '<' character then you can see the pop-up window with suggestion but it hangs eclipse at all.
I have been getting crazy because it has been occurring on this settings:
·Galileo on Ubuntu
·Helios on Ubuntu
·Helios on windowsXP

It fixes when you puts the 1.1 intead the 1.2 version

It crash:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN"
        "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">
It works fine:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.1//EN"
        "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd">

Reproducible: Always

Steps to Reproduce:
1.Put <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN"
        "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"> on a HTML document
2.Try to write a new tag (like <link>)
Comment 1 Prakash Rangaraj CLA 2011-02-21 11:56:47 EST
I assume you are using xml editors from WTP
Comment 2 goikoes CLA 2011-02-21 12:28:46 EST
Yes, but the last time I try with the last version (Rc2) "Eclipse IDE for Java EE Developers" without installing nothing and it crashes too.
Comment 3 Nitin Dahyabhai CLA 2011-02-21 13:16:52 EST
Is there any kind of HTTP proxy or firewall that Eclipse would have to go through if it needed to retrieve that DTD?
Comment 4 goikoes CLA 2011-02-22 02:53:47 EST
(In reply to comment #3)
> Is there any kind of HTTP proxy or firewall that Eclipse would have to go
> through if it needed to retrieve that DTD?

No, it´s no the problem because i can retrieve the dtd on the browser and eclipse haven´t any problem to catch the 1.1 version. In fact i think that eclipse (o the editor code assists) reads the DTD because it shows the pop-up with the possible options but then it hangs eclipse. I think that it´s waiting for something that never comes.
Comment 5 Nick Sandonato CLA 2011-02-22 15:38:12 EST
I can reproduce the hang for mobile1.2. However, this isn't a reoccurring problem if the hang is allowed to finish. When we are loading the content model, the xhtml-mobile.dtd is retrieved and entities are resolved. In that process, 30+ files have to be downloaded and stored in the cache. I believe this is why you see the hang. In particular, it seems like xhtml-special.ent is taking an extremely long time to download.

Because this will eventually complete and in the future the dtd and entities are cached, I'm downgrading this to 'major'. If you're still seeing this problem even after allowing the hang to run its course, check your caching preferences to make sure you have caching enabled (Window > Preferences : General > Network Connections > Cache).
Comment 6 Nick Sandonato CLA 2011-02-22 16:04:15 EST
We're dependent on having these resources available to us in order to generate a content model. The time it's taking to return these resources is out of our control. Once, we have these cached locally, performance is nominal.
Comment 7 goikoes CLA 2011-02-23 03:13:03 EST
(In reply to comment #6)
> We're dependent on having these resources available to us in order to generate
> a content model. The time it's taking to return these resources is out of our
> control. Once, we have these cached locally, performance is nominal.

You are rigth. It takes 10 minutes but now eclipse works normally. I can see all the document that it have downloaded in the cache. 
I will be more patient in the future.

Thanks a lot. Good Job.