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

Null pointer exception when checking CloudFront Distribution on S3 bucket #14669

Closed
Fydon opened this issue May 12, 2023 · 3 comments · Fixed by #14707
Closed

Null pointer exception when checking CloudFront Distribution on S3 bucket #14669

Fydon opened this issue May 12, 2023 · 3 comments · Fixed by #14707
Assignees
Labels
bug s3 AWS S3 Protocol Implementation
Milestone

Comments

@Fydon
Copy link
Contributor

Fydon commented May 12, 2023

Describe the bug
When checking the Distribution on a S3 bucket, it does not show the existing Distribution. Using the latest snapshot (8.5.10 39725) and enabling debugging shows the logs in the Log Files section below. I also tested this with an AWS role that has Administrator access and it had the same problem, so this shouldn't be a permission issue.

To Reproduce
Steps to reproduce the behavior:

  1. Open a S3 connection, where I used S3 (Credentials from AWS Security Token Service)
  2. Select a bucket
  3. Go to File -> Info
  4. Select Distribution (CDN) tab

Expected behavior
Not long ago, the Distribution (CDN) tab showed the distribution connected to the bucket. Currently it stays in the default, almost blank, state.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows
  • Version: 11 Pro 22H2 build 22621.1702

Log Files

2023-05-12 16:35:33,175 [Thread-0] DEBUG ch.cyberduck.core.threading.DefaultBackgroundExecutor - Run action WorkerBackgroundAction{worker=ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}} in background
2023-05-12 16:35:33,187 [Thread-0] DEBUG ch.cyberduck.core.threading.NamedThreadFactory - Create thread for runnable java.util.concurrent.ThreadPoolExecutor$Worker@1d5a2b5[State = -1, empty queue]
2023-05-12 16:35:33,188 [background-11] DEBUG ch.cyberduck.core.threading.BackgroundCallable - Running background action WorkerBackgroundAction{worker=ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}}
2023-05-12 16:35:33,188 [Thread-0] INFO  ch.cyberduck.core.threading.DefaultBackgroundExecutor - Scheduled background runnable WorkerBackgroundAction{worker=ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}} for execution
2023-05-12 16:35:33,188 [background-11] WARN  ch.cyberduck.core.threading.ActionOperationBatcherFactory - No matching constructor for parameter class java.lang.Integer
2023-05-12 16:35:33,188 [background-11] DEBUG ch.cyberduck.core.threading.BackgroundCallable - Prepare background action WorkerBackgroundAction{worker=ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}}
2023-05-12 16:35:33,188 [background-11] DEBUG ch.cyberduck.core.threading.AbstractBackgroundAction - Prepare background task WorkerBackgroundAction{worker=ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}}
2023-05-12 16:35:33,238 [background-11] DEBUG ch.cyberduck.core.threading.BackgroundCallable - Call background action WorkerBackgroundAction{worker=ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}}
2023-05-12 16:35:33,238 [background-11] DEBUG ch.cyberduck.core.Session - Add listener cli.Ch.Cyberduck.Ui.Controller.BrowserController@285325b
2023-05-12 16:35:33,238 [background-11] DEBUG ch.cyberduck.core.LoginConnectionService - Skip opening connection for session Session{host=Host{protocol=Profile{parent=Profile{parent=s3, vendor=iterate GmbH, description=null, image=null}, vendor=s3-token, description=S3 (Credentials from AWS Security Token Service), image=null}, region='null', port=443, hostname='s3.amazonaws.com', credentials=Credentials{user='BibleMesh', oauth='OAuthTokens{accessToken='', refreshToken='', expiryInMilliseconds=9223372036854775807}', token='', identity=null}, uuid='88ef9abf-8cdd-4e18-bff1-e810b36f8117', nickname='BibleMesh', defaultpath='/', workdir=null, custom={s3.upload.expect-continue=true, s3.bucket.virtualhost.disable=false, s3.location=us-east-1, s3.transferacceleration.enable=false}, labels=null}, state=open}
2023-05-12 16:35:33,238 [background-11] DEBUG ch.cyberduck.core.Session - Add listener WorkerBackgroundAction{worker=ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}}
2023-05-12 16:35:33,238 [background-11] DEBUG ch.cyberduck.core.threading.WorkerBackgroundAction - Run worker ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}
2023-05-12 16:35:33,238 [background-11] DEBUG ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration - List Download (HTTP) CDN distributions
2023-05-12 16:35:33,239 [background-11] WARN  ch.cyberduck.core.threading.BackgroundCallable - Failure running background task WorkerBackgroundAction{worker=ReadDistributionWorker{files=[Path{path='/mybucket', type=[directory, volume]}]}}
java.lang.Exception: null
	at ch.cyberduck.core.threading.BackgroundCallable.<init>(BackgroundCallable.java:38) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.threading.DefaultBackgroundExecutor.execute(DefaultBackgroundExecutor.java:81) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.AbstractController.background(AbstractController.java:72) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at cli.Ch.Cyberduck.Ui.Controller.InfoController.DistributionDeliveryMethodChanged(Unknown Source) ~[Cyberduck.exe:?]
	at cli.Ch.Cyberduck.Ui.Controller.InfoController.InitDistribution(Unknown Source) ~[Cyberduck.exe:?]
	at cli.Ch.Cyberduck.Ui.Controller.BrowserController.View_ShowInspector(Unknown Source) ~[Cyberduck.exe:?]
	at cli.Ch.Cyberduck.Ui.Core.Commands$Command$$$003C$$003Ec__DisplayClass6_0.<.ctor>b__1(Unknown Source) ~[Cyberduck.exe:?]
	at cli.System.Windows.Forms.MenuItem.OnClick(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.MenuItem$MenuItemData.Execute(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Command.Invoke(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Control.WmCommand(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Control.WndProc(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.ListView.WndProc(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.BrightIdeasSoftware.ObjectListView.WndProc(Unknown Source) ~[ObjectListView.DLL:?]
	at cli.System.Windows.Forms.NativeWindow.Callback(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Application$ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Application$ThreadContext.RunMessageLoopInner(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Application$ThreadContext.RunMessageLoop(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.Ch.Cyberduck.Ui.Program.Main(Unknown Source) ~[Cyberduck.exe:?]
Caused by: java.lang.NullPointerException
	at ch.cyberduck.core.s3.S3LocationFeature.getLocation(S3LocationFeature.java:99) ~[Cyberduck.Protocols.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.s3.S3LocationFeature.getLocation(S3LocationFeature.java:94) ~[Cyberduck.Protocols.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration.getRegion(CloudFrontDistributionConfiguration.java:667) ~[Cyberduck.Protocols.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration.client(CloudFrontDistributionConfiguration.java:650) ~[Cyberduck.Protocols.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration.read(CloudFrontDistributionConfiguration.java:122) ~[Cyberduck.Protocols.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.cloudfront.WebsiteCloudFrontDistributionConfiguration.read(WebsiteCloudFrontDistributionConfiguration.java:120) ~[Cyberduck.Protocols.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.s3.S3Session$1.read(S3Session.java:104) ~[Cyberduck.Protocols.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.worker.ReadDistributionWorker.run(ReadDistributionWorker.java:57) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.worker.ReadDistributionWorker.run(ReadDistributionWorker.java:35) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.threading.WorkerBackgroundAction.run(WorkerBackgroundAction.java:70) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.threading.SessionBackgroundAction.run(SessionBackgroundAction.java:122) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.threading.SessionBackgroundAction$1.call(SessionBackgroundAction.java:107) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.threading.DefaultRetryCallable.call(DefaultRetryCallable.java:52) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.threading.SessionBackgroundAction.call(SessionBackgroundAction.java:109) ~[Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.threading.BackgroundCallable.run(BackgroundCallable.java:96) [Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at ch.cyberduck.core.threading.BackgroundCallable.call(BackgroundCallable.java:60) [Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:625) [?:1.8.0]
	at ch.cyberduck.core.threading.NamedThreadFactory$1.run(NamedThreadFactory.java:59) [Cyberduck.Core.DLL:54362705b3e10b8f3402a0f715acaacd78e4fc79]
	at java.lang.Thread.run(Thread.java:955) [?:1.8.0]
@jabeler
Copy link

jabeler commented May 17, 2023

I am seeing this same issue on Mac.

This works as expected when downgrading to 8.5.8.39606 (or earlier).

@dkocher dkocher added bug s3 AWS S3 Protocol Implementation labels May 17, 2023
@dkocher dkocher self-assigned this May 17, 2023
@dkocher dkocher added this to the 8.6.0 milestone May 17, 2023
dkocher added a commit that referenced this issue May 23, 2023
@dkocher dkocher linked a pull request May 23, 2023 that will close this issue
dkocher added a commit that referenced this issue May 23, 2023
dkocher added a commit that referenced this issue May 23, 2023
@Fydon
Copy link
Contributor Author

Fydon commented May 24, 2023

Thank you for the fix. Still getting this exception in the latest snapshot (8.6.0 39792). Will try to check later in the week when a new snapshot should contain this fix.

dkocher added a commit that referenced this issue May 25, 2023
Fix null pointer because of initialization order.
@Fydon
Copy link
Contributor Author

Fydon commented May 26, 2023

Using the latest snapshot, I can confirm this is working.

I see people reporting issues with Windows 11. I'm using Windows 11 and it loads fine. I don't install it from the Microsoft Store though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug s3 AWS S3 Protocol Implementation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants