英伟达财报再次“拯救世界”,“造富神话”还会继续吗?
原创 王茜茜 | 2024-08-29 19:51
【数据猿导读】 美国东部时间周三收盘后,英伟达公布了今年二季度的财报:营收达300.4亿美元,较去年同期增长了 122%,超过分析师普遍预期的287亿美元;净收入更是从去年同期的61.8亿美元激增至166亿美元,翻了一倍多。

美国东部时间周三收盘后,英伟达公布了今年二季度的财报:营收达300.4亿美元,较去年同期增长了 122%,超过分析师普遍预期的287亿美元;净收入更是从去年同期的61.8亿美元激增至166亿美元,翻了一倍多。
(CNBC对英伟达财报的报道)
这个结果让“神经紧绷”的美股投资者们终于松了一口气。
毕竟,盘前市场对英伟达还是充满了不确定性:股价从年初至今已经上涨了150%,还能再涨多少?连续几个季度都超预期的财报是否还能继续保持?“AI热潮”已经持续了这么久,利好是否已经完全反映在股价中了?再加上美国经济衰退的预期不停地被提起,英伟达的业务能否不受影响?
在周三的一份报告中,美国知名的投资研究和咨询公司Bespoke Investment Group写道:“英伟达的营收报告已成为全球最重要的财经新闻事件,美联储官员一定很紧张。”
这是因为市值3万亿美元的英伟达在标准普尔500指数中的权重高达7%,它的波动会对大盘产生相当大的影响。根据Bespoke Investment Group的计算,如果英伟达股票单日波动8.1%,标准普尔500指数将波动0.5%。
所以在英伟达发布财报的日子,无论机构还是散户都高度紧张,毕竟股价波动起来那可是要命。
财报发布之前,一些“网红”就开始在推特上玩起梗起来:
“如果英伟达财报不及预期,宇宙就爆掉了。”
“如果英伟达财报不及预期,地球万物就完蛋了。”
还好,因为超预期的财报,宇宙不会“爆炸”了,地球上的生物也都安全了。
细分来看,英伟达各业务线的收入如下:
数据中心:营收达263亿美元,同比增长154%,超出分析师预期的251亿美元,上一季度同比增长更是高达427%。
游戏和AI PC:营收为29亿美元,同比增长16%,略低于前一季度的同比增长18%。
专业可视化:营收4.54亿美元,同比增长20%,相比前一季度45%的同比增长有所放缓。
汽车和机器人:营收3.46亿美元,同比增长37%,较前一季度11%的同比增长大幅提升。
该公司还提供了第三季度营收预期,为325亿美元,高于分析师预期的319 亿美元。此外,一项500亿美元的股票回购计划也被摆在了“牌桌”上。
为什么看似“亮眼”的财报数据,却导致盘后股价大幅下跌?
英伟达一季度财报显示,营收较上一季度增长18%,较去年同期增长高达262%。
相比之下,二季度的表现逊色不少,公司对三季度的指引也显得保守——预计营收增长最高可达83%,这是六个季度以来首次低于100%的增长。尽管这个数字超过了华尔街的预期,但与上一季度的强劲表现相比,市场可能仍会感到失望。
500亿美元的股票回购计划也引发了一些担忧。
对股东来说股票回购是利好,因为它有助于稳定或者提升股价。但对于仍处于高速增长期的英伟达来说,或许不是最佳信号。彭博社评论员指出,通常只有像苹果、微软这样已进入成熟阶段的公司才会进行大规模回购,这可能暗示英伟达在寻找新的投资机会时遇到了一些挑战。
(彭博社评论员对英伟达股票回购进行点评)
与此同时,备受期待的下一代AI芯片——Blackwell,目前正面临生产上的困难。
Blackwell由英伟达在今年3月提出,并被市场冠以“地表最强AI芯片”之称。8月初,彭博社报道称Blackwell在生产过程中遇到了工程障碍,预计其上市时间将推迟。
在今天的财报中,英伟达承认目前正在积极改进Blackwell芯片的制造流程,以提升良品率,确保这款关键芯片能够按计划推向市场。公司对Blackwell的市场需求充满信心,并预计第四季度该产品将带来“数十亿美元”的收入。
另一方面,一些投资者开始担心,当前正在建设的AI基础设施可能超出了实际需求,或将导致英伟达未来的增长空间受限。
英伟达的大部分收入依赖于其VIP客户群体——约40%的收入来自于微软、谷歌和Meta等大型数据中心运营商。这些科技巨头近期纷纷在财报中表示计划进一步增加AI领域的支出:
Meta预计全年资本支出将在370亿至400亿美元之间,相较上一季度的指引上限提高了20亿美元。微软预计2025财年的资本支出将超过2024年的560亿美元。谷歌则预计,今年每季度的资本支出将“达到或超过”120亿美元,占其总销售额的17%。
在市场热情高涨的时期,企业往往会倾向于过度投资以占据市场先机。虽然这些投入在短期内推动了英伟达的业绩增长,但从长期来看,如果AI的发展速度未能如预期那样迅速,或者如果技术路线出现变化,那么这些过度建设的基础设施可能难以得到充分利用,进而导致英伟达的增长空间将面临压力。
种种迹象表明,投资者对这次“看似完美”的财报依然不满,进而引发了股价的下跌。
英伟达的“造富神话”还会不会继续?
自2019年以来,英伟达的股票上涨了3776%,手握大量RSU的员工因此一夜暴富,成为百万富翁甚至千万富翁。(RSU,全称Restricted Stock Unit,是公司给予员工的股票奖励,需满足特定条件后方可解禁并转为可交易的股票。)
在小红书和留学求职论坛一亩三分地上,时常能看到自称英伟达员工的网友“炫耀”他们的RSU翻了多少倍,进而考虑购买300万美元的学区房或一年只去几次的度假屋——这些话题已远超普通科技公司员工的日常讨论。
在私下的码农聚会中,若有人提到自己来自英伟达,大家往往会调侃说:“你肯定发财了。”
如果你不认识任何在英伟达工作的朋友,但想有对这种财富的暴涨有更直观的感受,可以去英伟达位于加州Santa Clara总部的停车场里逛逛:这里停靠着不少像保时捷、科尔维特、兰博基尼等品牌的豪车,而几年前这里几乎全是经济适用型车。
在生成式AI崛起之前,头部芯片公司的薪酬、福利和股票激励通常不及Meta、谷歌、亚马逊和微软等顶级软件公司,甚至还不如一些明星软件创业公司。因此,程序员们更倾向于加入软件行业。
有趣的是,按照收入、成长空间和公司前景等指标,程序员社区曾对科技公司有一个默认排名,即Meta>谷歌>亚马逊>微软>所有芯片公司(包括英伟达)。
而现在,这个排名心照不宣地变成了英伟达>Meta>谷歌>亚马逊>微软。
2017年,当Lee在美国获得计算机硕士学位时,他的同学们几乎没有人考虑加入英伟达等芯片公司。大多数人的首选是谷歌或Meta。即便是电子工程(EE)专业的同学,也因为芯片行业的待遇偏低、岗位有限,纷纷“转码”进入了软件公司。
随着生成式AI的崛起,英伟达成为了这一浪潮的最大受益者,形势才发生了逆转。飙升的股价让英伟达能够提供更丰厚的“包裹”来吸引顶尖人才,越来越多的人才开始认为英伟达的前景优于大型软件公司,视其为更好的职业选择。
这也使得持有RSU(限制性股票单位)的员工更有动力留在公司,因为他们的资产还会继续升值。
Lee当年因为缺乏更好的offer而选择了英伟达,但他没想到,当时的“无奈选择”竟成了如今的“得意之举”。“我的RSU并不多,所以我一直没卖,没想到几年下来收益颇丰。”他说道,“我身边还有一些同事靠着RSU实现了财务自由,但大家依然选择继续工作,因为未来还会有新的RSU授予。”
根据英伟达2024年可持续发展报告,2023年其员工离职率为5.3%,但在公司市值突破1万亿美元后,这一离职率几乎减半,降至2.7%。相比之下,整个半导体行业的离职率高达17.7%。
在Glassdoor上,员工对CEO黄仁勋的认可度也高达94%,超过了谷歌CEO的84%、苹果CEO的80%、Meta CEO的66%和亚马逊CEO的67%。
一定程度上企业的成长推动了收入的增长,也提升了员工对公司和创始人的满意度。那么,属于英伟达的“造富”神话还会继续吗?
或许不再像过去那样轻松。因为在财报中,我们也看到了这家GPU巨头对于下一季度指引的收紧,三位数的增长或许已经成为过去。
另一方面,主导云计算市场的亚马逊、谷歌和微软等公司正努力开发自有芯片,试图减少对英伟达的依赖。
来自其他芯片制造商的挑战也在加剧。作为全球第二大GPU制造商,AMD去年推出了Instinct系列的新版本,旨在挑战英伟达的市场主导地位。今年6月的台北国际电脑展(Computex)上,AMD首席执行官Lisa Su宣布,MI300 AI处理器的更新版本将在第四季度上市。英特尔同样在积极布局,力图在这一关键领域分一杯羹。
截至目前,这些努力尚未能撼动英伟达在AI芯片领域的主导地位。根据市场研究公司IDC的数据,英伟达在数据中心GPU市场的份额高达92%,牢牢占据市场霸主地位。
但长期看来,掌握GPU就意味着掌握了AI发展的先机,这始终是一块兵家必争之地。大科技公司不会允许自己过度依赖一家供应商,而是会分散风险。芯片行业的竞争对手也不会甘心在这场浪潮中完全落败,他们将竭尽全力夺取英伟达的市场份额。
种种因素都预示着英伟达未来的道路将更加具有挑战性。
不过市场上依然有许多看好的声音。比如,在财报发布之前,彭博社跟踪的74位华尔街分析师中,有66位建议继续买入英伟达股票,没有人建议出售。根据他们设定的平均目标价,英伟达一年后的市值预计将达到约3.5万亿美元。
资深科技投资者、英伟达的早期支持者James Anderson甚至预测,Nvidia十年后的市值可能达到49万亿美元,略高于目前标准普尔500指数中大型美国公司的总市值。他认为,只要公司能够在当前约60%的营业利润率下保持60%的年销售额增长,并辅以合理的现金流假设,这一目标并非遥不可及。
你认为在未来十年,英伟达的“造富”神话还能延续吗?
来源:数智猿
刷新相关文章
我要评论
不容错过的资讯
-
1第十四届智慧城市与智能经济博览会 倒计
-
2IBM中国千人大裁员,只因一个印度籍CEO的
-
3【评委确认】张世翔 上海健康医学院教授
-
4【评委确认】王天刚 乖宝宠物首席数智官
-
5AI生成的代码正在把程序员逼到“崩溃”
-
FreeMarker template error:
The following has evaluated to null or missing:
==> a.shortTitle [in template "WEB-INF/t/cms/www/default/include/right_news.html" at line 77, column 54]
Tip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??
The failing instruction (FTL stack trace):
----------
==> #if a.shortTitle?length lt 19 [in template "WEB-INF/t/cms/www/default/include/right_news.html" at line 77, column 49]
#else [in template "WEB-INF/t/cms/www/default/include/right_news.html" at line 76, column 41]
@cms_content_list count="10" orderBy=... [in template "WEB-INF/t/cms/www/default/include/right_news.html" at line 59, column 25]
#include "../include/right_news.html" [in template "WEB-INF/t/cms/www/default/content/news.html" at line 292, column 9]
----------
Java stack trace (for programmers):
----------
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:98)
at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:382)
at freemarker.core.Expression.evalAndCoerceToString(Expression.java:115)
at freemarker.core.StringBuiltins$StringBuiltIn._eval(StringBuiltins.java:87)
at freemarker.core.Expression.eval(Expression.java:111)
at freemarker.core.EvalUtil.compare(EvalUtil.java:146)
at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:103)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.IfBlock.accept(IfBlock.java:84)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.MixedContent.accept(MixedContent.java:93)
at freemarker.core.Environment.visitByHiddingParent(Environment.java:286)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:193)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:509)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:103)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.Environment$1.render(Environment.java:313)
at com.hcrcms.cms.action.directive.ContentListDirective.execute(ContentListDirective.java:175)
at freemarker.core.Environment.visit(Environment.java:341)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:136)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.MixedContent.accept(MixedContent.java:93)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.Environment.include(Environment.java:1712)
at freemarker.core.Include.accept(Include.java:172)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.MixedContent.accept(MixedContent.java:93)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.Environment.process(Environment.java:243)
at freemarker.template.Template.process(Template.java:277)
at com.hcrcms.cms.staticpage.StaticPageDaoImpl.contentStatic(StaticPageDaoImpl.java:491)
at com.hcrcms.cms.staticpage.StaticPageSvcImpl.content(StaticPageSvcImpl.java:57)
at com.hcrcms.cms.staticpage.StaticPageSvcImpl.contentRelated(StaticPageSvcImpl.java:66)
at sun.reflect.GeneratedMethodAccessor1496.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy80.contentRelated(Unknown Source)
at com.hcrcms.cms.staticpage.ContentStaticPageListener.afterSave(ContentStaticPageListener.java:30)
at com.hcrcms.cms.manager.main.impl.ContentMngImpl.afterSave(ContentMngImpl.java:1084)
at com.hcrcms.cms.manager.main.impl.ContentMngImpl.save(ContentMngImpl.java:314)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy45.save(Unknown Source)
at com.hcrcms.cms.action.admin.main.ContentAct.save(ContentAct.java:783)
at com.hcrcms.cms.action.admin.main.ContentAct$$FastClassByCGLIB$$3c20fceb.invoke(
) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:701) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:634) at com.hcrcms.cms.action.admin.main.ContentAct$$EnhancerByCGLIB$$3730f72c.save( ) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838) at javax.servlet.http.HttpServlet.service(HttpServlet.java:555) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.TomcatFilter.doFilter(TomcatFilter.java:69) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:203) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:181) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:165) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:230) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.hcrcms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:35) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:388) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:936) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.lang.Thread.run(Thread.java:748)