Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem using AWS Cognito to authenticate users for S3 access #1598

Open
mblanche opened this issue Oct 8, 2024 · 9 comments
Open

Problem using AWS Cognito to authenticate users for S3 access #1598

mblanche opened this issue Oct 8, 2024 · 9 comments

Comments

@mblanche
Copy link

mblanche commented Oct 8, 2024

Hi there,

I tried following the steps described on the UMCCR Genomics Platform Group to use AWS Cognito user pools and identity pools to authenticate access to S3 resources containing files to be used in IGV. The steps describe could benefit from a refresh as the AWS console for Cognito is dramatically different from when the tutorial was writen. Nonetheless, I was able to create both a user and identity pool as well as assigning a role with S3 access but somehow, the callback to IGV after the login goes to a web page that says, "This page is not working" and IGV does not seem to be downloading any content from S3.

Just to recap the step I did:

  1. I created a user pool with the following attributes:
    a. I have create an app client with a client id and client secret
    b. The app client is set to auth flows ALLOW_REFRESH_TOKEN_AUTH and ALLOW_USER_SRP_AUTH
    c. I have a hosted UI with a callback set to http://localhost:60151/oauthCallback
    d. Hosted UI identity provider set to Cognito user pool
    e. Hosted UI OAuth 2.0 set to Authorization code grant
    f. Hosted UI OIDC scopes set to aws.cognito.signin.user.admin, Email, Ohone, Profile and OpenID
  2. Then created an Identity pool selecting "Authenticated access" and "Amazon Cognito user pool"
  3. Creating a new IAM role with name igv-cognito-access-role
  4. Selecting the user pool id and App Client Id created in 1. as well as selecting "Use default authenticated role" and "Claim mapping inactive", then naming the user pool and accepting the settings
  5. I then migrated to the User pool IAM role and added the policies, as in-line polices, described on UMCCR web page
  6. Created an S3 webserver to host the oauth-config.json (I'll put the content later)
  7. Updated the IGV advance pref to point to the url of the hosted config file

When I open IGV, I get the Amazon menu, selecting the login trigger the Cognito hosted UI where I can manage my credentials, etc... Then when I login I get redirected to an error page saying "This page is not working" and nothing gets loaded from S3 into IGV.

Not sure what I am missing? Let me paste the different configs and log, no worries about the different secrets, everything got wiped out cleaned...

Let me know if there's more info required, I really need this to work for the project I'm working on right now.

Thanks

Marco

Config file hosted on static S3 web server

oauth-config.json

{
  "apiKey": "",
  "project_id": "igv",
  "auth_provider": "Amazon",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "aws_region": "us-west-1",
  "scope": "email%20openid%20profile",
  "redirect_uris": [
    "http://localhost:60151/oauthCallback"
  ],
  "client_id": "2s1h5pa7l11svqiv0vsr19or5j",
  "client_secret": "3lv8ep1p33lh947bvnjtel01at0pb5b43rtb9ppeqaiaat5uc23",
  "authorization_endpoint": "https://igv.auth.us-west-1.amazoncognito.com/login",
  "token_endpoint": "https://igv.auth.us-west-1.amazoncognito.com/token",
  "aws_cognito_fed_pool_id": "us-west-1:0cb4be16-6b38-42db-92ef-c93d6f26f413",
  "aws_cognito_pool_id": "us-west-1_iPuYrNyji",
  "aws_cognito_role_arn": "arn:aws:iam::01234567890:role/service-role/igv-cognito-access-role"
}

AWS Services and Configs

Then from the AWS Cli:

aws cognito-idp describe-user-pool --user-pool-id us-west-1_iPuYrNyji

{
    "UserPool": {
        "Id": "us-west-1_iPuYrNyji",
        "Name": "IGVuser",
        "Policies": {
            "PasswordPolicy": {
                "MinimumLength": 8,
                "RequireUppercase": true,
                "RequireLowercase": true,
                "RequireNumbers": true,
                "RequireSymbols": true,
                "TemporaryPasswordValidityDays": 7
            }
        },
        "DeletionProtection": "ACTIVE",
        "LambdaConfig": {},
        "LastModifiedDate": "2024-10-02T09:09:55.594000-07:00",
        "CreationDate": "2024-10-02T09:09:55.594000-07:00",
        "SchemaAttributes": [ ... ],
        "AutoVerifiedAttributes": [
            "email"
        ],
        "UsernameAttributes": [
            "email"
        ],
        "VerificationMessageTemplate": {
            "DefaultEmailOption": "CONFIRM_WITH_CODE"
        },
        "UserAttributeUpdateSettings": {
            "AttributesRequireVerificationBeforeUpdate": [
                "email"
            ]
        },
        "MfaConfiguration": "OFF",
        "EstimatedNumberOfUsers": 1,
        "EmailConfiguration": {
            "EmailSendingAccount": "COGNITO_DEFAULT"
        },
        "UserPoolTags": {},
        "Domain": "igv",
        "AdminCreateUserConfig": {
            "AllowAdminCreateUserOnly": true,
            "UnusedAccountValidityDays": 7
        },
        "UsernameConfiguration": {
            "CaseSensitive": false
        },
        "Arn": "arn:aws:cognito-idp:us-west-1:01234567890:userpool/us-west-1_iPuYrNyji",
        "AccountRecoverySetting": {
            "RecoveryMechanisms": [
                {
                    "Priority": 1,
                    "Name": "verified_email"
                }
            ]
        }
    }
}

aws cognito-idp describe-user-pool-client --user-pool-id us-west-1_iPuYrNyji --client-id 2s1h5pa7l11svqiv0vsr19or5j

{
    "UserPoolClient": {
        "UserPoolId": "us-west-1_iPuYrNyji",
        "ClientName": "igvBrowser",
        "ClientId": "2s1h5pa7l11svqiv0vsr19or5j",
        "ClientSecret": "3lv8ep1p33lh947bvnjtel01at0pb5b43rtb9ppeqaiaat5uc23",
        "LastModifiedDate": "2024-10-08T15:36:44.662000-07:00",
        "CreationDate": "2024-10-02T09:09:55.963000-07:00",
        "RefreshTokenValidity": 30,
        "AccessTokenValidity": 60,
        "IdTokenValidity": 60,
        "TokenValidityUnits": {
            "AccessToken": "minutes",
            "IdToken": "minutes",
            "RefreshToken": "days"
        },
        "ReadAttributes": [
            "address",
            "birthdate",
            "email",
            "email_verified",
            "family_name",
            "gender",
            "given_name",
            "locale",
            "middle_name",
            "name",
            "nickname",
            "phone_number",
            "phone_number_verified",
            "picture",
            "preferred_username",
            "profile",
            "updated_at",
            "website",
            "zoneinfo"
        ],
        "WriteAttributes": [
            "address",
            "birthdate",
            "email",
            "family_name",
            "gender",
            "given_name",
            "locale",
            "middle_name",
            "name",
            "nickname",
            "phone_number",
            "picture",
            "preferred_username",
            "profile",
            "updated_at",
            "website",
            "zoneinfo"
        ],
        "ExplicitAuthFlows": [
            "ALLOW_REFRESH_TOKEN_AUTH",
            "ALLOW_USER_SRP_AUTH"
        ],
        "SupportedIdentityProviders": [
            "COGNITO"
        ],
        "CallbackURLs": [
            "http://localhost:60151/oauthCallback"
        ],
        "AllowedOAuthFlows": [
            "code"
        ],
        "AllowedOAuthScopes": [
            "aws.cognito.signin.user.admin",
            "email",
            "openid",
            "phone",
            "profile"
        ],
        "AllowedOAuthFlowsUserPoolClient": true,
        "PreventUserExistenceErrors": "ENABLED",
        "EnableTokenRevocation": true,
        "EnablePropagateAdditionalUserContextData": false,
        "AuthSessionValidity": 3
    }
}

aws cognito-identity describe-identity-pool --identity-pool-id us-west-1:0cb4be16-6b38-42db-92ef-c93d6f26f413

{
    "IdentityPoolId": "us-west-1:0cb4be16-6b38-42db-92ef-c93d6f26f413",
    "IdentityPoolName": "IGV_Identity_pool",
    "AllowUnauthenticatedIdentities": false,
    "AllowClassicFlow": true,
    "CognitoIdentityProviders": [
        {
            "ProviderName": "cognito-idp.us-west-1.amazonaws.com/us-west-1_iPuYrNyji",
            "ClientId": "2s1h5pa7l11svqiv0vsr19or5j",
            "ServerSideTokenCheck": false
        }
    ],
    "IdentityPoolTags": {}
}

aws cognito-identity get-identity-pool-roles --identity-pool-id us-west-1:0cb4be16-6b38-42db-92ef-c93d6f26f413

{
    "IdentityPoolId": "us-west-1:0cb4be16-6b38-42db-92ef-c93d6f26f413",
    "Roles": {
        "authenticated": "arn:aws:iam::01234567890:role/service-role/igv-cognito-access-role"
    }
}

aws iam get-role --role-name igv-cognito-access-role

{
    "Role": {
        "Path": "/service-role/",
        "RoleName": "igv-cognito-access-role",
        "RoleId": "AROARNARCSWGBLNK3CZ2K",
        "Arn": "arn:aws:iam::01234567890:role/service-role/igv-cognito-access-role",
        "CreateDate": "2024-10-08T19:51:48+00:00",
        "AssumeRolePolicyDocument": {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Principal": {
                        "Federated": "cognito-identity.amazonaws.com"
                    },
                    "Action": "sts:AssumeRoleWithWebIdentity",
                    "Condition": {
                        "StringEquals": {
                            "cognito-identity.amazonaws.com:aud": "us-west-1:0cb4be16-6b38-42db-92ef-c93d6f26f413"
                        },
                        "ForAnyValue:StringLike": {
                            "cognito-identity.amazonaws.com:amr": "authenticated"
                        }
                    }
                }
            ]
        },
        "MaxSessionDuration": 3600,
        "RoleLastUsed": {}
    }
}

aws iam get-policy --policy-arn arn:aws:iam::01234567890:policy/S3_access

{
    "AttachedPolicies": [
        {
            "PolicyName": "Cognito-authenticated-1728417108511",
            "PolicyArn": "arn:aws:iam::01234567890:policy/service-role/Cognito-authenticated-1728417108511"
        }
    ]
}

aws iam get-policy-version --policy-arn arn:aws:iam::01234567890:policy/service-role/Cognito-authenticated-1728417108511 --version-id v1

{
    "PolicyVersion": {
        "Document": {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "cognito-identity:GetCredentialsForIdentity"
                    ],
                    "Resource": [
                        "*"
                    ]
                }
            ]
        },
        "VersionId": "v1",
        "IsDefaultVersion": true,
        "CreateDate": "2024-10-08T19:51:48+00:00"
    }
}

aws iam list-role-policies --role-name igv-cognito-access-role

{
    "PolicyNames": [
        "S3_access"
    ]
}

aws iam get-role-policy --role-name igv-cognito-access-role --policy-name S3_access

{
    "RoleName": "igv-cognito-access-role",
    "PolicyName": "S3_access",
    "PolicyDocument": {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "IGVCognitoAuthedUsersProd",
                "Effect": "Allow",
                "Action": [
                    "s3:ListBucket",
                    "s3:GetObject"
                ],
                "Resource": [
                    "arn:aws:s3:::igv-hosted-bam-files",
                    "arn:aws:s3:::igv-hosted-bam-files/*"
                ]
            },
            {
                "Sid": "IGVListBuckets",
                "Effect": "Allow",
                "Action": [
                    "s3:ListAllMyBuckets"
                ],
                "Resource": [
                    "arn:aws:s3:::*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "mobileanalytics:PutEvents",
                    "cognito-sync:*",
                    "cognito-identity:*"
                ],
                "Resource": [
                    "*"
                ]
            }
        ]
    }
}

Logs from IGV

INFO [Oct 08,2024 13:18] [Main] Startup  IGV Version 2.18.2 08/21/2024 12:06 PM
INFO [Oct 08,2024 13:18] [Main] Java 17.0.9 (build 17.0.9+9) 2023-10-17
INFO [Oct 08,2024 13:18] [Main] Java Vendor: Eclipse Adoptium https://adoptium.net/
INFO [Oct 08,2024 13:18] [Main] JVM: OpenJDK 64-Bit Server VM Temurin-17.0.9+9   
INFO [Oct 08,2024 13:18] [Main] OS: Mac OS X 15.0.1 x86_64
INFO [Oct 08,2024 13:18] [Main] IGV Directory: /Users/marcoblanchette/igv
INFO [Oct 08,2024 13:18] [CommandListener] Listening on port 60151
SEVERE [Oct 08,2024 13:18] [DefaultExceptionHandler] Unhandled exception
SEVERE [Oct 08,2024 13:18] [DefaultExceptionHandler] java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
	at [email protected]/org.apache.http.conn.ssl.AbstractVerifier.<init>(AbstractVerifier.java:61)
	at [email protected]/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<init>(AllowAllHostnameVerifier.java:44)
	at [email protected]/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<clinit>(AllowAllHostnameVerifier.java:46)
	at [email protected]/org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
	at java.base/java.util.Optional.map(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
	at [email protected]/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
	at [email protected]/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:36)
	at [email protected]/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:25)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:101)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:88)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory.create(SsoProfileCredentialsProviderFactory.java:68)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.ssoProfileCredentialsProvider(ProfileCredentialsUtils.java:198)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:120)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:102)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.lambda$createCredentialsProvider$1(ProfileCredentialsProvider.java:169)
	at java.base/java.util.Optional.flatMap(Unknown Source)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.createCredentialsProvider(ProfileCredentialsProvider.java:169)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.handleProfileFileReload(ProfileCredentialsProvider.java:135)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.resolveCredentials(ProfileCredentialsProvider.java:126)
	at [email protected]/software.amazon.awssdk.auth.credentials.AwsCredentialsProvider.resolveIdentity(AwsCredentialsProvider.java:54)
	at [email protected]/software.amazon.awssdk.identity.spi.IdentityProvider.resolveIdentity(IdentityProvider.java:60)
	at [email protected]/software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.resolveCredentials(AwsCredentialsProviderChain.java:109)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider.resolveCredentials(LazyAwsCredentialsProvider.java:45)
	at [email protected]/software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider.resolveCredentials(DefaultCredentialsProvider.java:129)
	at org.igv/org.broad.igv.util.AmazonUtils.isAwsProviderPresent(AmazonUtils.java:108)
	at org.igv/org.broad.igv.ui.IGVMenuBar.lambda$updateAWSMenu$2(IGVMenuBar.java:214)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 61 more

INFO [Oct 08,2024 13:18] [GenomeManager] Loading genome: https://igv-genepattern-org.s3.amazonaws.com/genomes/hg38/hg38.json
INFO [Oct 08,2024 13:18] [TrackLoader] Loading resource:  https://hgdownload.soe.ucsc.edu/goldenPath/hg38/database/ncbiRefSeq.txt.gz
SEVERE [Oct 08,2024 13:19] [DefaultExceptionHandler] Unhandled exception
SEVERE [Oct 08,2024 13:19] [DefaultExceptionHandler] java.lang.NoClassDefFoundError: Could not initialize class software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
	at java.base/java.util.Optional.map(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
	at [email protected]/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
	at [email protected]/software.amazon.awssdk.services.cognitoidentity.DefaultCognitoIdentityClientBuilder.buildClient(DefaultCognitoIdentityClientBuilder.java:38)
	at [email protected]/software.amazon.awssdk.services.cognitoidentity.DefaultCognitoIdentityClientBuilder.buildClient(DefaultCognitoIdentityClientBuilder.java:25)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164)
	at org.igv/org.broad.igv.util.AmazonUtils.GetCognitoAWSCredentials(AmazonUtils.java:183)
	at org.igv/org.broad.igv.oauth.OAuthProvider.fetchAccessToken(OAuthProvider.java:236)
	at org.igv/org.broad.igv.batch.CommandListener.processClientSession(CommandListener.java:232)
	at org.igv/org.broad.igv.batch.CommandListener.run(CommandListener.java:140)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory [in thread "AWT-EventQueue-0"]
	at [email protected]/org.apache.http.conn.ssl.AbstractVerifier.<init>(AbstractVerifier.java:61)
	at [email protected]/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<init>(AllowAllHostnameVerifier.java:44)
	at [email protected]/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<clinit>(AllowAllHostnameVerifier.java:46)
	at [email protected]/org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
	at java.base/java.util.Optional.map(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
	at [email protected]/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
	at [email protected]/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:36)
	at [email protected]/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:25)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:101)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:88)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory.create(SsoProfileCredentialsProviderFactory.java:68)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.ssoProfileCredentialsProvider(ProfileCredentialsUtils.java:198)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:120)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:102)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.lambda$createCredentialsProvider$1(ProfileCredentialsProvider.java:169)
	at java.base/java.util.Optional.flatMap(Unknown Source)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.createCredentialsProvider(ProfileCredentialsProvider.java:169)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.handleProfileFileReload(ProfileCredentialsProvider.java:135)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.resolveCredentials(ProfileCredentialsProvider.java:126)
	at [email protected]/software.amazon.awssdk.auth.credentials.AwsCredentialsProvider.resolveIdentity(AwsCredentialsProvider.java:54)
	at [email protected]/software.amazon.awssdk.identity.spi.IdentityProvider.resolveIdentity(IdentityProvider.java:60)
	at [email protected]/software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.resolveCredentials(AwsCredentialsProviderChain.java:109)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider.resolveCredentials(LazyAwsCredentialsProvider.java:45)
	at [email protected]/software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider.resolveCredentials(DefaultCredentialsProvider.java:129)
	at org.igv/org.broad.igv.util.AmazonUtils.isAwsProviderPresent(AmazonUtils.java:108)
	at org.igv/org.broad.igv.ui.IGVMenuBar.lambda$updateAWSMenu$2(IGVMenuBar.java:214)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

SEVERE [Oct 08,2024 13:20] [DefaultExceptionHandler] Unhandled exception
SEVERE [Oct 08,2024 13:20] [DefaultExceptionHandler] java.lang.NoClassDefFoundError: Could not initialize class software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
	at java.base/java.util.Optional.map(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
	at [email protected]/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
	at [email protected]/software.amazon.awssdk.services.cognitoidentity.DefaultCognitoIdentityClientBuilder.buildClient(DefaultCognitoIdentityClientBuilder.java:38)
	at [email protected]/software.amazon.awssdk.services.cognitoidentity.DefaultCognitoIdentityClientBuilder.buildClient(DefaultCognitoIdentityClientBuilder.java:25)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164)
	at org.igv/org.broad.igv.util.AmazonUtils.GetCognitoAWSCredentials(AmazonUtils.java:183)
	at org.igv/org.broad.igv.util.AmazonUtils.ListBucketsForUser(AmazonUtils.java:268)
	at org.igv/org.broad.igv.ui.IGVMenuBar.lambda$createAWSMenu$11(IGVMenuBar.java:1000)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton.doClick(Unknown Source)
	at java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(Unknown Source)
	at java.desktop/java.awt.MenuItem.processActionEvent(Unknown Source)
	at java.desktop/java.awt.MenuItem.processEvent(Unknown Source)
	at java.desktop/java.awt.MenuComponent.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.MenuComponent.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory [in thread "AWT-EventQueue-0"]
	at [email protected]/org.apache.http.conn.ssl.AbstractVerifier.<init>(AbstractVerifier.java:61)
	at [email protected]/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<init>(AllowAllHostnameVerifier.java:44)
	at [email protected]/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<clinit>(AllowAllHostnameVerifier.java:46)
	at [email protected]/org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
	at [email protected]/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
	at java.base/java.util.Optional.map(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at [email protected]/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
	at [email protected]/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
	at [email protected]/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:36)
	at [email protected]/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:25)
	at [email protected]/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:101)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:88)
	at [email protected]/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory.create(SsoProfileCredentialsProviderFactory.java:68)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.ssoProfileCredentialsProvider(ProfileCredentialsUtils.java:198)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:120)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:102)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.lambda$createCredentialsProvider$1(ProfileCredentialsProvider.java:169)
	at java.base/java.util.Optional.flatMap(Unknown Source)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.createCredentialsProvider(ProfileCredentialsProvider.java:169)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.handleProfileFileReload(ProfileCredentialsProvider.java:135)
	at [email protected]/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.resolveCredentials(ProfileCredentialsProvider.java:126)
	at [email protected]/software.amazon.awssdk.auth.credentials.AwsCredentialsProvider.resolveIdentity(AwsCredentialsProvider.java:54)
	at [email protected]/software.amazon.awssdk.identity.spi.IdentityProvider.resolveIdentity(IdentityProvider.java:60)
	at [email protected]/software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.resolveCredentials(AwsCredentialsProviderChain.java:109)
	at [email protected]/software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider.resolveCredentials(LazyAwsCredentialsProvider.java:45)
	at [email protected]/software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider.resolveCredentials(DefaultCredentialsProvider.java:129)
	at org.igv/org.broad.igv.util.AmazonUtils.isAwsProviderPresent(AmazonUtils.java:108)
	at org.igv/org.broad.igv.ui.IGVMenuBar.lambda$updateAWSMenu$2(IGVMenuBar.java:214)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	... 9 more

@jrobinso
Copy link
Contributor

jrobinso commented Oct 9, 2024

@mblanche I can partially reproduce this , it looks like an IGV problem with release 2.18.2 and later. We will investigate and fix for the next release. In the meantime, if you do not need the latest features version 2.18.1 appears to work. You can download old versions here: https://data.broadinstitute.org/igv/projects/downloads/2.18/.

@mblanche
Copy link
Author

mblanche commented Oct 9, 2024 via email

@jrobinso
Copy link
Contributor

jrobinso commented Oct 9, 2024

As soon as we have a fix we'll do a release, I don't have an ETA for that but hopefully not too long. As far as difficulty in installing previous releases, the archive is a bit raw and users might not be sure what to download. Here are direct links for the main platforms:

Windows: https://data.broadinstitute.org/igv/projects/downloads/2.18/IGV_Win_2.18.1-WithJava-installer.exe
Mac: https://data.broadinstitute.org/igv/projects/downloads/2.18/IGV_MacApp_2.18.1_WithJava.zip

Bug fixes for the later releases (2.18.2 and 2.18.4) are here, they don't affect that many users. https://igv.org/doc/desktop/#ReleaseNotes/2.18.x/

@mblanche
Copy link
Author

mblanche commented Oct 9, 2024

@jrobinso , thanks Jim, I can confirm that rolling back to 2.18.1 now returns the message Authorization successful. You may close this tab. on my web browser and that now clicking on the Amazon -> Load from S3 bucket menu, triggers a window within IGV with the content of the S3 bucket and that selecting bam files in the menu load them in the browser.

Thanks a bunch, that's an easy fix for now that I'll deploy to my current users (I'll take a look at the new features in 2.18.2 to make and make sure to manage my users expectations).

Please, let me know when this is fixed in the next stable release. Also, let me know if you guys need helps with updating the HOWTO with the modern AWS console.

@jrobinso
Copy link
Contributor

jrobinso commented Oct 9, 2024

@mblanche Leave this open until we deploy a fix, as a reminder to update.

Thank you for the offer to update the HOWTO! It is hosted at UMCCR, so I'm not sure how logistics would work. We could leave the UMCCR page as is, and post some updated info here: https://igv.org/doc/desktop/#UserGuide/advanced/aws/. @brainstorm thoughts on this (the documentation)?

@brainstorm
Copy link
Contributor

@mblanche Leave this open until we deploy a fix, as a reminder to update.

Thank you for the offer to update the HOWTO! It is hosted at UMCCR, so I'm not sure how logistics would work. We could leave the UMCCR page as is, and post some updated info here: https://igv.org/doc/desktop/#UserGuide/advanced/aws/. @brainstorm thoughts on this (the documentation)?

Hello both and sorry about the bugs... I suppose that bumping the AWS SDK versions along wouldn't hurt and also @jrobinso, let me know if you need some help bisecting this issue or maybe you already narrowed down the cause?

The HOWTO is hosted in GitHub so it should be relatively simple to update it via a pull request? Here's the actual blogposts in Markdown:

https://github.com/umccr-svc/site/blob/master/content/post/2019-02-16-amazon-igv/2019-02-16-amazon-igv.md

https://github.com/umccr-svc/site/tree/master/content/post/2019-08-02-amazon-igv-backend

https://github.com/umccr-svc/site/blob/master/content/post/2021-08-30-amazon-igv-frontend/2021-08-30-amazon-igv-frontend.md

And the image assets are over here:

https://github.com/umccr-svc/site/tree/master/assets/media/img

I'll be happy to review the PR merge the changes ASAP (or as soon as we get that bug fixed). Thanks @mblanche for offering to help out with the docs!

/cc @ohofmann @reisingerf

@jrobinso
Copy link
Contributor

jrobinso commented Oct 9, 2024

@brainstorm I've narrowed down the cause of the bug, its updating the SDK libraries in commit b611dbc . I have it on my todo list to look into this. Its probably something simple.

lbergelson added a commit that referenced this issue Oct 11, 2024
* Fix the amazon failures due to LogFactory not found by adding a module dependency
* on apache logging.  This is necessary because commons-logging became modularized
* between 1.2.0 and 1.3.0 but amazon is expecting the non-modular 1.2.0 while
* 1.3.0 is being brought in due to changes in htsjdk.
* See https://logging.apache.org/blog/2023/12/02/apache-common-logging-1.3.0.html for
* more info.
* Fix for #1598
jrobinso pushed a commit that referenced this issue Oct 11, 2024
* Fix the amazon failures due to LogFactory not found by adding a module dependency (#1598)
* on apache logging.  This is necessary because commons-logging became modularized
* between 1.2.0 and 1.3.0 but amazon is expecting the non-modular 1.2.0 while
* 1.3.0 is being brought in due to changes in htsjdk.
* See https://logging.apache.org/blog/2023/12/02/apache-common-logging-1.3.0.html for
* more info.
* Fix for #1598
@jrobinso
Copy link
Contributor

This is fixed, we'll include it in the next feature release or perhaps do a bug fix release. See #1599 for an explanation.

@brainstorm
Copy link
Contributor

Tested myself, should be fixed, so safe to close this issue? @mblanche?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants