GMOD / Apollo

Genome annotation editor with a Java Server backend and a Javascript client that runs in a web browser as a JBrowse plugin.
http://genomearchitect.readthedocs.io/
Other
124 stars 85 forks source link

ERROR apollo.PermissionService #887

Closed MichelMoser closed 8 years ago

MichelMoser commented 8 years ago

Hi, i run into problems with my temporary apollo server. For day1 everything worked fine but when users tried to reconnect to the site on day2, users could not access jbrowse anymore. They could still login but miss the left jbrowse window. When i look at the server reports i get the following error on the command line:

| Error 2016-02-17 11:28:15,870 [http-bio-8085-exec-35] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
2016-02-17 11:28:15,871 [http-bio-8085-exec-34] WARN  apollo.AnnotatorController  - Permission exception: User has no access to an organism and/or is not admin
| Error 2016-02-17 11:28:15,933 [http-bio-8085-exec-35] ERROR apollo.UserController  - {error=User does not have permission for any organisms.}
| Error 2016-02-17 11:28:15,933 [http-bio-8085-exec-34] ERROR apollo.GroupController  - {error=User does not have permission for any organisms.}
| Error 2016-02-17 11:34:44,240 [http-bio-8085-exec-35] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
| Error 2016-02-17 11:34:44,351 [http-bio-8085-exec-35] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
| Error 2016-02-17 11:34:44,351 [http-bio-8085-exec-30] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
2016-02-17 11:34:44,537 [http-bio-8085-exec-35] WARN  apollo.AnnotatorController  - Permission exception: User has no access to an organism and/or is not admin
| Error 2016-02-17 11:36:07,111 [http-bio-8085-exec-33] ERROR apollo.UserController  - {error=You have insufficient permissions [write < administrate] to perform this operation}
| Error 2016-02-17 11:36:07,241 [http-bio-8085-exec-35] ERROR apollo.UserController  - {error=You have insufficient permissions [write < administrate] to perform this operation}
| Error 2016-02-17 11:36:07,242 [http-bio-8085-exec-37] ERROR apollo.GroupController  - {error=You have insufficient permissions [write < administrate] to perform this operation}
2016-02-17 11:36:07,440 [http-bio-8085-exec-28] WARN  apollo.PermissionService  - Permission required administrate vs found export
| Error 2016-02-17 11:38:02,592 [http-bio-8085-exec-37] ERROR apollo.UserController  - {error=You have insufficient permissions [write < administrate] to perform this operation}
2016-02-17 11:38:02,739 [http-bio-8085-exec-35] WARN  apollo.PermissionService  - Permission required administrate vs found export
| Error 2016-02-17 11:38:02,745 [http-bio-8085-exec-36] ERROR apollo.UserController  - {error=You have insufficient permissions [write < administrate] to perform this operation}
| Error 2016-02-17 11:38:02,746 [http-bio-8085-exec-30] ERROR apollo.GroupController  - {error=You have insufficient permissions [write < administrate] to perform this operation}
| Error 2016-02-17 11:38:11,217 [http-bio-8085-exec-30] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
2016-02-17 11:38:11,217 [http-bio-8085-exec-38] WARN  apollo.AnnotatorController  - Permission exception: User has no access to an organism and/or is not admin
| Error 2016-02-17 11:38:11,332 [http-bio-8085-exec-30] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
| Error 2016-02-17 11:38:11,332 [http-bio-8085-exec-38] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
| Error 2016-02-17 11:38:22,746 [http-bio-8085-exec-35] ERROR [/apollo].[grails]  - Servlet.service() for servlet grails threw exception
Message: getAttribute: Session already invalidated
    Line | Method
->>  146 | getAttribute            in org.apache.shiro.web.session.HttpServletSession
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    121 | getAttribute            in org.apache.shiro.session.ProxiedSession
|    469 | getRunAsPrincipalsStack in org.apache.shiro.subject.support.DelegatingSubject
|    153 | getPrincipals           in     ''
|    149 | getPrincipal . . . . .  in     ''
|     95 | getSubjectPrincipal     in org.apache.shiro.web.servlet.ShiroHttpServletRequest
|    111 | getUserPrincipal . . .  in     ''
|    198 | doFilter                in grails.plugin.cache.web.filter.PageFragmentCachingFilter
|     63 | doFilter . . . . . . .  in grails.plugin.cache.web.filter.AbstractFilter
|    449 | executeChain            in org.apache.shiro.web.servlet.AbstractShiroFilter
|    365 | call . . . . . . . . .  in org.apache.shiro.web.servlet.AbstractShiroFilter$1
|     90 | doCall                  in org.apache.shiro.subject.support.SubjectCallable
|     83 | call . . . . . . . . .  in     ''
|    383 | execute                 in org.apache.shiro.subject.support.DelegatingSubject
|    362 | doFilterInternal . . .  in org.apache.shiro.web.servlet.AbstractShiroFilter
|    125 | doFilter                in org.apache.shiro.web.servlet.OncePerRequestFilter
|   1145 | runWorker . . . . . . . in java.util.concurrent.ThreadPoolExecutor
|    615 | run                     in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run . . . . . . . . . . in java.lang.Thread
| Error 2016-02-17 11:38:22,748 [http-bio-8085-exec-35] ERROR [/apollo].[gsp]  - Servlet.service() for servlet [gsp] in context with path [/apollo] threw exception [org.apache.shiro.session.InvalidSessionException: java.lang.IllegalStateException: getAttribute: Session already invalidated] with root cause
Message: getAttribute: Session already invalidated
    Line | Method
->>  146 | getAttribute            in org.apache.shiro.web.session.HttpServletSession
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    121 | getAttribute            in org.apache.shiro.session.ProxiedSession
|    469 | getRunAsPrincipalsStack in org.apache.shiro.subject.support.DelegatingSubject
|    153 | getPrincipals           in     ''
|    149 | getPrincipal . . . . .  in     ''
|     95 | getSubjectPrincipal     in org.apache.shiro.web.servlet.ShiroHttpServletRequest
|    111 | getUserPrincipal . . .  in     ''
|    198 | doFilter                in grails.plugin.cache.web.filter.PageFragmentCachingFilter
|     63 | doFilter . . . . . . .  in grails.plugin.cache.web.filter.AbstractFilter
|    449 | executeChain            in org.apache.shiro.web.servlet.AbstractShiroFilter
|    365 | call . . . . . . . . .  in org.apache.shiro.web.servlet.AbstractShiroFilter$1
|     90 | doCall                  in org.apache.shiro.subject.support.SubjectCallable
|     83 | call . . . . . . . . .  in     ''
|    383 | execute                 in org.apache.shiro.subject.support.DelegatingSubject
|    362 | doFilterInternal . . .  in org.apache.shiro.web.servlet.AbstractShiroFilter
|    125 | doFilter                in org.apache.shiro.web.servlet.OncePerRequestFilter
|   1145 | runWorker . . . . . . . in java.util.concurrent.ThreadPoolExecutor
|    615 | run                     in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run . . . . . . . . . . in java.lang.Thread

Also the permission settings of organisms sometimes disappear for all of the admins and users, so i have to reset them. I tried to deploy a production server but just get "The requested resource is not available." back when i try to connect to the server.

Thanks, Michel

PS: please tell me if i should rather post this in the mailgroup or somewhere else

nathandunn commented 8 years ago

Yeah, I would post these to apollo@lists.lbl.gov. It looks like you are already subscribed.

If you want to point me to your apollo-config.groovy, that would be helpful.

Note that the default location for production H2 (from our sample H2 config) is:

        url = "jdbc:h2:/tmp/prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"

so /tmp/prodDb.

Typically "/tmp/prodDb" . . .where stuff in the "/tmp" directory is typically removed by the system by default at any given time. This is why all of the permissions all of a sudden removed.

So . . . my recommendations would be two-fold: 1 - if you use H2, specify a directory that is more permanent and somewhat secure. It should be outside of the tomcat directory, but writeable by tomcat. 2 - if you can use mysql or postgreSQL, I would advocate that as they are going to end up giving you better performance and scaling well, but for a small lab H2 performance will be fine.

MichelMoser commented 8 years ago

Hi, my apollo-config.groovy currently looks like: Didnt change it much from the default and your suggestions.

// default username/password on h2 are given here. see docs for adjusting
dataSource {
    pooled = true
    jmxExport = true
    driverClassName = "org.h2.Driver"
    username = "mmoser"
    password = "123"
}
// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:h2:/home/moser/apollo/devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
        }
    }
    test {
        dataSource {
            dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
        }
    }

    //note: not necessarily recommended to use h2 in production mode. see precautions
    production {
        dataSource {
            dbCreate = "update"
            //NOTE: production mode uses file instead of mem database
            //Please speicify the appropriate absolute file path of your h2 database.
            //url = "jdbc:h2:/opt/apollo/h2/prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
            url = "jdbc:h2:/home/moser/apollo/prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
            properties {
               // See http://grails.org/doc/latest/guide/conf.html#dataSource for documentation
               jmxEnabled = true
               initialSize = 5
               maxActive = 50
               minIdle = 5
               maxIdle = 25
               maxWait = 10000
               maxAge = 10 * 60000
               timeBetweenEvictionRunsMillis = 5000
               minEvictableIdleTimeMillis = 60000
               validationQuery = "SELECT 1"
               validationQueryTimeout = 3
               validationInterval = 15000
               testOnBorrow = true
               testWhileIdle = true
               testOnReturn = false
               jdbcInterceptors = "ConnectionState"
               defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
            }
        }
    }
}

I would like to present three genomes to about 3 users, so i guess H2 is ok? Also is it necessary for sequence and track information to be stored in a folder called data? So should i set up different organisms in folders like this:

apollo/species1/data/trackList... apollo/species2/data/trackList... apollo/species3/data/trackList...

Or would you recommend different structure?

nathandunn commented 8 years ago

I think that your setup looks good. Give it a whirl!

Nathan

On Feb 18, 2016, at 2:41 AM, MichelMoser notifications@github.com wrote:

Hi, my apollo-config.groovy currently looks like: Didnt change it much from the default and your suggestions.

// default username/password on h2 are given here. see docs for adjusting dataSource { pooled = true jmxExport = true driverClassName = "org.h2.Driver" username = "mmoser" password = "123" } // environment specific settings environments { development { dataSource { dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', '' url = "jdbc:h2:/home/moser/apollo/devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE" } } test { dataSource { dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', '' url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE" } }

//note: not necessarily recommended to use h2 in production mode. see precautions
production {
    dataSource {
        dbCreate = "update"
        //NOTE: production mode uses file instead of mem database
        //Please speicify the appropriate absolute file path of your h2 database.
        //url = "jdbc:h2:/opt/apollo/h2/prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
        url = "jdbc:h2:/home/moser/apollo/prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
        properties {
           // See http://grails.org/doc/latest/guide/conf.html#dataSource for documentation
           jmxEnabled = true
           initialSize = 5
           maxActive = 50
           minIdle = 5
           maxIdle = 25
           maxWait = 10000
           maxAge = 10 * 60000
           timeBetweenEvictionRunsMillis = 5000
           minEvictableIdleTimeMillis = 60000
           validationQuery = "SELECT 1"
           validationQueryTimeout = 3
           validationInterval = 15000
           testOnBorrow = true
           testWhileIdle = true
           testOnReturn = false
           jdbcInterceptors = "ConnectionState"
           defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
        }
    }
}

}

I would like to present three genomes to about 3 users, so i guess H2 is ok? Also is it necessary for sequence and track information to be stored in a folder called data? So should i set up different organisms in folders like this:

apollo/species1/data/trackList... apollo/species2/data/trackList... apollo/species3/data/trackList...

Or would you recommend different structure?

— Reply to this email directly or view it on GitHub https://github.com/GMOD/Apollo/issues/887#issuecomment-185647768.

MichelMoser commented 8 years ago

I try but cant see any annotation tracks or jbrowse. If i look at tracklist.conf, a maker annotation should be there at least. Could you help me with that?

nathandunn commented 8 years ago

Can you post any relevant information? I would probably recommend using trackList.json , at least initially, but it should work either way.

If you could post any errors you get from your javascript console and the tomcat server (typically in a file called catalina.out), that would be helpful for debugging.

Nathan

On Feb 18, 2016, at 6:45 AM, MichelMoser notifications@github.com wrote:

I try but cant see any annotation tracks or jbrowse. If i look at tracklist.conf, a maker annotation should be there at least. Could you help me with that?

— Reply to this email directly or view it on GitHub https://github.com/GMOD/Apollo/issues/887#issuecomment-185751128.

MichelMoser commented 8 years ago

trackList.json:

{
   "tracks" : [
      {
         "key" : "Reference sequence",
         "label" : "DNA",
         "chunkSize" : 20000,
         "storeClass" : "JBrowse/Store/Sequence/StaticChunked",
         "type" : "SequenceTrack",
         "urlTemplate" : "seq/{refseq_dirpath}/{refseq}-",
         "category" : "Reference sequence"
      },
      {
         "key" : "MAKER",
         "compress" : 0,
         "style" : {
            "className" : "feature"
         },
         "trackType" : null,
         "urlTemplate" : "tracks/MAKER/{refseq}/trackData.json",
         "type" : "FeatureTrack",
         "storeClass" : "JBrowse/Store/SeqFeature/NCList",
         "label" : "MAKER"
      }
   ],
   "names" : {
      "type" : "Hash",
      "url" : "names/"
   },
   "formatVersion" : 1
}

catalina.out:

Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 3:39:03 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 432 ms
Feb 18, 2016 3:39:03 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Feb 18, 2016 3:39:03 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52 (Ubuntu)
Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat7/webapps/apollo.war
Feb 18, 2016 3:39:13 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://www.springframework.org/tags is already defined
Feb 18, 2016 3:39:13 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://www.springframework.org/tags/form is already defined
log4j:WARN No appenders could be found for logger (org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Configuring Shiro ...

Shiro Configured
Feb 18, 2016 3:39:52 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT
Feb 18, 2016 3:39:53 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Feb 18, 2016 3:39:53 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 49419 ms
2016-02-18 15:40:17,755 [http-bio-8080-exec-5] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
2016-02-18 15:40:17,756 [http-bio-8080-exec-6] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
2016-02-18 15:40:17,755 [http-bio-8080-exec-7] ERROR apollo.PermissionService  - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm.
2016-02-18 15:41:27,701 [http-bio-8080-exec-6] INFO  apollo.UserController  - Updating organism permissions
2016-02-18 15:41:27,734 [http-bio-8080-exec-6] INFO  apollo.UserController  - Updated organism permissions for user test@test.com and organism test and permissions ["ADMINISTRATE"]
2016-02-18 15:41:28,638 [http-bio-8080-exec-6] INFO  apollo.UserController  - Updating organism permissions
2016-02-18 15:41:28,660 [http-bio-8080-exec-6] INFO  apollo.UserController  - Updated organism permissions for user test@test.com and organism test and permissions ["ADMINISTRATE","WRITE"]
2016-02-18 15:41:29,509 [http-bio-8080-exec-6] INFO  apollo.UserController  - Updating organism permissions
2016-02-18 15:41:29,534 [http-bio-8080-exec-6] INFO  apollo.UserController  - Updated organism permissions for user test@test.com and organism test and permissions ["ADMINISTRATE","WRITE","EXPORT"]
2016-02-18 15:41:30,314 [http-bio-8080-exec-6] INFO  apollo.UserController  - Updating organism permissions
2016-02-18 15:41:30,340 [http-bio-8080-exec-6] INFO  apollo.UserController  - Updated organism permissions for user test@test.com and organism test and permissions ["ADMINISTRATE","WRITE","EXPORT","READ"]

I just reinstalled tomcat7 newly to make sure i dont drag old errors along. If i look at catalina.2016-02-18.log, i get:

Feb 18, 2016 5:09:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 5:09:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 5:09:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 5:09:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 5:09:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 5:09:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Feb 18, 2016 5:09:56 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Feb 18, 2016 5:09:56 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 459 ms
Feb 18, 2016 5:09:56 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Feb 18, 2016 5:09:56 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52 (Ubuntu)
Feb 18, 2016 5:09:56 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT
Feb 18, 2016 5:09:57 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Feb 18, 2016 5:09:57 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1009 ms
Feb 18, 2016 5:10:35 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Feb 18, 2016 5:10:35 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Feb 18, 2016 5:10:35 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Feb 18, 2016 5:10:35 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
nathandunn commented 8 years ago

I’m not entirely sure what the issue is here.

From here you could try:

http://askubuntu.com/questions/487374/how-to-install-tomcat7-in-ubuntu-14-04-lts

sudo dpkg-reconfigure tomcat7

It looks like it tried to register, but somehow has a bad name.

Using something like SqlSquirrel, you can do something like this:

select * from grails_user ;

If its empty I’m not sure what you would do other than restart tomcat.

If it is populated with a single username (and no other data), its “possible” you have a bad username registered.

You could try dropping the database (removing the document) or removing the file and seeing what happens.

Also, make sure that tomcat (the user running tomcat) has write permissions on that file (ls -l /home/moser/apollo/prodDb*).

The H2 worked for me just fine, but worst-case, you may wan to try mysql or postgresql. We have some postgresql notes here if you are not used to working with it: http://webapollo.readthedocs.org/en/latest/PostgreSQLSetup.html?highlight=postgresql

Nathan

On Feb 18, 2016, at 7:42 AM, MichelMoser notifications@github.com wrote:

trackList.json:

{ "tracks" : [ { "key" : "Reference sequence", "label" : "DNA", "chunkSize" : 20000, "storeClass" : "JBrowse/Store/Sequence/StaticChunked", "type" : "SequenceTrack", "urlTemplate" : "seq/{refseq_dirpath}/{refseq}-", "category" : "Reference sequence" }, { "key" : "MAKER", "compress" : 0, "style" : { "className" : "feature" }, "trackType" : null, "urlTemplate" : "tracks/MAKER/{refseq}/trackData.json", "type" : "FeatureTrack", "storeClass" : "JBrowse/Store/SeqFeature/NCList", "label" : "MAKER" } ], "names" : { "type" : "Hash", "url" : "names/" }, "formatVersion" : 1 }

catalina.out:

Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false] Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false] Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false] Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false] Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false] Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.ClassLoaderFactory validateFile WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false] Feb 18, 2016 3:39:03 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 432 ms Feb 18, 2016 3:39:03 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Feb 18, 2016 3:39:03 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.52 (Ubuntu) Feb 18, 2016 3:39:03 PM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive /var/lib/tomcat7/webapps/apollo.war Feb 18, 2016 3:39:13 PM org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://www.springframework.org/tags is already defined Feb 18, 2016 3:39:13 PM org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://www.springframework.org/tags/form is already defined log4j:WARN No appenders could be found for logger (org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Configuring Shiro ...

Shiro Configured Feb 18, 2016 3:39:52 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT Feb 18, 2016 3:39:53 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] Feb 18, 2016 3:39:53 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 49419 ms 2016-02-18 15:40:17,755 [http-bio-8080-exec-5] ERROR apollo.PermissionService - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm. 2016-02-18 15:40:17,756 [http-bio-8080-exec-6] ERROR apollo.PermissionService - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm. 2016-02-18 15:40:17,755 [http-bio-8080-exec-7] ERROR apollo.PermissionService - Problem authenticating: org.apache.shiro.authc.AccountException: Null usernames are not allowed by this realm. 2016-02-18 15:41:27,701 [http-bio-8080-exec-6] INFO apollo.UserController - Updating organism permissions 2016-02-18 15:41:27,734 [http-bio-8080-exec-6] INFO apollo.UserController - Updated organism permissions for user test@test.com and organism test and permissions ["ADMINISTRATE"] 2016-02-18 15:41:28,638 [http-bio-8080-exec-6] INFO apollo.UserController - Updating organism permissions 2016-02-18 15:41:28,660 [http-bio-8080-exec-6] INFO apollo.UserController - Updated organism permissions for user test@test.com and organism test and permissions ["ADMINISTRATE","WRITE"] 2016-02-18 15:41:29,509 [http-bio-8080-exec-6] INFO apollo.UserController - Updating organism permissions 2016-02-18 15:41:29,534 [http-bio-8080-exec-6] INFO apollo.UserController - Updated organism permissions for user test@test.com and organism test and permissions ["ADMINISTRATE","WRITE","EXPORT"] 2016-02-18 15:41:30,314 [http-bio-8080-exec-6] INFO apollo.UserController - Updating organism permissions 2016-02-18 15:41:30,340 [http-bio-8080-exec-6] INFO apollo.UserController - Updated organism permissions for user test@test.com and organism test and permissions ["ADMINISTRATE","WRITE","EXPORT","READ"]

— Reply to this email directly or view it on GitHub.