igvteam / igv

Integrative Genomics Viewer. Fast, efficient, scalable visualization tool for genomics data and annotations
https://igv.org
MIT License
647 stars 386 forks source link

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

Open mblanche opened 1 month ago

mblanche commented 1 month ago

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 org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AbstractVerifier.<init>(AbstractVerifier.java:61)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<init>(AllowAllHostnameVerifier.java:44)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<clinit>(AllowAllHostnameVerifier.java:46)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
    at java.base/java.util.Optional.map(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
    at java.base/java.util.ArrayList.forEach(Unknown Source)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:36)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:25)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:101)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:88)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory.create(SsoProfileCredentialsProviderFactory.java:68)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.ssoProfileCredentialsProvider(ProfileCredentialsUtils.java:198)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:120)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:102)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.lambda$createCredentialsProvider$1(ProfileCredentialsProvider.java:169)
    at java.base/java.util.Optional.flatMap(Unknown Source)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.createCredentialsProvider(ProfileCredentialsProvider.java:169)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.handleProfileFileReload(ProfileCredentialsProvider.java:135)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.resolveCredentials(ProfileCredentialsProvider.java:126)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.AwsCredentialsProvider.resolveIdentity(AwsCredentialsProvider.java:54)
    at software.amazon.awssdk.identity.spi@2.27.4/software.amazon.awssdk.identity.spi.IdentityProvider.resolveIdentity(IdentityProvider.java:60)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.resolveCredentials(AwsCredentialsProviderChain.java:109)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider.resolveCredentials(LazyAwsCredentialsProvider.java:45)
    at software.amazon.awssdk.auth@2.27.4/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 software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
    at java.base/java.util.Optional.map(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
    at java.base/java.util.ArrayList.forEach(Unknown Source)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
    at software.amazon.awssdk.services.cognitoidentity@2.27.4/software.amazon.awssdk.services.cognitoidentity.DefaultCognitoIdentityClientBuilder.buildClient(DefaultCognitoIdentityClientBuilder.java:38)
    at software.amazon.awssdk.services.cognitoidentity@2.27.4/software.amazon.awssdk.services.cognitoidentity.DefaultCognitoIdentityClientBuilder.buildClient(DefaultCognitoIdentityClientBuilder.java:25)
    at software.amazon.awssdk.core@2.27.4/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 org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AbstractVerifier.<init>(AbstractVerifier.java:61)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<init>(AllowAllHostnameVerifier.java:44)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<clinit>(AllowAllHostnameVerifier.java:46)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
    at java.base/java.util.Optional.map(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
    at java.base/java.util.ArrayList.forEach(Unknown Source)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:36)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:25)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:101)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:88)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory.create(SsoProfileCredentialsProviderFactory.java:68)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.ssoProfileCredentialsProvider(ProfileCredentialsUtils.java:198)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:120)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:102)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.lambda$createCredentialsProvider$1(ProfileCredentialsProvider.java:169)
    at java.base/java.util.Optional.flatMap(Unknown Source)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.createCredentialsProvider(ProfileCredentialsProvider.java:169)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.handleProfileFileReload(ProfileCredentialsProvider.java:135)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.resolveCredentials(ProfileCredentialsProvider.java:126)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.AwsCredentialsProvider.resolveIdentity(AwsCredentialsProvider.java:54)
    at software.amazon.awssdk.identity.spi@2.27.4/software.amazon.awssdk.identity.spi.IdentityProvider.resolveIdentity(IdentityProvider.java:60)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.resolveCredentials(AwsCredentialsProviderChain.java:109)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider.resolveCredentials(LazyAwsCredentialsProvider.java:45)
    at software.amazon.awssdk.auth@2.27.4/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 software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
    at java.base/java.util.Optional.map(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
    at java.base/java.util.ArrayList.forEach(Unknown Source)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
    at software.amazon.awssdk.services.cognitoidentity@2.27.4/software.amazon.awssdk.services.cognitoidentity.DefaultCognitoIdentityClientBuilder.buildClient(DefaultCognitoIdentityClientBuilder.java:38)
    at software.amazon.awssdk.services.cognitoidentity@2.27.4/software.amazon.awssdk.services.cognitoidentity.DefaultCognitoIdentityClientBuilder.buildClient(DefaultCognitoIdentityClientBuilder.java:25)
    at software.amazon.awssdk.core@2.27.4/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 org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AbstractVerifier.<init>(AbstractVerifier.java:61)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<init>(AllowAllHostnameVerifier.java:44)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.AllowAllHostnameVerifier.<clinit>(AllowAllHostnameVerifier.java:46)
    at org.apache.httpcomponents.httpclient@4.5.13/org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.lambda$getPreferredSocketFactory$0(ApacheHttpClient.java:678)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheHttpClient.java:678)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$ApacheConnectionManagerFactory.create(ApacheHttpClient.java:657)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.createClient(ApacheHttpClient.java:151)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:125)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient.<init>(ApacheHttpClient.java:104)
    at software.amazon.awssdk.http.apache@2.27.4/software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.buildWithDefaults(ApacheHttpClient.java:649)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.lambda$buildWithDefaults$0(DefaultSdkHttpClientBuilder.java:42)
    at java.base/java.util.Optional.map(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder.buildWithDefaults(DefaultSdkHttpClientBuilder.java:42)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$resolveSyncHttpClient$17(SdkDefaultClientBuilder.java:436)
    at java.base/java.util.Optional.orElseGet(Unknown Source)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.resolveSyncHttpClient(SdkDefaultClientBuilder.java:436)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.lambda$finalizeSyncConfiguration$5(SdkDefaultClientBuilder.java:306)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.primeCache(AttributeMap.java:604)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$DerivedValue.get(AttributeMap.java:593)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.resolveValue(AttributeMap.java:400)
    at java.base/java.util.ArrayList.forEach(Unknown Source)
    at software.amazon.awssdk.utils@2.27.4/software.amazon.awssdk.utils.AttributeMap$Builder.build(AttributeMap.java:362)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.config.SdkClientConfiguration$Builder.build(SdkClientConfiguration.java:232)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.finalizeSyncConfiguration(SdkDefaultClientBuilder.java:308)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:198)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:36)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.DefaultSsoClientBuilder.buildClient(DefaultSsoClientBuilder.java:25)
    at software.amazon.awssdk.core@2.27.4/software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:101)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.<init>(SsoProfileCredentialsProviderFactory.java:88)
    at software.amazon.awssdk.services.sso@2.27.4/software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory.create(SsoProfileCredentialsProviderFactory.java:68)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.ssoProfileCredentialsProvider(ProfileCredentialsUtils.java:198)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:120)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils.credentialsProvider(ProfileCredentialsUtils.java:102)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.lambda$createCredentialsProvider$1(ProfileCredentialsProvider.java:169)
    at java.base/java.util.Optional.flatMap(Unknown Source)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.createCredentialsProvider(ProfileCredentialsProvider.java:169)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.handleProfileFileReload(ProfileCredentialsProvider.java:135)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider.resolveCredentials(ProfileCredentialsProvider.java:126)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.AwsCredentialsProvider.resolveIdentity(AwsCredentialsProvider.java:54)
    at software.amazon.awssdk.identity.spi@2.27.4/software.amazon.awssdk.identity.spi.IdentityProvider.resolveIdentity(IdentityProvider.java:60)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.resolveCredentials(AwsCredentialsProviderChain.java:109)
    at software.amazon.awssdk.auth@2.27.4/software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider.resolveCredentials(LazyAwsCredentialsProvider.java:45)
    at software.amazon.awssdk.auth@2.27.4/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 commented 1 month ago

@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 commented 1 month ago

As usual, thanks Jim for your expedite response! I’ll test on my side and let you know. I’m concern on how easy this can be deploy to my users? Is reving down a release something general pop fine it easy? Sent from my iPhoneOn Oct 8, 2024, at 5:41 PM, Jim Robinson @.***> wrote: @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/.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

jrobinso commented 1 month ago

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 commented 1 month ago

@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 commented 1 month ago

@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 commented 1 month ago

@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 commented 1 month ago

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

jrobinso commented 1 month ago

This is fixed, we'll include it in the next feature release or perhaps do a bug fix release. See https://github.com/igvteam/igv/pull/1599 for an explanation.