-
Notifications
You must be signed in to change notification settings - Fork 4
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
debug build against non-debug Tcl weird behaviour #5
Comments
Output from make:
With
|
Same with clang 3.7.1 and clang 3.8.0, gcc-4.8.5 works fine instead. This is all on FreeBSD 10.3-RELEASE-p2, amd64. |
I think I got it. mdb_mode_t is typedef'd to mode_t, which on FreeBSD amd64 is eventually typedef'd to unsigned short - 16 bits. Doing Tcl_GetIntFromObj on it overwrites part of the char * holding the path variable. |
So, I nailed down the environment where I can reproduce the failure to this:
./configure --enable-symbols --with-system-lmdb --with-tcl=/usr/local/lib/tcl8.6/
I see this failure:
Which I nailed down to this snippet.
The for loop is entered twice, the first time to parse the
-path "."
arguments pair, the second time to parse the-mode 0664
arguments pair.path
is nice until the call at 1376 returns, then it's junk. Here's an extract from my debugging session:I am not able to explain this yet.
The text was updated successfully, but these errors were encountered: