deftjs / DeftJS

Extensions for Large-Scale Sencha Touch and Ext JS Applications
http://deftjs.org/
MIT License
285 stars 56 forks source link

Sencha Cmd v4.0.0.203 hanging when "requires" : "deft@0.9.0?" added #126

Closed englishteeth closed 10 years ago

englishteeth commented 10 years ago

Adding "deft@0.9.0?" to the app.json "requires" as described in the "Adding Deft JS to Your Application" section of the wiki causes sencha cmd to hang on any operations on that app.

Nothing is created in the package directory. Tried with another from the package list ("ext-easy-button@1.0.0?") and that was added to the package directory.

sencha -d stops/stalls at

[DBG] Including code package deft for build [DBG] Resolving packages for : CSD [DBG] Checking pkg ext-theme-classic@4.2.1 against ext-theme-classic [DBG] Checking pkg deft@0.9.0 against deft@0.9.0 [DBG] Checking pkg deft@0.9.1 against deft@0.9.0 [DBG] Checking pkg ext-theme-classic@4.2.1 against ext-theme-classic@4.2.1 [DBG] Checking pkg ext-theme-neutral@4.2.1 against ext-theme-neutral [DBG] Checking pkg deft@0.9.0 against deft@0.9.1 [DBG] Checking pkg deft@0.9.1 against deft@0.9.1 [DBG] Checking pkg ext-theme-neutral@4.2.1 against ext-theme-neutral@4.2.1 [DBG] Checking pkg ext-theme-base@4.2.1 against ext-theme-base [DBG] Checking pkg ext-theme-classic@4.2.1 against ext-theme-classic@4.2.1 [DBG] Checking pkg ext-theme-neutral@4.2.1 against ext-theme-neutral [DBG] Checking pkg deft@0.9.1 against deft@0.9.1 [DBG] Checking pkg ext-theme-base@4.2.1 against ext-theme-base@4.2.1 [DBG] Checking pkg ext-theme-neutral@4.2.1 against ext-theme-neutral@4.2.1 [DBG] Checking pkg ext-theme-base@4.2.1 against ext-theme-base [DBG] Checking pkg ext-theme-classic@4.2.1 against ext-theme-classic@4.2.1 [DBG] Checking pkg ext-theme-neutral@4.2.1 against ext-theme-neutral [DBG] Checking pkg deft@0.9.1 against deft@0.9.1 [DBG] Resolved : ext-theme-base [DBG] Resolved : ext-theme-neutral [DBG] Resolved : ext-theme-classic [DBG] Resolved : deft

superstructor commented 10 years ago

Hi Ian,

Thanks for using Deft and reporting this issue.

What is the output of the command sencha repository list please ?

Also what is the output of the command sencha package list ?

Thanks

englishteeth commented 10 years ago

$ sencha repository list Sencha Cmd v4.0.0.203 [INF] Remote repository connections (2): [INF] [INF] sencha - http://cdn.sencha.com/cmd/packages/ [INF] deftjs - http://packages.deftjs.org/

$ sencha package list Sencha Cmd v4.0.0.203 [INF] Listing of global catalog [INF] Package deft [INF] 0.9.0, 0.9.1 [INF] Package ext-aria [INF] 1.0.0.31, 1.0.0.26, 1.0.0.86, 1.0.0.35 [INF] Package ext-easy-button [INF] 1.0.0 [INF] Package cmd-webdriver [INF] 1.0.0 [INF] Package ext-theme-aria [INF] 1.0.0.31, 1.0.0.86 [INF] Package ext-theme-neptune-charcoal [INF] 1.0.0.31 [INF] 6 package(s)

superstructor commented 10 years ago

That looks as expected.

Unfortunately I'm struggling to reproduce your issue locally.

I'm interested to find out what is different that is causing this so we can fix it for everyone, including you.

I just tested the following which removes my local copy of the deft package, clears the repo cache, removes the unpacked deft package from the workspace I'm testing in and re-fetches the package based on app.json during a sencha -d:

https://gist.github.com/superstructor/7031807

englishteeth commented 10 years ago

Just verified my Ruby version was correct at 1.9.3... but I notice your Java version is 1.7.0_25

Mine is 1.6.0_51 I wonder if that could be the root of it... not in a position to check/upgrade at moment unfortunately

brian428 commented 10 years ago

Not directly related, but if you weren't aware, Java 6 hit end of life many months ago. So there will be no more public updates or fixes. Meaning you probably want to make updating a priority. :-)

That said, it seems unlikely that the issue would be related to Java. Especially if it builds OK without including the Deft package, and builds OK if you include a different package such as the easy-button. If it was the Java version, I'd expect any build to fail.

brian428 commented 10 years ago

Wondering if it could be a connectivity issue. Ian, are you behind a firewall or anything?

Isaac, I tried to hit http://packages.deftjs.org/ directly but it just redirects to the home page. I assume there's some logic there somewhere that does this if the request didn't come from Cmd? Just wondering if there's some way to test that Cmd can actually reach the site.

superstructor commented 10 years ago

http://packages.deftjs.org is just static files in some pre-defined locations available over HTTP.

E.g. http://packages.deftjs.org/catalog.json has some catalog metadata.

The fact that Ian's sencha package list command lists remotely available Deft JS versions shows it is downloading the metadata in my opinion. As the list of Deft JS versions would not be available locally by default. What do you think ?

Its not ideal but in the meantime if this is holding up your work you can unpack the package manually in your workspace as it is just a ZIP file.

  1. download http://packages.deftjs.org/deft/0.9.1/deft.pkg
  2. rename .pkg to .zip
  3. unzip to my-workspace/packages/deft
  4. add ${workspace.dir}/packages/deft/src to the classpath in my-workspace/app-folder/.sencha/app/sencha.cfg
superstructor commented 10 years ago

@englishteeth Note if you manually unzip the package as per previous comment you can remove deft@0.9.0? from your requires array in app.json in the meantime until a fix is found.

We would still be very interested in finding the cause of this issue if/when you have time so it can be properly fixed.

superstructor commented 10 years ago

Although I didn't have the issue I do find the following lines I pasted on the GIST interesting:

[DBG] Checking certificate Deft JS (id=8e97d80f-9803-4760-99a3-4f4eede155a6)
[DBG] Certificate is expired

Yet http://packages.deftjs.org/cert.json

    "expires": "2018-06-26T00:00:00Z",

Strange ?

englishteeth commented 10 years ago

Java wise, it was straw clutching from me I'm afraid. I'm definitely aware 1.6 is dead and in the process of moving our project forward. (I keep telling myself)

I am behind a firewall, one of my first thoughts but I didn't see anything in the usual log, though I was just running again and found the following entry ing the intrusion prevent log

2013:10:17-22:21:56 homenet snort[26996]: id="2101" severity="warn" sys="SecureNet" sub="ips" name="Intrusion protection alert" action="drop" reason="FILE-OTHER Multiple products ZIP archive virus detection bypass attempt" group="500" srcip="176.32.101.140" dstip="192.168.2.102" proto="6" srcport="80" dstport="49896" sid="26989" class="Potentially Bad Traffic" priority="2" generator="1" msgid="0"

superstructor commented 10 years ago

@englishteeth good detective work! I think you found it re that intrusion prevention log entry.

Can you download http://packages.deftjs.org/deft/0.9.1/deft.pkg indepedently of Sencha Cmd via the same connection; e.g, in a web browser or via curl ? If you cannot thats a good indication it is the intrusion prevention.

superstructor commented 10 years ago

The srcip in that log entry resolves to Amazon S3 us-east-1 which is where packages.deftjs.org is hosted.

host 176.32.101.140
140.101.32.176.in-addr.arpa domain name pointer s3-website-us-east-1.amazonaws.com.
englishteeth commented 10 years ago

Temporarily killing my intrusion protection and its gone through.

I can only apologise for the wild goose chase.

superstructor commented 10 years ago

Good to hear!

No problem, nothing like a wild goose chase to start a Friday morning.

If you have any other issues or feedback on Deft JS please let us know.

Also if you have any improvements we enjoy seeing pull requests, especially when there are passing tests ;-)

Thanks for the assistance @brian428

Cheers