-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Poco::format receives empty Vector<Any> #3683
Comments
@KevDi I recommend a thorough cleanup and check of your development environment - my best guess at this point is that you have some headers or binaries version mixup somewhere |
ok yeah this could be possible because i just did a git pull to get the latest version of the master branch so maybe i check it out directly from git again to get a clean version of poco |
@aleks-f i did some further investigations on two different systems.
System 2:
On both systems i did a clean checkout of the Poco Library and build them with the On both systems i created a simple Console Application with the default settings from Visual Studio.
Both of the Project had the Conformance Mode set to If i set Conformance Mode to I searched then about the option on the Windows Documentation (/permissive- (Standards conformance) I looked also into what of the It seems like the Option which causes the Problem is the Here is the Documentation of the |
ah, it probably wants a |
@aleks-f i stopped counting how often i was frustrated by Microsoft and it's interpretation of the C++ Standard. |
@aleks-f i tried adding |
I'm starting to lean towards a compiler bug. If there is a corresponding define for the Btw, I'm not seeing |
An interesting observation: it will compile with both Although it obviously has an effect, the explicitly enabled two-phase lookup is not recognized as a valid option:
|
@aleks-f according to the documentation it seems like there is only the |
@aleks-f It seems like Microsoft has approved this as a Bug according to my Request on the Developer Community.
an
|
* fix(Thread_POSIX): sleep() poor performance #3703 * chore(vscode): add file associations * fix(TaskManager): waits for all threads in the ThreadPool #3704 * fix(Thread): call std::this_thread::sleep_for() to sleep #3703 * fix(PollSet): wakeup fd is never read #3708 * feat(Thread): Add Thread::set/getAffinity() #3709 * doc(Thread): Thread::trySleep() assertion #3710 * fix(PollSet): wakeup fd is never read (windows portion and some other optimizations) #3708 * feat(SocketReactor): improvements #3713 * chore(ThreadTest): add missing include * fix(PollSet): wakeup fd is never read #3708 * fix(Any): #3682 #3683 #3692 #3712 * fix(mingw): lowercase winsock2 and iphlpapi to allow cross compile #3711 * feat(Thread): Add Thread::set/getAffinity() #3709 * chore(SocketReactor): one-liners inlined, removed redundant try/catch in dospatch, remove unused onBusy() * feat(SocketReactor): add socket to ErrorNotification * fix(SocketReactor): pollTimeout assignment and ConnectorTest leak
Describe the bug
I have the strange behaviour that when i call
Poco::format(std::string& result, const std::string& fmt, const std::vector<Any>& values)
the function always receives an empty vector. This will then crash the Program because it tries to dereference an iterator to that vector.To Reproduce
This is the Example which leads to the crash on my side:
If i call a function which accepts a Reference to an
std:vector<Poco::Any>
the function receives the correct vector.I'm not sure why it is not working in the
Poco::format
function.Here you can see that the vector contains elements before calling
Poco::format
:and inside
Poco::format
:Please add relevant environment information:
The text was updated successfully, but these errors were encountered: