You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "lujie (JIRA)" <ji...@apache.org> on 2018/04/30 12:06:00 UTC

[jira] [Updated] (STORM-3051) some Potential NPEs

     [ https://issues.apache.org/jira/browse/STORM-3051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

lujie updated STORM-3051:
-------------------------
    Summary: some  Potential NPEs   (was: somePotential NPEs )

> some  Potential NPEs 
> ---------------------
>
>                 Key: STORM-3051
>                 URL: https://issues.apache.org/jira/browse/STORM-3051
>             Project: Apache Storm
>          Issue Type: Bug
>            Reporter: lujie
>            Priority: Major
>
> We have developed a static analysis tool [NPEDetector|https://github.com/lujiefsi/NPEDetector] to find some potential NPE. Our analysis shows that some callees may return null in corner case(e.g. node crash , IO exception), some of their callers have  _!=null_ check but some do not have. 
> *Bug:*
> 1.  callee CgroupCenter#getSubSystems return null when meet exception:
> {code:java}
> } catch (Exception e) {
> LOG.error("Get subSystems error {}", e);
> }
> return null;
> {code}
> but its caller use it without check:
> {code:java}
> public boolean isSubSystemEnabled(SubSystemType subSystemType) {
>   Set<SubSystem> subSystems = this.getSubSystems();
>   for (SubSystem subSystem : subSystems) {
>      if (subSystem.getType() == subSystemType) {
>      return true;
>   }
>   }
>   return false;
> }{code}
> 2. callee RAS_Node#getUsedSlots and caller RAS_Node#totalSlotsUsed have same problem
> 3. CgroupCenter#getHierarchies and caller CgroupCenter#isMounted, CgroupCenter#getHierarchyWithSubSystems



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)