[filesystem] Strange "Function not implemented" exception from directory_iterator
I'm using a recursive_directory_iterator on an Android ARM device (armeabi-v7a, clang compiler, API 15, LLVM STL). The exception I get comes from directory_iterator_increment in operations.cpp (when it does the dir_itr_increment() call and checks the `temp_ec` variable, there is a throw below that). The what() of the exception says: boost::filesystem::directory_iterator::operator++: Function not implemented: "/data/ziosk/content/Common/DemoMode/font" I doubt this is a permissions issue. Which function is not implemented? Is this a POSIX / LIBC issue? I have no idea at this point...
Anyone have any advice on this issue?
On Tue, Jul 25, 2017 at 4:34 PM, Robert Dailey
I'm using a recursive_directory_iterator on an Android ARM device (armeabi-v7a, clang compiler, API 15, LLVM STL). The exception I get comes from directory_iterator_increment in operations.cpp (when it does the dir_itr_increment() call and checks the `temp_ec` variable, there is a throw below that).
The what() of the exception says:
boost::filesystem::directory_iterator::operator++: Function not implemented: "/data/ziosk/content/Common/DemoMode/font"
I doubt this is a permissions issue. Which function is not implemented? Is this a POSIX / LIBC issue? I have no idea at this point...
On 7/27/2017 4:49 PM, Robert Dailey via Boost-users wrote:
Anyone have any advice on this issue?
Please do not top post.
On Tue, Jul 25, 2017 at 4:34 PM, Robert Dailey
wrote: I'm using a recursive_directory_iterator on an Android ARM device (armeabi-v7a, clang compiler, API 15, LLVM STL). The exception I get comes from directory_iterator_increment in operations.cpp (when it does the dir_itr_increment() call and checks the `temp_ec` variable, there is a throw below that).
The what() of the exception says:
boost::filesystem::directory_iterator::operator++: Function not implemented: "/data/ziosk/content/Common/DemoMode/font"
I doubt this is a permissions issue. Which function is not implemented? Is this a POSIX / LIBC issue? I have no idea at this point...
In the source code for operations.cpp in the directory_iterator_increment function you can see where the exception is being thrown. After building filesystem, try tracing into the above function to see what is going on.
On Thu, Jul 27, 2017 at 5:57 PM, Edward Diener via Boost-users
On 7/27/2017 4:49 PM, Robert Dailey via Boost-users wrote:
Anyone have any advice on this issue?
Please do not top post.
On Tue, Jul 25, 2017 at 4:34 PM, Robert Dailey
wrote: I'm using a recursive_directory_iterator on an Android ARM device (armeabi-v7a, clang compiler, API 15, LLVM STL). The exception I get comes from directory_iterator_increment in operations.cpp (when it does the dir_itr_increment() call and checks the `temp_ec` variable, there is a throw below that).
The what() of the exception says:
boost::filesystem::directory_iterator::operator++: Function not implemented: "/data/ziosk/content/Common/DemoMode/font"
I doubt this is a permissions issue. Which function is not implemented? Is this a POSIX / LIBC issue? I have no idea at this point...
In the source code for operations.cpp in the directory_iterator_increment function you can see where the exception is being thrown. After building filesystem, try tracing into the above function to see what is going on.
If by "tracing" you mean debug, I can't. This is using Android NDK and I'm using CMake to build against that toolchain. At the moment I cannot get on-device debugging working, and using an emulator is out of the question for various reasons I don't dive into. Any other advice? Thanks for the reply, by the way.
On 7/28/2017 10:59 AM, Robert Dailey via Boost-users wrote:
On Thu, Jul 27, 2017 at 5:57 PM, Edward Diener via Boost-users
wrote: On 7/27/2017 4:49 PM, Robert Dailey via Boost-users wrote:
Anyone have any advice on this issue?
Please do not top post.
On Tue, Jul 25, 2017 at 4:34 PM, Robert Dailey
wrote: I'm using a recursive_directory_iterator on an Android ARM device (armeabi-v7a, clang compiler, API 15, LLVM STL). The exception I get comes from directory_iterator_increment in operations.cpp (when it does the dir_itr_increment() call and checks the `temp_ec` variable, there is a throw below that).
The what() of the exception says:
boost::filesystem::directory_iterator::operator++: Function not implemented: "/data/ziosk/content/Common/DemoMode/font"
I doubt this is a permissions issue. Which function is not implemented? Is this a POSIX / LIBC issue? I have no idea at this point...
In the source code for operations.cpp in the directory_iterator_increment function you can see where the exception is being thrown. After building filesystem, try tracing into the above function to see what is going on.
If by "tracing" you mean debug, I can't.
Yes, I meant debug.
This is using Android NDK and I'm using CMake to build against that toolchain. At the moment I cannot get on-device debugging working, and using an emulator is out of the question for various reasons I don't dive into.
Any other advice? Thanks for the reply, by the way.
I do not know the Android NDK at all, and I am not the author of filesystem. Your other alternatives might be: 1) Insert some sort of output/logging type statements in the filesystem source which will tell you more about why this error is happening. 2) Report this as an issue on the filesystem github page or, if that is not available, as a bug in the Boost Trac system. For 1) I pointed out to you from where the error is occurring and it should be fairly easy for you to drill down further in the code in order to try to get more specific information.
participants (2)
-
Edward Diener
-
Robert Dailey