{"action":"created","issue":{"url":"https://api.github.com/repos/waf-project/waf/issues/1578","labels_url":"https://api.github.com/repos/waf-project/waf/issues/1578/labels{/name}","comments_url":"https://api.github.com/repos/waf-project/waf/issues/1578/comments","events_url":"https://api.github.com/repos/waf-project/waf/issues/1578/events","html_url":"https://github.com/waf-project/waf/pull/1578","id":81123633,"number":1578,"title":"Avoiding attribute errors for Fortran modules","user":{"login":"haraldkl","id":1296398,"avatar_url":"https://avatars.githubusercontent.com/u/1296398?v=3","gravatar_id":"","url":"https://api.github.com/users/haraldkl","html_url":"https://github.com/haraldkl","followers_url":"https://api.github.com/users/haraldkl/followers","following_url":"https://api.github.com/users/haraldkl/following{/other_user}","gists_url":"https://api.github.com/users/haraldkl/gists{/gist_id}","starred_url":"https://api.github.com/users/haraldkl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haraldkl/subscriptions","organizations_url":"https://api.github.com/users/haraldkl/orgs","repos_url":"https://api.github.com/users/haraldkl/repos","events_url":"https://api.github.com/users/haraldkl/events{/privacy}","received_events_url":"https://api.github.com/users/haraldkl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-05-26T20:30:18Z","updated_at":"2015-05-27T05:34:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/waf-project/waf/pulls/1578","html_url":"https://github.com/waf-project/waf/pull/1578","diff_url":"https://github.com/waf-project/waf/pull/1578.diff","patch_url":"https://github.com/waf-project/waf/pull/1578.patch"},"body":"Occasionally I end up with missing signature attribute errors in my Fortran projects after a failed compilation. The behavior is a little weird, and I can not provoke it with the Fortran example in the demos.\r\nHere is the backtrace of the occuring error:\r\n\r\nTraceback (most recent call last):\r\n  File \"/Users/klimach/Projects/apes/seeder/.waf-1.8.7-315a7b482a73bed5780df933adccfde1/waflib/Runner.py\", line 150, in task_status\r\n    return tsk.runnable_status()\r\n  File \"/Users/klimach/Projects/apes/seeder/.waf-1.8.7-315a7b482a73bed5780df933adccfde1/waflib/Tools/fc.py\", line 46, in runnable_status\r\n    ret=tsk.runnable_status()\r\n  File \"/Users/klimach/Projects/apes/seeder/.waf-1.8.7-315a7b482a73bed5780df933adccfde1/waflib/Tools/fc.py\", line 40, in runnable_status\r\n    return super(fc,self).runnable_status()\r\n  File \"/Users/klimach/Projects/apes/seeder/.waf-1.8.7-315a7b482a73bed5780df933adccfde1/waflib/Task.py\", line 313, in runnable_status\r\n    new_sig=self.signature()\r\n  File \"/Users/klimach/Projects/apes/seeder/.waf-1.8.7-315a7b482a73bed5780df933adccfde1/waflib/Task.py\", line 302, in signature\r\n    self.sig_implicit_deps()\r\n  File \"/Users/klimach/Projects/apes/seeder/.waf-1.8.7-315a7b482a73bed5780df933adccfde1/waflib/Task.py\", line 386, in sig_implicit_deps\r\n    if prev==self.compute_sig_implicit_deps():\r\n  File \"/Users/klimach/Projects/apes/seeder/.waf-1.8.7-315a7b482a73bed5780df933adccfde1/waflib/Task.py\", line 424, in compute_sig_implicit_deps\r\n    upd(k.get_bld_sig())\r\n  File \"/Users/klimach/Projects/apes/seeder/.waf-1.8.7-315a7b482a73bed5780df933adccfde1/waflib/Node.py\", line 471, in get_bld_sig\r\n    self.cache_sig=ret=self.sig\r\nAttributeError: sig\r\n\r\nSomehow, after (some) failed compilations, there seems to be a \"prev\" instance of the task available, but the *.mod file is missing and the corresponding node does not have a \"sig\" attribute. I am not sure, wether this should be fixed beforehand that this can never happen.\r\nBut catching the missing attributes here and causing a rescan of the dependencies seems to work fine.\r\n\r\nI guess, this is related to #1546."},"comment":{"url":"https://api.github.com/repos/waf-project/waf/issues/comments/105763146","html_url":"https://github.com/waf-project/waf/pull/1578#issuecomment-105763146","issue_url":"https://api.github.com/repos/waf-project/waf/issues/1578","id":105763146,"user":{"login":"haraldkl","id":1296398,"avatar_url":"https://avatars.githubusercontent.com/u/1296398?v=3","gravatar_id":"","url":"https://api.github.com/users/haraldkl","html_url":"https://github.com/haraldkl","followers_url":"https://api.github.com/users/haraldkl/followers","following_url":"https://api.github.com/users/haraldkl/following{/other_user}","gists_url":"https://api.github.com/users/haraldkl/gists{/gist_id}","starred_url":"https://api.github.com/users/haraldkl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haraldkl/subscriptions","organizations_url":"https://api.github.com/users/haraldkl/orgs","repos_url":"https://api.github.com/users/haraldkl/repos","events_url":"https://api.github.com/users/haraldkl/events{/privacy}","received_events_url":"https://api.github.com/users/haraldkl/received_events","type":"User","site_admin":false},"created_at":"2015-05-27T05:34:39Z","updated_at":"2015-05-27T05:34:39Z","body":"I don't know. I first thought it might be a concurrency problem, but it also happens with -j1. It might be due to some pre-processing I am doing: https://bitbucket.org/apesteam/treelm/src/6c00d235a1a5857f34a8e4d34b1ee0467cc5ee0d/external/coco.py?at=default, but it also happens for files without pre-processing. I'll need to dig further into it. However, it looks like there need to be at least 2 subsequent failed compilations, to provoke this behavior."}}