com.atlassian.jira.util.dbc.Assertions$NullArgumentException: url should not be null!

Atlassian JIRA | Zulfadli Noor Sazali [Atlassian] | 2 years ago
  1. 0

    h4. Summary Getting 500 Page Error while browsing issues. The following error thrown in the logs: {noformat}2015-03-04 07:29:30,026 http-bio-8443-exec-5039 ERROR XXXX 449x6581431x2 XXXX 127.0.0.1 /i [com.atlassian.velocity.DefaultVelocityManager] MethodInvocationException occurred getting message body from Velocity: com.atlassian.jira.util.dbc.Assertions$NullArgumentException: url should not be null! com.atlassian.jira.util.dbc.Assertions$NullArgumentException: url should not be null! at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:29) at com.atlassian.jira.plugin.webfragment.model.SimpleLinkImpl.<init>(SimpleLinkImpl.java:71) at com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.convertWebItemToSimpleLink(DefaultSimpleLinkManager.java:228) at com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.getLinks(DefaultSimpleLinkManager.java:184) at com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.getLinksForSectionIgnoreConditions(DefaultSimpleLinkManager.java:138) <+2> (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483){noformat} h4. Steps to reproduce There isn't any steps known at the moment. h4. Actual Results Facing 500 page error while browsing issues h4. Expected Results Having a (broken) link without any url value should not cause a 500 page _but_ continue to load and render the Issue View page with warnings that there are errors which can be found in the logs. h4. Workaround Restart JIRA

    Atlassian JIRA | 2 years ago | Zulfadli Noor Sazali [Atlassian]
    com.atlassian.jira.util.dbc.Assertions$NullArgumentException: url should not be null!
  2. 0

    h4. Summary Getting 500 Page Error while browsing issues. The following error thrown in the logs: {noformat}2015-03-04 07:29:30,026 http-bio-8443-exec-5039 ERROR XXXX 449x6581431x2 XXXX 127.0.0.1 /i [com.atlassian.velocity.DefaultVelocityManager] MethodInvocationException occurred getting message body from Velocity: com.atlassian.jira.util.dbc.Assertions$NullArgumentException: url should not be null! com.atlassian.jira.util.dbc.Assertions$NullArgumentException: url should not be null! at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:29) at com.atlassian.jira.plugin.webfragment.model.SimpleLinkImpl.<init>(SimpleLinkImpl.java:71) at com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.convertWebItemToSimpleLink(DefaultSimpleLinkManager.java:228) at com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.getLinks(DefaultSimpleLinkManager.java:184) at com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.getLinksForSectionIgnoreConditions(DefaultSimpleLinkManager.java:138) <+2> (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483){noformat} h4. Steps to reproduce There isn't any steps known at the moment. h4. Actual Results Facing 500 page error while browsing issues h4. Expected Results Having a (broken) link without any url value should not cause a 500 page _but_ continue to load and render the Issue View page with warnings that there are errors which can be found in the logs. h4. Workaround Restart JIRA

    Atlassian JIRA | 2 years ago | Zulfadli Noor Sazali [Atlassian]
    com.atlassian.jira.util.dbc.Assertions$NullArgumentException: url should not be null!
  3. 0

    The symptom is that all Users (also sysadmin) can't log into JIRA. The system just responds with a failed authentication attempt and the log prints out a stack trace like this: {code} com.atlassian.jira.util.dbc.Assertions$NullArgumentException: user should not be null! at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:26) at com.atlassian.jira.security.login.LoginManagerImpl.authorise(LoginManagerImpl.java:135) at com.atlassian.jira.security.JiraRoleMapper.canLogin(JiraRoleMapper.java:46) at com.atlassian.seraph.auth.DefaultAuthenticator.isAuthorised(DefaultAuthenticator.java:229) at com.atlassian.seraph.auth.DefaultAuthenticator.authoriseUserAndEstablishSession(DefaultAuthenticator.java:197) at com.atlassian.seraph.auth.DefaultAuthenticator.login(DefaultAuthenticator.java:102) at com.atlassian.crowd.integration.seraph.v22.CrowdAuthenticator.login(CrowdAuthenticator.java:133) at com.atlassian.seraph.filter.PasswordBasedLoginFilter.runAuthentication(PasswordBasedLoginFilter.java:127) at com.atlassian.seraph.filter.PasswordBasedLoginFilter.login(PasswordBasedLoginFilter.java:72) at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:130) at com.atlassian.jira.web.filters.JiraLoginFilter.doFilter(JiraLoginFilter.java:70) {code} Judging from the code, the actual authentication with Crowd already succeeded (com.atlassian.seraph:atlassian-seraph:2.5.0/com.atlassian.seraph.auth.DefaultAuthenticator.login(HttpServletRequest, HttpServletResponse, String, String, boolean)/line 94:111): {code} final boolean authenticated = authenticate(principal, password); if (dbg) { log.debug(METHOD + "'" + userName + "' has " + (authenticated ? "been" : "not been") + " authenticated"); } if (authenticated) { final Principal user = getUser(userName); if (authoriseUserAndEstablishSession(httpServletRequest, httpServletResponse, user)) { if (setRememberMeCookie && httpServletResponse != null) { getRememberMeService().addRememberMeCookie(httpServletRequest, httpServletResponse, userName); } return true; } AUTHORISATION_FAILED.stampRequestResponse(httpServletRequest, httpServletResponse); } {code} The authenticate call in the first line is the direct authentication with Crowd. The authoriseUserAndEstablishSession(HttpServletRequest, HttpServletResponse, Principal) call corresponds with line 102 of the stack trace above. The problem is that the getUser(String) call before returns null for the user. This call leads to com.atlassian.jira.security.login.JiraSeraphAuthenticator.getUser(String) which just uses com.atlassian.crowd.embedded.core.CrowdServiceImpl.getUser(String) in order to retrieve the user. This is its code: {code} Application application = getApplication(); if (application == null) { return null; } try { return applicationService.findUserByName(application, name); } catch (com.atlassian.crowd.exception.UserNotFoundException e) { return null; } {code} getApplication() is ultimately retrieving com.atlassian.crowd.dao.application.ApplicationDAO (cwd_application table) with name _crowd-embedded_. This tuple is contained in the db: {code} jira=> select * from cwd_application; id | application_name | lower_application_name | created_date | updated_date | active | description | application_type | credential ----+------------------+------------------------+----------------------------+----------------------------+--------+-------------+------------------+------------ 1 | crowd-embedded | crowd-embedded | 2011-05-08 14:09:05.607-07 | 2011-05-08 14:09:05.607-07 | 1 | | CROWD | X (1 row) {code} The com.atlassian.crowd.manager.application.ApplicationServiceGeneric.findUserByName(Application, String) code looks as following: {code} for (final Directory directory : getActiveDirectories(application)) { try { return directoryManager.findUserByName(directory.getId(), name); } catch (final UserNotFoundException e) { // user not in directory, keep cycling } catch (final DirectoryNotFoundException e) { // directory not found throw new ConcurrentModificationException("Directory mapping was removed while iterating through directories: " + e.getMessage()); } catch (final OperationFailedException e) { // directory has some massive error, keep cycling logger.error(e.getMessage(), e); } } // could not find user in any of the directories throw new UserNotFoundException(name); {code} It iterates over the active directories and tries to find the user. {code} jira=> select * from cwd_directory; id | directory_name | lower_directory_name | created_date | updated_date | active | description | impl_class | lower_impl_class | directory_type | directory_position ----+-------------------------+-------------------------+----------------------------+----------------------------+--------+---------------------------------+----------------------------------------------------+----------------------------------------------------+----------------+-------------------- 2 | Remote Crowd Directory | remote crowd directory | 2011-05-08 14:09:06.142-07 | 2011-05-08 23:50:57.531-07 | 1 | Remote crowd directory | com.atlassian.crowd.directory.RemoteCrowdDirectory | com.atlassian.crowd.directory.remotecrowddirectory | CROWD | 0 1 | JIRA Internal Directory | jira internal directory | 2011-05-08 14:09:06.166-07 | 2011-05-08 23:51:08.015-07 | 0 | JIRA default internal directory | com.atlassian.crowd.directory.InternalDirectory | com.atlassian.crowd.directory.internaldirectory | INTERNAL | 1 (2 rows) {code} The select above shows that there's only one active directory called 'Remote Crowd Directory' which points to the Crowd instance: {code} jira=> select * from cwd_directory_attribute where directory_id=2; directory_id | attribute_name | attribute_value --------------+---------------------------------------------------------+---------------------------------------- 2 | com.atlassian.crowd.directory.sync.lastdurationms | 70 2 | com.atlassian.crowd.directory.sync.laststartsynctime | 1304923857460 2 | com.atlassian.crowd.directory.sync.currentstartsynctime | 2 | useNestedGroups | false 2 | com.atlassian.crowd.directory.sync.issynchronising | false 2 | application.name | jira 2 | application.password | foobar 2 | crowd.server.url | http://<customerinstance>.jira.com/crowd/ (8 rows) {code} The actual directory implementation will lead to com.atlassian.crowd.directory.AbstractInternalDirectory.findUserByName(String) which will just ask com.atlassian.crowd.embedded.ofbiz.OfBizUserDao.findByName(long, String) in the end. The implementation seems to be a bridge for the legacy OfBizUser code. It only asks a _ConcurrentMap<DirectoryEntityKey, OfBizUser> userCache_ first with the username and then with the lowercased username: {code} // Try with the case we have been given. // This is an optimisation that should work in most JIRA instances where group and user names are really all lower case. OfBizUser user = userCache.get(DirectoryEntityKey.getKeyPreserveCase(directoryId, userName)); if (user != null) { return user; } user = userCache.get(DirectoryEntityKey.getKey(directoryId, userName)); if (user == null) { // Because the SPI says we should do this. throw new UserNotFoundException(userName); } return user; {code} I hooked up a debugger to a customer instance and it turns out that userCache is empty. Judging from the implementation, there has to be an initial call to fill the cache. There are three public methods which would add users, com.atlassian.crowd.embedded.ofbiz.OfBizUserDao.flushCache() which only has com.atlassian.crowd.embedded.ofbiz.OfBizUserDao.onEvent(XMLRestoreFinishedEvent) as a client (import), com.atlassian.crowd.embedded.ofbiz.OfBizUserDao.add(User, PasswordCredential) and com.atlassian.crowd.embedded.ofbiz.OfBizUserDao.addAll(Set<UserTemplateWithCredentialAndAttributes>). One indirect client of addAll is com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerJob.execute(JobExecutionContext) which I suspect to be responsible for the (initial) syncing. That job either didn't run or had problems. In order to workaround the job not syncing, we can trigger the synchronisation manually on *{{/plugins/servlet/embedded-crowd/directories/list}}*. If the directories are not synced, cwd_user, cwd_group and cwd_membership will be empty for that directory. So in order to get into the system, you have to manually create the sysadmin (nopass is not used since we only authenticate against Crowd, see code above): {code:sql} insert into cwd_user (id, directory_id, user_name, lower_user_name, active, created_date, updated_date, first_name, lower_first_name, last_name, lower_last_name, display_name, lower_display_name, email_address, lower_email_address, credential) values (1, 2, 'sysadmin', 'sysadmin', 1, now(), now(), 'System', 'system', 'Administrator', 'administrator', 'System Administrator', 'system administrator', 'noreply@atlassian.com', 'noreply@atlassian.com', 'nopass'); insert into cwd_group (id, group_name, lower_group_name, active, local, created_date, updated_date, group_type, directory_id) values (1, 'system-administrators', 'system-administrators', 1, 0, now(), now(), 'GROUP', 2); insert into cwd_membership (id, parent_id, child_id, membership_type, parent_name, lower_parent_name, child_name, lower_child_name, directory_id) values (1, 1, 1, 'GROUP_USER', 'system-administrators', 'system-administrators', 'sysadmin', 'sysadmin', 2); {code}

    Atlassian JIRA | 6 years ago | Fabian Krämer
    com.atlassian.jira.util.dbc.Assertions$NullArgumentException: user should not be null!
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    {noformat} java.lang.RuntimeException: Could not open JAR file for reading: e:\blitz\home\plugins\installed-plugins\jira-toolkit-0.7.29-SNAPSHOT.jar at com.atlassian.plugin.JarPluginArtifact.getInputStream(JarPluginArtifact.java:106) at com.atlassian.plugin.factories.XmlDynamicPluginFactory.canCreate(XmlDynamicPluginFactory.java:123) at com.atlassian.plugin.loaders.ScanningPluginLoader.deployPluginFromUnit(ScanningPluginLoader.java:111) at com.atlassian.plugin.loaders.ScanningPluginLoader.loadAllPlugins(ScanningPluginLoader.java:87) at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:150) at com.atlassian.jira.plugin.JiraPluginManager.start(JiraPluginManager.java:49) at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:1276) at com.atlassian.jira.ComponentManager.quickStart(ComponentManager.java:200) at com.atlassian.jira.ComponentManager.start(ComponentManager.java:186) at com.atlassian.jira.upgrade.ConsistencyLauncher.launchConsistencyChecker(ConsistencyLauncher.java:59) at com.atlassian.jira.upgrade.ConsistencyLauncher.contextInitialized(ConsistencyLauncher.java:40) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:448) at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) Caused by: java.io.FileNotFoundException: e:\blitz\home\plugins\installed-plugins\jira-toolkit-0.7.29-SNAPSHOT.jar (Access is denied) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at com.atlassian.plugin.JarPluginArtifact.getInputStream(JarPluginArtifact.java:102) ... 25 more 2009-06-11 19:42:53,970 Main Thread INFO [atlassian.plugin.manager.DefaultPluginManager] Plugin system started in 0:00:15.734 2009-06-11 19:42:53,970 Main Thread ERROR [com.atlassian.jira.ComponentManager] Error occurred while starting PluginManager. com.atlassian.jira.util.dbc.Assertions$NullArgumentException: name should not be null! at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:24) at com.atlassian.jira.util.dbc.Null.not(Null.java:12) at com.atlassian.jira.plugin.PluginVersionImpl.<init>(PluginVersionImpl.java:31) at com.atlassian.jira.plugin.JiraPluginManager.storePluginVersion(JiraPluginManager.java:155) at com.atlassian.jira.plugin.JiraPluginManager.storePluginVersions(JiraPluginManager.java:130) at com.atlassian.jira.plugin.JiraPluginManager.start(JiraPluginManager.java:50) at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:1276) at com.atlassian.jira.ComponentManager.quickStart(ComponentManager.java:200) at com.atlassian.jira.ComponentManager.start(ComponentManager.java:186) at com.atlassian.jira.upgrade.ConsistencyLauncher.launchConsistencyChecker(ConsistencyLauncher.java:59) at com.atlassian.jira.upgrade.ConsistencyLauncher.contextInitialized(ConsistencyLauncher.java:40) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:448) at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) 2009-06-11 19:42:53,986 Main Thread FATAL [atlassian.jira.upgrade.ConsistencyLauncher] A RuntimeException occurred during ConsistencyLauncher servlet context initialisation - Error occurred while starting PluginManager.. com.atlassian.jira.InfrastructureException: Error occurred while starting PluginManager. at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:1281) at com.atlassian.jira.ComponentManager.quickStart(ComponentManager.java:200) at com.atlassian.jira.ComponentManager.start(ComponentManager.java:186) at com.atlassian.jira.upgrade.ConsistencyLauncher.launchConsistencyChecker(ConsistencyLauncher.java:59) at com.atlassian.jira.upgrade.ConsistencyLauncher.contextInitialized(ConsistencyLauncher.java:40) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:448) at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) Caused by: com.atlassian.jira.util.dbc.Assertions$NullArgumentException: name should not be null! at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:24) at com.atlassian.jira.util.dbc.Null.not(Null.java:12) at com.atlassian.jira.plugin.PluginVersionImpl.<init>(PluginVersionImpl.java:31) at com.atlassian.jira.plugin.JiraPluginManager.storePluginVersion(JiraPluginManager.java:155) at com.atlassian.jira.plugin.JiraPluginManager.storePluginVersions(JiraPluginManager.java:130) at com.atlassian.jira.plugin.JiraPluginManager.start(JiraPluginManager.java:50) at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:1276) {noformat}

    Atlassian JIRA | 7 years ago | Brenden Bain [Atlassian]
    com.atlassian.jira.util.dbc.Assertions$NullArgumentException: name should not be null!
  6. 0

    There is no way to get JIRA to reliably connect to an MSSQL database using windows authentication. Tested both with and without the username XML element. SQL connection string: {code:xml} <jdbc-datasource> <url>jdbc:jtds:sqlserver://dbserver:1439/JIRADB</url> <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> <username>windowsUser</username> </jdbc-datasource> {code} Per JTDS documentation: (README.SSO) {code} In order for Single Sign On to work, jTDS must be able to load the native SPPI library (ntlmauth.dll). Place this DLL anywhere in the system path (defined by the PATH system variable) and you're all set. {code} JIRA startup error: {code} 2013-04-11 14:48:30,861 localhost-startStop-1 ERROR [atlassian.jira.startup.LauncherContextListener] Unable to start JIRA. com.atlassian.jira.util.dbc.Assertions$NullArgumentException: username should not be null! at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:28) at com.atlassian.jira.util.dbc.Assertions.notBlank(Assertions.java:112) at com.atlassian.jira.config.database.JdbcDatasource.<init>(JdbcDatasource.java:177) at com.atlassian.jira.config.database.JdbcDatasource.<init>(JdbcDatasource.java:30) at com.atlassian.jira.config.database.JdbcDatasource$Builder.build(JdbcDatasource.java:605) at com.atlassian.jira.config.database.JdbcDatasource.parse(JdbcDatasource.java:408) at com.atlassian.jira.config.database.DatabaseConfigHandler.parseDatasource(DatabaseConfigHandler.java:73) at com.atlassian.jira.config.database.DatabaseConfigHandler.parse(DatabaseConfigHandler.java:33) at com.atlassian.jira.config.database.AbstractJiraHomeDatabaseConfigurationLoader.loadDatabaseConfiguration(AbstractJiraHomeDatabaseConfigurationLoader.java:57) at com.atlassian.jira.startup.SystemTenantProvider.getSystemDatabaseConfig(SystemTenantProvider.java:69) at com.atlassian.jira.startup.SystemTenantProvider.getSystemTenant(SystemTenantProvider.java:46) at com.atlassian.multitenant.MultiTenantContext.getSystemTenant(MultiTenantContext.java:473) at com.atlassian.multitenant.MultiTenantContext.defaultInit(MultiTenantContext.java:112) at com.atlassian.jira.startup.LauncherContextListener.initMultiTenantSystem(LauncherContextListener.java:145) at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:69) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) {code}

    Atlassian JIRA | 4 years ago | Ribbles
    com.atlassian.jira.util.dbc.Assertions$NullArgumentException: username should not be null!

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. com.atlassian.jira.util.dbc.Assertions$NullArgumentException

      url should not be null!

      at com.atlassian.jira.util.dbc.Assertions.notNull()
    2. com.atlassian.jira
      DefaultSimpleLinkManager.getLinks
      1. com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:29)
      2. com.atlassian.jira.plugin.webfragment.model.SimpleLinkImpl.<init>(SimpleLinkImpl.java:71)
      3. com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.convertWebItemToSimpleLink(DefaultSimpleLinkManager.java:228)
      4. com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.getLinks(DefaultSimpleLinkManager.java:184)
      4 frames