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

NPE on PUT using file api #278

Open
MarkRx opened this issue May 7, 2021 · 2 comments
Open

NPE on PUT using file api #278

MarkRx opened this issue May 7, 2021 · 2 comments

Comments

@MarkRx
Copy link

MarkRx commented May 7, 2021

The jclouds library throws an NPE when logging doing a PUT request of a file. Looks like this might be fixed by updating it to 2.3.0.

Stack trace:

May 07, 2021 10:29:11 AM org.jclouds.logging.jdk.JDKLogger logError
SEVERE: Error parsing input: null
java.lang.NullPointerException
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$MapTypeAdapter.read(NullFilteringTypeAdapterFactories.java:319)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$MapTypeAdapter.read(NullFilteringTypeAdapterFactories.java:287)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.readAndBuild(NullFilteringTypeAdapterFactories.java:96)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:84)
	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:63)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:275)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:187)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:275)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:187)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:275)
	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:187)
	at com.google.gson.Gson.fromJson(Gson.java:927)
	at com.google.gson.Gson.fromJson(Gson.java:892)
	at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:55)
	at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:82)
	at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:76)
	at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:61)
	at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:41)
	at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91)
	at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74)
	at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45)
	at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
	at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:86)
	at com.sun.proxy.$Proxy65.updateContent(Unknown Source)
	at com.paychex.eba.jenkins.scripts.dvs2731.MassUpdateBitBucketRepositories$3.accept(MassUpdateBitBucketRepositories.xtend:73)
	at com.paychex.eba.jenkins.scripts.dvs2731.MassUpdateBitBucketRepositories$3.accept(MassUpdateBitBucketRepositories.xtend)
	at java.util.LinkedHashMap$LinkedValues.forEach(LinkedHashMap.java:608)
	at com.paychex.eba.jenkins.scripts.dvs2731.MassUpdateBitBucketRepositories.main(MassUpdateBitBucketRepositories.xtend:30)

The response object is:

Commit{errors=[Error{context=Error parsing input: null
{statusCode=200, headers={Keep-Alive=[timeout=20], Transfer-Encoding=[chunked], X-AREQUESTID=[*15PXC7Fx621x19886146x1], X-Content-Type-Options=[nosniff], Connection=[keep-alive], Date=[Fri, 07 May 2021 14:21:35 GMT], X-ASEN=[SEN-5036746], X-AUSERNAME=[mrichar2], Vary=[accept-encoding,x-auserid,cookie,x-ausername,accept-encoding], X-AUSERID=[3475]}, payload=[content=true, contentMetadata=[cacheControl=no-cache, no-transform, contentDisposition=null, contentEncoding=null, contentLanguage=null, contentLength=null, contentMD5=null, contentType=application/json;charset=UTF-8, expires=null], written=false, isSensitive=false]}, message=Failed to parse output: message=com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 8 path $, exceptionName=com.google.gson.JsonSyntaxException, conflicted=false, vetoes=[]}], id=-1, displayId=-1, author=null, authorTimestamp=0, committer=null, committerTimestamp=0, message=null, parents=[]}

Expected Behavior

It works :)

Current Behavior

NPE

Context

Running basic script

Steps to Reproduce (for bugs)

I'm calling client.getApi().getFileApi().updateContent("~mrichar2", "mtest", "test3.txt", "test-replace4", "marktestguildaaa-ddd", null, "9550b92f85df28609d22c66ddf43df2aab6a434c", null)

Your Environment

BB Server 7.3.1
Java 8

@MarkRx
Copy link
Author

MarkRx commented May 7, 2021

Looks like the dependency has been updated to 2.3.0 on master: build.gradle

adbabe4

I guess I need to wait for a new build. In the mean time I can manually bump up the dependency.

@cdancy
Copy link
Owner

cdancy commented May 7, 2021

@MarkRx yes! However ... I have failed to migrate this project over to maven since bintray closed down. I really need to get on that...

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

2 participants