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)