Error java.lang.NullPointerException

40 views
Skip to first unread message

Dilkhush Jha

unread,
May 9, 2020, 10:20:57 AM5/9/20
to iceusers
Hi Team,
I am getting below error while launching ice. i am using docker to launch app

Error java.lang.NullPointerException
ice_1    | | Error at java.util.Hashtable.put(Hashtable.java:460)
ice_1    | | Error at java.util.Properties.setProperty(Properties.java:166)
ice_1    | | Error at java_util_Properties$setProperty$1.call(Unknown Source)
ice_1    | | Error at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
ice_1    | | Error at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
ice_1    | | Error at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
ice_1    | | Error at BootStrap$_closure1.doCall(BootStrap.groovy:110)
ice_1    | | Error at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
ice_1    | | Error at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
ice_1    | | Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
ice_1    | | Error at java.lang.reflect.Method.invoke(Method.java:498)
ice_1    | | Error at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
ice_1    | | Error at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
ice_1    | | Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)
ice_1    | | Error at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)
ice_1    | | Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)
ice_1    | | Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1081)
ice_1    | | Error at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)
ice_1    | | Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)
ice_1    | | Error at groovy.lang.Closure.call(Closure.java:423)
ice_1    | | Error at groovy.lang.Closure.call(Closure.java:417)
ice_1    | | Error at grails.util.Environment.evaluateEnvironmentSpecificBlock(Environment.java:327)
ice_1    | | Error at grails.util.Environment.executeForEnvironment(Environment.java:320)
ice_1    | | Error at grails.util.Environment.executeForCurrentEnvironment(Environment.java:296)
ice_1    | | Error at org.codehaus.groovy.grails.commons.DefaultGrailsBootstrapClass.callInit(DefaultGrailsBootstrapClass.java:60)
ice_1    | | Error at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.executeGrailsBootstraps(GrailsConfigUtils.java:78)
ice_1    | | Error at org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener.initWebApplicationContext(GrailsContextLoaderListener.java:110)
ice_1    | | Error at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
ice_1    | | Error at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4728)
ice_1    | | Error at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5162)
ice_1    | | Error at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
ice_1    | | Error at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
ice_1    | | Error at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
ice_1    | | Error at java.util.concurrent.FutureTask.run(FutureTask.java:266)
ice_1    | | Error at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
ice_1    | | Error at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
ice_1    | | Error at java.lang.Thread.run(Thread.java:748)
ice_1    | | Error 2020-05-09 10:04:19,778 [localhost-startStop-1] ERROR BootStrap  - Startup failed
ice_1    | Message: null
ice_1    |     Line | Method
ice_1    | ->>  460 | put                              in java.util.Hashtable
ice_1    | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
ice_1    | |    166 | setProperty                      in java.util.Properties
ice_1    | |    110 | doCall . . . . . . . . . . . . . in BootStrap$_closure1
ice_1    | |    327 | evaluateEnvironmentSpecificBlock in grails.util.Environment
ice_1    | |    320 | executeForEnvironment . . . . .  in     ''
ice_1    | |    296 | executeForCurrentEnvironment     in     ''
ice_1    | |    266 | run . . . . . . . . . . . . . .  in java.util.concurrent.FutureTask
ice_1    | |   1149 | runWorker                        in java.util.concurrent.ThreadPoolExecutor
ice_1    | |    624 | run . . . . . . . . . . . . . .  in java.util.concurrent.ThreadPoolExecutor$Worker
ice_1    | ^    748 | run                              in java.lang.Thread
docker-ice_ice_1 exited with code 0









Below is my ice.properties

# Set to true to start processor
ice.processor=true

# Set to true to start reader/UI
ice.reader=true

# s3 bucket to store output files. AWS Credentials must have read/write access to the bucket
ice.work_s3bucketname=mybucket

# Region where the work bucket is located
ice.work_s3bucketregion=ap-southeast-1

# Prefix of Ice output files
#ice.work_s3bucketprefix=work/

# Number of worker threads for CUR processing and reader REST api services (default is 5)
ice.numthreads=5

########################
# Reader configuration #
########################
# Set to false to run aggregation only daily, weekly, monthly.
# Allows reader to run with much less memory
ice.hourlyData=true

# Enable tag coverage metrics: none, basic, withUserTags - uses more memory
# must have at least the coverage specified generated by the processor
ice.tagCoverage=none

# The highstock url; host it somewhere else and change this if you need HTTPS


# Your company name to display in the UI
ice.companyName=company name

# Local directory for Ice reader (directory must exist)
ice.reader.localDir=/mnt/ice_reader

# Monthly data cache size for Ice reader
ice.monthlycachesize=12

# A short alert or notice to place in the header of the dashboard pages
ice.notice=

###########################
# Processor configuration #
###########################
# If running in AWS, whether or not to only run a single processor pass
# will stop instance when done processing
ice.processOnce=false

# Month to start processing billing files (YYYY-MM)
ice.startMonth=2017-06

# Local directory for Ice processor (the directory must exist.)
ice.processor.localDir=/mnt/ice_processor

# Set to true to start reservation capacity poller
ice.reservationCapacityPoller=false

# Set to true to break out family reservation usage as separate operation type
ice.breakoutFamilyReservationUsage=false

# Enable the creation of data files that can be imported into services (i.e. ElasticSearch)
# Multiple formats can be specified separated by ","
#  - hourly - generate hourly newline delimited JSON records - one record per line
#  - hourlyRI - generate hourly newline delimited JSON records with RI rates for product/operations that offer reserved instances
#  - daily - generate daily newline delimited JSON records - one record per line
ice.writeJsonFiles=

# Enable tag coverage metrics (uses memory)
#  - none
#  - basic
#  - withUserTags
ice.tagCoverage=none

# Default reservation period
# - oneyear
# - threeyear
ice.reservationPeriod=oneyear

# Default reservation utilization
# - HEAVY
# - PARTIAL
ice.reservationUtilization=PARTIAL

#########################
# Billing configuration #
#########################
# For multiple payer accounts and/or if you need both detailed billing and cost and usage reports supported
# you will need to specify multiple values for each property. Multiple are delimited by ",".

# s3 bucket where the billing files are. AWS Credentials must have read/write access to the bucket
ice.billing_s3bucketname=mybucket

# Region where the billing s3 bucket is located (it should be specified for buckets using v4 validation)
ice.billing_s3bucketregion=ap-southeast-1

# Prefix of the billing files
ice.billing_s3bucketprefix=,

# Your payer account id here
ice.billing_payerAccountId=123456789012


# The assumed role name here if you use IAM role access to read from billing s3 bucket.
# - "ice.billing_accessRoleName=,ice" means assumed role access is only used for the second bucket.
#ice.billing_accessRoleName=,ice

# External id if you are using one if not you can leave this property unset.
#ice.billing_accessExternalId=

# Root name for organization used in account parents path. If not set, a root name is not given. Most useful with multiple payer accounts.
#ice.rootName=Org1,Org2

#######################################################
# Kubernetes reports enable breakout of costs by tag. #
#######################################################
# Report config usage is the same as for billing reports above except in this case accountId is optional if cross-account access is not used
#ice.kubernetes_s3bucketname=kubernetes_s3bucketname1,kubernetes_s3bucketname2
#ice.kubernetes_s3bucketregion=eu-west-1,eu-central-1
#ice.kubernetes_s3bucketprefix=,
#ice.kubernetes_accountId=,123456789012
#ice.kubernetes_accessRoleName=,ice
#ice.kubernetes_accessExternalId=

# Set to true to use blended rates and cost
ice.use_blended=true

# The month in which you switched from using detailed billing reports to cost and usage reports.
# - Format: YYYY-MM
# - Cannot be earlier than 2017-07
# - RDS instance reservation IDs aren't correct in the reports until 2017-10.
ice.costAndUsageStartDate=2017-10

# Controls when to switch to using NetUnblended values for rate and cost calculations.
# - Cannot be earlier than 2019-01
# - Setting this value will override the "use_blended" flag above
ice.costAndUsageNetUnblendedStartDate=2019-01

# If NetUnblended is being used, amortization of Upfront RI payments must also include the full EDP discount. Because ICE doesn't use the subscription fee lineitem
# to compute the upfront payments, we must specify discount rate that must be applied to the list price.
# If using CURs starting in 2019-01, the RI amortization and recurring fees are pulled from the DiscountedUsage line items.
# Prior to that, the costs are computed based on the price list data and the edpDiscounts values defined here.
# discount is specified by a comma separated set of start dates at percentage of the form yyyy_mm:%,yyyy_mm:%
ice.edpDiscounts=2019-01:5

# Specify your custom tags. Multiple tags are delimited by ",". 
# - Limit the number of unique value combinations from your custom tags (< 100) otherwise Ice performance will be greatly affected.
# - This list should NOT include aliases that will be consolidated by the tagKey list below.
# - If specified, BasicResourceService will be used to generate resource groups for you.
ice.customTags=Name

# Tags to include for code coverage dashboard
#ice.additionalTags=tag3

# The following settings are specified in the in the billing data folder as ice_config.json or ice_config.yaml
#  - Tag name consolidation/aliasing
#  - Tag value consolidation/aliasing
#  - Kubernetes configuration
# See ice_config.sample for an example
#

# Account settings are pulled from the AWS Organizations Service, but can be overridden here for backward compatibility.
#
# change the follow account settings - these are automatically pulled from the organizations API
#   an ICE-specific name can be applied by setting the tag "IceName"
#ice.account.account1=123456789011
#ice.account.account2=123456789012
#ice.account.account3=123456789013

# set reservation owner accounts and the products for which they have reservations
#   These can be pulled from the account tag "IceRiProducts". Product names are separated by '+' for tag values (e.g. "ec2+rds")
# possible values are ec2, rds, redshift, es, ec
#ice.owneraccount.account1=ec2,redshift,rds

# if reservation capacity poller needs to use IAM role to access ec2 API, set the assumed role here for each reservation owner account
# These values can be pulled from the account tag "IceRole"
#ice.owneraccount.account1.role=ice
#ice.owneraccount.account2.role=ice
#ice.owneraccount.account5.role=ice

# if reservation capacity poller needs to use IAM role to access ec2 API and external id is used, set the external id here for each reservation owner account. otherwise you can leave it unset.
# These values can be pulled from the account tag "IceExternalId"
#ice.owneraccount.account1.externalId=
#ice.owneraccount.account2.externalId=
#ice.owneraccount.account5.externalId=


Nicolas Fonrose

unread,
May 9, 2020, 4:26:32 PM5/9/20
to Dilkhush Jha, iceusers
Hi,

You might need to define the Bucket Prefix property (even to an empty value).
In your properties files it's commented out

ice_1    | | Error at BootStrap$_closure1.doCall(BootStrap.groovy:110)

The NullPointerException comes from the line that gets this property.

Nicolas

--
Nicolas Fonrose | Teevity | Founder
https://teevity.com - Cloud Costs Analytics for AWS, GCP and Azure powered by NetflixOSS Ice
twitter - @nfonrose / @teevity



--
You received this message because you are subscribed to the Google Groups "iceusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iceusers+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/iceusers/bdd06e9e-3ce5-4228-b8c1-d66a4cc3c0cc%40googlegroups.com.

Dilkhush Jha

unread,
May 10, 2020, 5:27:34 AM5/10/20
to iceusers
Hi Nicolas Fonrose,
Thanks for reply issue is resolve, now I am getting below error. looks like it's searching for ice_config.json file where can i get this file

INFO  processor.ProcessorConfig  - Look for data config: mybucket, ap-southeast-1, bills/ice_config, 123456789012
ice_1    | | Error java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
ice_1    | | Error at java.util.LinkedList.checkElementIndex(LinkedList.java:555)
ice_1    | | Error at java.util.LinkedList.get(LinkedList.java:476)
ice_1    | | Error at com.netflix.ice.processor.ProcessorConfig.readBillingDataConfig(ProcessorConfig.java:557)
ice_1    | | Error at com.netflix.ice.processor.ProcessorConfig.processBillingDataConfig(ProcessorConfig.java:504)
ice_1    | | Error at com.netflix.ice.processor.ProcessorConfig.<init>(ProcessorConfig.java:141)
ice_1    | | Error at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
ice_1    | | Error at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
ice_1    | | Error at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
ice_1    | | Error at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
ice_1    | | Error at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
ice_1    | | Error at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
ice_1    | | Error at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57)
ice_1    | | Error at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
ice_1    | | Error at BootStrap$_closure1.doCall(BootStrap.groovy:191)
ice_1    | | Error 2020-05-10 14:51:16,776 [localhost-startStop-1] ERROR BootStrap  - Startup failed
ice_1    | Message: Index: 0, Size: 0
ice_1    |     Line | Method
ice_1    | ->>  555 | checkElementIndex                in java.util.LinkedList
ice_1    | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
ice_1    | |    476 | get                              in     ''
ice_1    | |    557 | readBillingDataConfig . . . . .  in com.netflix.ice.processor.ProcessorConfig
ice_1    | |    504 | processBillingDataConfig         in     ''
ice_1    | |    141 | <init> . . . . . . . . . . . . . in     ''
ice_1    | |    191 | doCall                           in BootStrap$_closure1
ice_1    | |    327 | evaluateEnvironmentSpecificBlock in grails.util.Environment
ice_1    | |    320 | executeForEnvironment            in     ''
ice_1    | |    296 | executeForCurrentEnvironment . . in     ''
ice_1    | |    266 | run                              in java.util.concurrent.FutureTask
ice_1    | |   1149 | runWorker . . . . . . . . . . .  in java.util.concurrent.ThreadPoolExecutor
ice_1    | |    624 | run                              in java.util.concurrent.ThreadPoolExecutor$Worker
ice_1    | ^    748 | run . . . . . . . . . . . . . .  in java.lang.Thread
docker-ice_ice_1 exited with code 0
To unsubscribe from this group and stop receiving emails from it, send an email to iceu...@googlegroups.com.

dilkhu...@games24x7.com

unread,
Jun 22, 2020, 7:00:33 AM6/22/20
to iceusers
any update on this

Nicolas Fonrose

unread,
Jun 22, 2020, 9:27:23 AM6/22/20
to dilkhu...@games24x7.com, iceusers
Hi.

No, not really.  We actually don't know how to help (it looks like a configuration issue but we don't know which one).

Looking at the line numbers, it looks like you're not using the latest version of Jim Roth's fork.
Can you try the latest version? It may have additional protection.

Nicolas

--
Nicolas Fonrose | Teevity | Founder
https://teevity.com - Cloud Costs Analytics for AWS, GCP and Azure powered by NetflixOSS Ice
twitter - @nfonrose / @teevity


To unsubscribe from this group and stop receiving emails from it, send an email to iceusers+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/iceusers/4a602eb7-c3dd-428b-832e-45f9ec22a557n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages