<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<base href="https://issues.jboss.org">
<title>Message Title</title>
</head>
<body class="jira" style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429">
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt" bgcolor="#f5f5f5">
<!-- header here -->
<tbody>
<tr>
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tbody>
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px" width="32"> <img id="header-avatar-image" class="image_fix" src="https://static.jboss.org/developer/gravatar/36a8488454ca55929f6ae7cec51513ba?d=mm&s=48" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top"> </td>
<td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="starksm64" id="email_starksm64" href="https://issues.jboss.org/secure/ViewProfile.jspa?name=starksm64" style="color:#3b73af;; color: #3b73af; text-decoration: none">Scott Stark</a> <strong>updated</strong> an issue </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px">
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-spacing: 0; border-collapse: separate">
<tbody>
<tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 15px; background-color: #ffffff; border-left: 1px solid #cccccc; border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly" height="10" bgcolor="#ffffff"> </td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff">
<table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tbody>
<tr>
<td class="page-title-pattern-first-line " style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"> <a href="https://issues.jboss.org/browse/WELD" style="color: #3b73af; text-decoration: none">Weld</a> / <a href="https://issues.jboss.org/browse/WELD-2511" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-146fc395-fdc8-4bf6-b37e-aa4d2ba7b6ca" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"></a> <a href="https://issues.jboss.org/browse/WELD-2511" style="color: #3b73af; text-decoration: none">WELD-2511</a> </td>
</tr>
<tr>
<td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://issues.jboss.org/browse/WELD-2511" style="color: #3b73af; text-decoration: none">JsonObjects#createBuiltInDependency produces NPE for Instance<?> injection sites</a> </span> </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td class="email-content-main mobile-expand wrapper-special-margin" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; padding-top: 10px; padding-bottom: 5px" bgcolor="#ffffff">
<table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tbody>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Change By:</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="starksm64" id="email_starksm64" href="https://issues.jboss.org/secure/ViewProfile.jspa?name=starksm64" style="color:#3b73af;; color: #3b73af; text-decoration: none">Scott Stark</a> </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td class="email-content-main mobile-expand issue-description-container" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; padding-top: 5px; padding-bottom: 10px" bgcolor="#ffffff">
<table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tbody>
<tr>
<td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0"> <span class="diffcontext">The weld-probe-core org.jboss.weld.probe.JsonObjects#createBuiltInDependency produces an NPE when a built-in bean is injected using Instance<?> as is the case with this thorntail site:<br><br></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br>{code:java}<br></span> <span class="diffcontext"> @Inject<br> private Instance<RuntimeDeployer> deployer;<br></span> <span class="diffaddedchars" style="background-color:#ddfade;">{code}</span> <span class="diffcontext"><br></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span> <span class="diffcontext">This ends up being handled by this block of code:<br></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br><br>{code:java}<br></span> <span class="diffcontext"> if (lazilyFetched != null && !Components.isBuiltinBeanButNotExtension(lazilyFetched)) {<br> JsonObjectBuilder lazilyFetchedDependency = createDependency(lazilyFetched, null, probe); // line 852<br> lazilyFetchedDependency.add(REQUIRED_TYPE, Formats.formatType(Components.getFacadeType(dependency.getInjectionPoint()), false)).add(QUALIFIERS,<br> createQualifiers(dependency.getInjectionPoint().getQualifiers(), false));<br> lazilyFetchedDependency.add(INFO, INFO_FETCHING_LAZILY);<br> lazilyFetchedDependency.add(IS_POTENTIAL, true);<br> builtInDependency.add(type, Json.arrayBuilder().add(lazilyFetchedDependency));<br> }<br></span> <span class="diffaddedchars" style="background-color:#ddfade;">{code}</span> <span class="diffcontext"><br></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span> <span class="diffcontext">and the call to createDependency(lazilyFetched, null, probe) at line 852 is guaranteed to produce an NPE on the next line when the lazilyFetchedDependency is used as the createDependency will only return a non-null JsonObjectBuilder if its dependency argument is not null:<br><br></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br>{code:java}<br></span> <span class="diffcontext"> private static JsonObjectBuilder createDependency(Bean<?> bean, Dependency dependency, Probe probe) {<br> JsonObjectBuilder builder = null;<br> if (bean != null && dependency != null) {<br> builder = createSimpleBeanJson(bean, probe);<br> builder.add(REQUIRED_TYPE, Formats.formatType(dependency.getInjectionPoint().getType(), false)).add(QUALIFIERS,<br> createQualifiers(dependency.getInjectionPoint().getQualifiers(), false));<br> }<br> return builder;<br> }<br></span> <span class="diffaddedchars" style="background-color:#ddfade;">{code}</span> <span class="diffcontext"><br></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span> <span class="diffcontext">This is what is seen when enabling development mode in my thorntail fork:<br><br></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br>{noformat}<br></span> <span class="diffcontext">java.lang.NullPointerException<br> at org.jboss.weld.probe.JsonObjects.createBuiltInDependency(JsonObjects.java:853)<br> at org.jboss.weld.probe.JsonObjects.createDependencies(JsonObjects.java:816)<br> at org.jboss.weld.probe.JsonObjects.createFullBeanJson(JsonObjects.java:565)<br> at org.jboss.weld.probe.JsonObjects.createBeansJson(JsonObjects.java:469)<br> at org.jboss.weld.probe.DefaultJsonDataProvider.receiveBeans(DefaultJsonDataProvider.java:72)<br> at org.jboss.weld.probe.Exports.exportJsonData(Exports.java:45)<br> at org.jboss.weld.probe.ProbeExtension.exportDataIfNeeded(ProbeExtension.java:334)<br> at org.jboss.weld.probe.ProbeExtension.afterDeploymentValidation(ProbeExtension.java:170)<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br> at java.lang.reflect.Method.invoke(Method.java:498)<br> at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)<br> at org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:144)<br> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:299)<br> at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:124)<br> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:277)<br> at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:255)<br> at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:269)<br> at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:258)<br> at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154)<br> at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:148)<br> at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)<br> at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:35)<br> at org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28)<br> at org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:482)<br> at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)<br> at org.jboss.weld.environment.se.Weld.initialize(Weld.java:767)<br> at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$null$0(ServerBootstrapImpl.java:151)<br> at org.wildfly.swarm.container.runtime.LogSilencer$SilentExecutor.execute(LogSilencer.java:75)<br> at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$bootstrap$1(ServerBootstrapImpl.java:120)<br> at org.wildfly.swarm.spi.api.ClassLoading.withTCCL(ClassLoading.java:43)<br> at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.bootstrap(ServerBootstrapImpl.java:113)<br> at org.wildfly.swarm.Swarm.start(Swarm.java:398)<br> at org.wildfly.swarm.Swarm.main(Swarm.java:742)<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br> at java.lang.reflect.Method.invoke(Method.java:498)<br> at org.wildfly.swarm.bootstrap.MainInvoker.invoke(MainInvoker.java:53)<br> at org.wildfly.swarm.bootstrap.Main.run(Main.java:132)<br> at org.wildfly.swarm.bootstrap.Main.main(Main.java:85)<br></span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;"><br></span> <span class="diffcontext"> at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:37)<br> at org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28)<br> at org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:482)<br> at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)<br> at org.jboss.weld.environment.se.Weld.initialize(Weld.java:767)<br> at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$null$0(ServerBootstrapImpl.java:151)<br> at org.wildfly.swarm.container.runtime.LogSilencer$SilentExecutor.execute(LogSilencer.java:75)<br> at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$bootstrap$1(ServerBootstrapImpl.java:120)<br> at org.wildfly.swarm.spi.api.ClassLoading.withTCCL(ClassLoading.java:43)<br> ... 10 more<br></span> <span class="diffaddedchars" style="background-color:#ddfade;">{noformat}</span> <span class="diffcontext"><br></span> </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff">
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tbody>
<tr>
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tbody>
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0; vertical-align: middle"> <a href="https://issues.jboss.org/browse/WELD-2511#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-f834e263-ce4a-4cad-8af6-f0cf58296260" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle"> </a> </td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="https://issues.jboss.org/browse/WELD-2511#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a> </td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table> </td>
</tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<tr>
<td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #ffffff; border-top: 0; border-left: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly" height="5" bgcolor="#ffffff"> </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tbody>
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> This message was sent by Atlassian JIRA <span id="footer-build-information">(v7.5.0#75005-<span title="fd8c849d4e278dd8bbaccc61e707a716ad697024" data-commit-id="fd8c849d4e278dd8bbaccc61e707a716ad697024}">sha1:fd8c849</span>)</span> </td>
<td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top">
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tbody>
<tr>
<td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-2d652fd0-7491-4329-a20f-fc24ef21b1dd" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix"> </td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table>
</body>
</html>