Comments (20)
My guess is : vxl/vxl@3cdc40c
from itk.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from itk.
@nslay vxl has moved to github several years ago. Would you please reference the code on the github vxl site?
from itk.
Thanks for the prompt response!
I'm quite surprised because the github VXL repository has the same discrepancy as ITK while the sourceforge one is thread-safe. Here is the offending non-threadsafe lbfgsb.c code:
https://github.com/vxl/vxl/blob/master/v3p/netlib/opt/lbfgsb.c
I've downloaded the sourceforge one and attached it.
Sorry, github doesn't support C files. I renamed it with a .txt extension.
I wonder what happened in the migration to github!
from itk.
The very first commit on github is threadsafe. I'll try to find where it changed.
https://github.com/vxl/vxl/blob/ae9c7b5a9253f4ac14f5b247a816b5a1a559d80a/v3p/netlib/opt/lbfgsb.c
from itk.
The massive amount of static variables got reintroduced here (to fix another bug):
vxl/vxl@3cdc40c#diff-b59cc8496f016fff270b123014286c74
from itk.
I'm glad VXL is still alive and kicking! It's my favorite numerics library. I thought it was abandoned or was just extremely mature when I saw that the last commit was in 2013 on sourceforge.
Google pointed me to VXL's sourceforge (first result). Github wasn't anywhere in the search results!
from itk.
If somebody has write access to vxl.sourceforge.net, they could add a link to GitHub and state that VXL has moved there.
from itk.
I think that would be @bradking
from itk.
What I don't understand is why f2c emits static variables for otherwise local variables in the original Fortran code. I'd expect this for, say, Fortran's common blocks (yuck!), but not these variables!
Does Fortran have some sort of guarantee about the states of local variables in functions called multiple times?
from itk.
I've opened vxl/vxl#555 to discuss the future of the vxl homepage.
from itk.
@dzenanz FYI: vxl/vxl#555 . VXL homepage moved to github.
from itk.
@nslay f2c probably does not emit static, but f2c often produces a draft of code that subsequently requires modification in order to meet coding standards/ performance/linkage constraints not supported in the original implementation.
It would be fabulous if you could provide a pull request for this codebase that fixes the problem you identified.
both f2c, and the developers that attempted to fix this file are imperfect.
Thanks,
Hans
from itk.
Hi Hans,
ITK/VXL developers are not perfect!? I am outraged!
OK. I will work on this problem. I also apparently need to tidy up ITKIOOpenSlide!
Nate
from itk.
@nslay 👍 It was almost certainly me who made those static. Just be careful not to blindly move the old code forward. It may fix thread safety at the expense of re-introducing other problems.
Thanks for looking into this.
from itk.
hey, shouldn't this be reopened? Sounds like it's not fixed and people have told me it's still and issue. @hjmjohnson @thewtex
from itk.
Yeah yeah, I intended to fix this. I will have another look this weekend.
from itk.
@nslay THANK YOU!!!
You may want to look at recent upstream changes to this code base L-BFGS-B-C for fixing this+potentially other bugs. If you find additional bugs, perhaps we should submit them upstream.
from itk.
@nslay, ditto on @hjmjohnson's THANK YOU!!!
We have some code that can be used to help test when you are ready.
from itk.
This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.
from itk.
Related Issues (20)
- Update clang-format version HOT 2
- Race condition in ObjectMorphology filters HOT 2
- Failed building wheel for itk (is likely not a problem with pip) HOT 6
- Allowing generic output type in `VectorLinearInterpolateImageFunction::EvaluateAtContinuousIndex` HOT 4
- Linux availability of native library for java HOT 5
- GCC 13.2 Missing Headers HOT 3
- Segmentation fault HOT 25
- Address GCC 13.2 compilation issues HOT 5
- Tolerance in image size in regression comparison HOT 4
- itk install error in macOS-latest HOT 10
- Error C1001 An internal error has occurred in the compiler. HOT 4
- String manipulation security: Remove snprintf with user defined formatting options. HOT 8
- Crash when calling NrrdImageIO::Write() with an overly long file name HOT 5
- Detailed CMake options are not marked as advanced. HOT 1
- Defaulting copy constructor, copy assignment, move constructor, and move assignment functions HOT 8
- Inconsistent conversion of VectorImage to numpy HOT 2
- itkTestDriver link error with afl-clang-fast++ compiler HOT 1
- thread race with itkImage::SetPixel() found with thread sanitizer (TSan) HOT 5
- Create weekly builds with python wrapping for ITK and its modules, and submit them to pypi HOT 1
- TubeSpatialObject bounding box includes rounded ends even after they are turned off HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from itk.