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

Publish to bintray #11

Closed
j-t-h opened this issue Feb 7, 2017 · 14 comments
Closed

Publish to bintray #11

j-t-h opened this issue Feb 7, 2017 · 14 comments
Milestone

Comments

@j-t-h
Copy link

j-t-h commented Feb 7, 2017

Do you know when these recent updates will be included in a build published to jCenter/bintray?

Currently is the only way to get the "NegativeArraySizeException" update is to pull down the entire project and include/build locally?

I would rather use the gradle file for including the dependency.

dependencies {
...
compile 'com.android.volley:volley:1.0.0'
}

@j-t-h
Copy link
Author

j-t-h commented Apr 20, 2017

Any update to when we might see an updated version of Volley published with the changes from the last few months?

@jpd236
Copy link
Collaborator

jpd236 commented Apr 21, 2017

Sorry for the delay. I'm not sure about a proper numeric release - I think it might be good to get a few more of the open bugs fixed before we do this - but I'm looking now into getting snapshot builds running for anyone interested in picking up fixes prior to release.

@ncruces
Copy link

ncruces commented May 24, 2017

Any news on this?

@joebowbeer
Copy link
Contributor

@j-t-h I believe that another common occurrence of NegativeArraySizeException (NASE) has yet to be fixed. readHeader is also called from initialize(), but NASE is not caught there. The exception caught in get() will be thrown iff the entry is accessed after it has been written but before the cache has been re-initialized, while the exception in initialize() will be thrown if the entry was not accessed before the cache was re-initialized (and will be thrown every time the cache is initialized thereafter). In both call sites, a bad length field is even more likely to cause an OutOfMemoryError (OOME), which is not caught. See Issue #12. Please update #12 if you have more details. I intend to update my pull request soon.

jpd236 added a commit that referenced this issue Jun 2, 2017
This publishes a new build to:

https://oss.jfrog.org/artifactory/oss-snapshot-local/com/android/volley/volley/

every time a new commit is pushed to the master branch. Other branches
and pull requests are ignored.

Additional cleanup:

-Remove obsolete Maven configuration files.
-Remove direct-to-bintray publishing config, as in the future we will
be promoting SNAPSHOTS rather than publishing directly.
-Update build metadata to reflect move from AOSP to GitHub.

See #11
@joebowbeer
Copy link
Contributor

@j-t-h Update: In the process of adding more tests to DiskBasedCacheTest, I observe that the NegativeArraySizeException (NASE) handling in the get() method is not actually removing the entry! I believe this is because the finally handler is closing the file input stream after an attempt is made to delete the underlying file. If the failure in get() does not actually remove the file, a subsequent initialize() should also fail, and crash the app: because there is no handler for NASE in initialize(). So it appears that neither NASE and OutOfMemoryError (OOME), the more prevalent related problem due to bad lengths, are effectively handled.

@jpd236
Copy link
Collaborator

jpd236 commented Jul 11, 2017

We should use the specific issues like #12 to track particular bugs - this bug is really just tracking getting a process going where we publish new releases as noted above.

And on that note - we now have snapshots up and running for every commit merged into Volley's master branch. The URL is here:

https://oss.jfrog.org/artifactory/oss-snapshot-local/com/android/volley/volley/

so I believe you can add:

maven { url 'https://oss.jfrog.org/artifactory/oss-snapshot-local/' }

to your repositories {} section in a build.gradle file (or the equivalent for whatever other build system you're using) and set your volley dependency to com.android.volley:volley:1.0.1-SNAPSHOT to use the latest snapshot. This will allow you to pick up bug fixes prior to their official release as long as you're willing to use the bleeding edge of Volley.

Closing this out. We plan to promote one of these snapshots to a proper 1.0.1 release once more issues have been resolved as noted above.

@jpd236 jpd236 closed this as completed Jul 11, 2017
@ncruces
Copy link

ncruces commented Jul 11, 2017

Volley is the recommended by Google way of doing HTTP requests on Android.

Latest release was years ago, and there are abhorrent bugs lurking. Some have supposedly since been fixed in master (who knows which?), but you've now gone for an additional 7 months with zero releases.

This situation is untenable. Volley is not a done thing you can make one release of every three years and then let rot. Either get on with it, or abandon it and leave it to the community to do your work for you. Don't promote stuff you don't intend to offer decent support for.

Sick of waiting. Have better things to do than track a NegativeArraySizeException on an HTTP client library that stays unfixed for 3 years.

@fractalbob
Copy link

The workaround suggested earlier, using the 1.0.1 snapshot, did nothing for me; I'm still running out of memory.

@jpd236
Copy link
Collaborator

jpd236 commented Dec 11, 2017

This fix is in the finalized 1.1.0 release. If you're still encountering issues with that, please file a new bug with more information about where the crash occurs, what your app is doing, what devices / platform versions you see it on, and ideally some sample code to reproduce the issue. I'm not aware of any outstanding open issues in this area.

@fractalbob
Copy link

fractalbob commented Dec 11, 2017 via email

@jpd236
Copy link
Collaborator

jpd236 commented Dec 11, 2017

Sorry for not being clear - it's already out :) We've been announcing releases in our Google Group (https://groups.google.com/d/topic/volley-users/9Qg4LStDC-U/discussion) and they're also posted to GitHub and Bintray.

That being said, it's identical to the most recent 1.0.1 snapshots, so I wouldn't expect it to work differently for you if those weren't working (assuming you tested recently). But good to confirm + get a new stack trace so we can look further into it. Thank you!

@fractalbob
Copy link

fractalbob commented Dec 12, 2017 via email

@androidb88
Copy link

Do you know when these recent updates will be included in a build published to jCenter/bintray?

Currently is the only way to get the "NegativeArraySizeException" update is to pull down the entire project and include/build locally?

I would rather use the gradle file for including the dependency.

dependencies {
...
compile 'com.android.volley:volley:1.0.0'
}

@jpd236
Copy link
Collaborator

jpd236 commented Jul 22, 2020

https://bintray.com/android/android-utils/com.android.volley.volley/1.1.1 has been out since 2018. If that's not new enough, there are also Snapshot builds for each commit to master available at oss.jfrog.org.

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

6 participants