Pending - All licenses are in use or the license is not assigned yet - Issue

Hayden_Webb
New Contributor III

Has anyone else run into this issue? It seems to be happening more and more to the point where most apps aren't installing. The weird thing is, this doesn't happen on all iPads, they will be the same type and the same iOS. Also, it's not the same apps that have the issue. I tried wiping them, connecting to a different network, renewing the VPP token (it was almost expired), updating the iOS, and creating a new policy. There are plenty of licenses available. I'm fairly new to JAMF with only the 200 experience so I'm sure it's something dumb that's causing it, I just can't figure it out.

Any help would be greatly appreciated!Screen Shot 2021-08-26 at 10.20.09 AM.pngScreen Shot 2021-08-26 at 10.26.27 AM.png

18 REPLIES 18

chris_milleruca
New Contributor

I am seeing the same here. VPP deployments have been working but i started to get the pending message from 23/8/21. Not fixed yet.

Hayden_Webb
New Contributor III

So, I created a test VPP server, got a few licenses for some of the apps that wouldn't install, then scoped them just to Self Service of the iPads with this issue, and the apps started installing.  It seems to be just an issue with our main VPP server. Still not sure what would cause this issue though.

ITHoneyBadger
New Contributor III

We are having the same issue.  It seemed to be working again yesterday but today is not working again.

timbyler1890
New Contributor III

We are having the same problem. Our Jamf Pro Server is on Prem and we upgraded to 10.30.1 on 8/10/21 and that is when I started noticing this problem. Our main Location under settings-Volume Purchasing showed zero for all our apps. I created a new location and assigned a couple apps and those seemed to work. 

We then contacted Apple and they claimed everything was good in our ABM account, it must be a Jamf problem. I opened a ticket with Jamf and they said everything seems to check out, it's a token problem in ABM. Back to Apple and no it is a Jamf problem. By this time a week and half had went by so our solution was to move all our apps to the new location. I really think it is a Apple/ABM problem but I can't definitively prove that.

ITHoneyBadger
New Contributor III

We ended up having to remove Self Service and re-add it, on a new device Self Service was requesting to be purchased.   We also upgraded to 10.31.1 and so far all apps are working as expecting.

spimentel
New Contributor II

Is anyone still having this issue. I have been going back and forth with Apple and Jamf an no one can seem to figure it out. It started working and then all of a sudden a couple of days ago none of our pushed apps will install. 

This just started for us yesterday, I didn't have time to start anything with it until now, but am hoping it will just go away since we haven't made any global changes except to renew Automated Device Enrollment because of issues with it being Apple Agreement time. 

We've done the impossible, and that makes us mighty.

MZKMR
New Contributor II

We have the Same Problem what can we do ?

MZKMR
New Contributor II

We had solved our Problem  ONE APP has made the problems.

We disabled and deleted this app!  Wonder,version=1147,

2021-11-17 13:54:49,759 [ERROR] [hread-31691] [dmControllerProcessorImpl] - Exception processing MDM request
java.lang.IllegalStateException: Duplicate key 41c1138e2fc36e5805f10055987d4f67ce845855525edbd69cd74134d0cade14 (attempted merging values com.jamfsoftware.jss.dal.entity.MobileDeviceApplicationDetailEntity@2dd634a0[name=Wonder,version=1147,shortVersion=1.16.1,bundleId=com.makewonder.wonder,externalVersionId=832991601] and com.jamfsoftware.jss.dal.entity.MobileDeviceApplicationDetailEntity@45bbfda9[name=Wonder,version=1147,shortVersion=1.16.1,bundleId=com.makewonder.wonder,externalVersionId=832991601])
at java.util.stream.Collectors.duplicateKeyException(Collectors.java:133) ~[?:?]
at java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180) ~[?:?]
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?]
at com.jamfsoftware.jss.objects.mobiledeviceapp.MobileDeviceInstalledApplicationsService.updateApplications(MobileDeviceInstalledApplicationsService.java:106) ~[classes/:?]
at com.jamfsoftware.jss.objects.mobiledevice.MobileDeviceHelper.updateDevice(MobileDeviceHelper.java:257) ~[classes/:?]
at com.jamfsoftware.jss.objects.mobiledevice.MobileDeviceHelper.update(MobileDeviceHelper.java:1093) ~[classes/:?]
at com.jamfsoftware.jss.objects.mobiledevice.MobileDeviceHelper.update(MobileDeviceHelper.java:153) ~[classes/:?]
at com.jamfsoftware.jss.objects.CRUDHelper.update(CRUDHelper.java:159) ~[classes/:?]
at com.jamfsoftware.jss.objects.CRUDHelper.update(CRUDHelper.java:152) ~[classes/:?]
at com.jamfsoftware.jss.objects.mobiledevice.MobileDevice.update(MobileDevice.java:308) ~[classes/:?]
at com.jamfsoftware.jss.mdm.actions.requests.ApplicationList.updateApplicationList(ApplicationList.java:149) ~[classes/:?]
at com.jamfsoftware.jss.mdm.actions.requests.ApplicationList.processUpdate(ApplicationList.java:59) ~[classes/:?]
at com.jamfsoftware.jss.mdm.actions.requests.InventoryResponse.process(InventoryResponse.java:54) ~[classes/:?]
at com.jamfsoftware.mdm.jss.controller.LegacyMdmControllerProcessorImpl.processCommand(LegacyMdmControllerProcessorImpl.java:313) ~[classes/:?]
at com.jamfsoftware.mdm.jss.controller.LegacyMdmControllerProcessorImpl.handleRequest(LegacyMdmControllerProcessorImpl.java:156) [classes/:?]
at com.jamfsoftware.jss.mdm.enrollment.MDMController.process(MDMController.java:103) [classes/:?]
at com.jamfsoftware.mdm.jss.controller.MdmToggleController.put(MdmToggleController.java:38) [classes/:?]
at jdk.internal.reflect.GeneratedMethodAccessor928.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) [spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) [spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) [spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) [spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) [spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1064) [spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) [spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) [spring-webmvc-5.3.9.jar:5.3.9]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:684) [servlet-api.jar:?]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.9.jar:5.3.9]
at com.jamfsoftware.jss.server.JssDispatcherServlet.service(JssDispatcherServlet.java:117) [classes/:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.71]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.71]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at com.jamfsoftware.security.core.util.SystemAccountSecurityFilter.doFilterInternal(SystemAccountSecurityFilter.java:38) [security-core-10.33.0-t1633712823.jar:?]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.3.9.jar:5.3.9]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.3.9.jar:5.3.9]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.3.9.jar:5.3.9]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) [spring-security-web-5.3.3.RELEASE.jar:5.3.3.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) [spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) [spring-web-5.3.9.jar:5.3.9]
at com.jamfsoftware.jss.security.DefaultDelegatingFilterProxy.superDoFilter(DefaultDelegatingFilterProxy.java:72) [classes/:?]
at com.jamfsoftware.jss.security.DefaultDelegatingFilterProxy.doFilter(DefaultDelegatingFilterProxy.java:51) [classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.71]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.71]
at com.jamfsoftware.jss.frontend.JSSAccessFilter.doFilter(JSSAccessFilter.java:71) [classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.71]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.71]
at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:141) [spring-session-core-2.2.1.RELEASE.jar:2.2.1.RELEASE]
at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) [spring-session-core-2.2.1.RELEASE.jar:2.2.1.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) [spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) [spring-web-5.3.9.jar:5.3.9]
at com.jamfsoftware.jss.security.DefaultDelegatingFilterProxy.superDoFilter(DefaultDelegatingFilterProxy.java:72) [classes/:?]
at com.jamfsoftware.jss.security.DefaultDelegatingFilterProxy.doFilter(DefaultDelegatingFilterProxy.java:51) [classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.71]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.71]
at com.jamfsoftware.jss.frontend.JSSLoadingFilter.doFilter(JSSLoadingFilter.java:212) [classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.71]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.71]
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109) [catalina.jar:8.5.71]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.71]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.71]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196) [catalina.jar:8.5.71]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:8.5.71]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [catalina.jar:8.5.71]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:8.5.71]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.71]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:8.5.71]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364) [catalina.jar:8.5.71]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624) [tomcat-coyote.jar:8.5.71]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:8.5.71]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) [tomcat-coyote.jar:8.5.71]
at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1615) [tomcat-coyote.jar:8.5.71]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.71]
at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1111) [tomcat-coyote.jar:8.5.71]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:564) [tomcat-coyote.jar:8.5.71]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:542) [tomcat-coyote.jar:8.5.71]
at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:1010) [tomcat-coyote.jar:8.5.71]
at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:938) [tomcat-coyote.jar:8.5.71]
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127) [?:?]
at sun.nio.ch.Invoker$2.run(Invoker.java:219) [?:?]
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]

crussell
New Contributor

Hey - we have started to experience this issue today. Did anyone find a fix?

What was causing this issue for us was that an iPad that had no serial was somehow entered into our MDM. Once we located it and deleted it the issue started to resolve itself. Hope this helps.

spimentel
New Contributor II
Yes, that is correct. However we are unable to find out why this
keeps happening. We are having it happen continuously where we find devices
without serial numbers. I can't continue to delete them as the resolution.



--
*Samantha Pimentel*
Mobile Device Administrator II
Santa Barbara Unified School District
spimentel@sbunified.org
www.sbunified.org
Pronouns I use: she, her, hers

--

CONFIDENTIALITY NOTICE: This is a transmission from the Santa Barbara
Unified School District and may contain privileged and confidential
information. It, and any attachments, are intended only for the
addressee(s) . If you are not the intended recipient, you are hereby
notified that any review, dissemination, distribution or duplication of
this communication and its attachments is strictly prohibited by applicable
state and federal law. If you are not the intended recipient, please
contact the sender by reply email and destroy all copies of the original
message and attachments.


Santa Barbara Unified School District - "Every
child, every chance, every day."

In our experience it was an issue with a device that had recently been repaired. It seemed to be related to the replaced logic board. On each occasion we have had to send the device away again to get the logic board replaced.

Hayden_Webb
New Contributor III

99% of our apps are deploying without issue now but there are a few that still have this issue. I just created a Backup VPP account where I would add these troublesome apps to and they deploy just fine. There are only about 8 so this isn’t a big deal. I have a Smart Group and an Advanced Mobile Device search setup with the criteria for Not Available and blank but neither show we have any mobile devices that fit that. There were a few computers that were enrolled after a logic board replacement that didn’t have the serial re-added through AST but they are removed immediately, but that hasn’t fixed the issue. 

spimentel
New Contributor II

We have discovered that this issue seems to happen when a device has no serial number. We have not been able to identify why that happens. You could delete it out if you do not know the serial number of the device with no serial number. However we have our own internal processes that we can identify what device is without a serial number. Via the API you can update the blank serial number and everything will start to install.

AndrewJamf
New Contributor

It is normal and expected to have devices with no serial number when a user enrolls a personal iOS device using a managed apple ID. This is actually a use case that customers pay for when they buy Jamf BYOD. But... I'm facing the same as above. 

spimentel
New Contributor II

You can add the missing serial number back via API. Missing serial numbers were becoming really frequent in our organization. Just today I had two. Our device names tend to be the serial number. If the serial number goes missing I can easily have our programmer add it back. Even if the name is not the serial number we always have an asset tag that is populated in the general information that works with our inventory system. I don't know what process our programmer uses but he is able to add back. We couldn't delete the iPads out of our system as the blank serial numbers were becoming too frequent. Daily I run a search of all mobile devices and search for blank serial numbers (just easily filter) and then I let our programmer know if there is anything to fix. Moving forward we will have an automated process that will run and do a search so we can find these items as they happen. Jamf still can't tell me why this happens, but we now have a process in place to make it work. 

k0_bgf
New Contributor III

Hi, can anyone give me a hint how to update the inventory via API? Maybe a script? thanks!