Re: [boost] VC++ 7.1 build options lead to AV

Ashok Thirumurthi wrote: Dear Boost,
The following call stack leads to an access violation when I link a VC 7.1 DLL to the release build of the boost signals 1_33_0 DLL. In comparison, there is no access violation when I link to the debug build of the same library. Similarly, when I add the signals source to my own release DLL, there is no access violation. I attempted to disable all compiler optimizations in msvc.jam as follows. However, after running bjam -a in signals\build and installing the output, the AV still occurs.
You were commenting out BBv2 code. Boost.Signals is being build with BBv1 (if you were building it from the boost root), use "bjam -a --v2" to build with BBv2. Also, you can use:
bjam -a --v2 optimization=off
to turn off the optimization?
Thanks. Disabling all optimizations prevents the access violation.
How can I alter the release build to avoid the access violation?
Access violation reading location 0x00000004 (*((k2).content)).__vfptr is 0x00000000
bool operator()(const any& k1, const any& k2) const { if (k1.type() == typeid(front_type)) return !(k2.type() == typeid(front_type)); if (k1.type() == typeid(back_type)) return false;
if (k2.type() == typeid(front_type))
This looks to be an issue with either Boost.Any or your code. What is any::type() returning?
Actually, the () operator is crashing with the access violation. When I run without optimizations, k1.type is front_type and k2.type is back_type. If I optimize for speed (/O2), k1.content is null and k2.content.__vfptr is null. So, type() cannot be evaluated. If I optimize for size (/O1), I observe an invalid lock sequence exception (0xC000001E) when constructing a _Tree_ptr.
Have you made sure that RTTI is enabled for everything (including your own project -- is there a difference in the vcproj Configurations?)
Yes.
Are you doing something in the Debug version that is not in the Release version?
Are you linking with the right variant of the boost libraries? Is there a conflict with the run-time library being used?
I can reproduce the problem and the work-around by compiling the boost source into a DLL using a VC++ 7.1 project. Initially, I had used the bjam scripts without any modification after installing the full 1_33 source. I was able to reproduce the problem with boost 1_32. However, I'm not sure how to determine if a conflict exists. Thanks to your advice regarding bjam, I have a work-around in hand, - Ashok
- Reece
------------------------------
Message: 4 Date: Sat, 29 Oct 2005 10:43:59 +0100 From: "Paul A Bristow" <pbristow@hetp.u-net.com> Subject: Re: [boost] Documentation Wizard To: <boost@lists.boost.org> Message-ID: <E1EVnFw-0007Bf-Oz@he304war.uk.vianw.net> Content-Type: text/plain; charset="us-ascii"
| -----Original Message----- | From: boost-bounces@lists.boost.org | [mailto:boost-bounces@lists.boost.org] On Behalf Of Rob Stewart | Sent: 27 October 2005 23:21 | To: boost@lists.boost.org | Subject: [boost] Documentation Wizard | | Quite some time ago, Dave Abrahams announced that I was the new | Boost Documentation Wizard. I said I'd write something on the | subject and that is long overdue. Herewith, I describe what I | think the DocWiz should do and what is needed from volunteers to | make it happen. That is, I'm trying to document the new DocWiz | role and solicit your help.
My first impression is that this is a bit over-bureaucratic. You
obviously
need this sort of style managing 8 offspring ;-) , but Boosters are all volunteers and we have to be greatful for all the help we can get.
Authors are severely handicapped when writing documentation by knowing too much.
And they are often exhausted by the process of getting the code to work on the myriad of inconsistent platforms and versions.
So _any_ documentation editing is likely to be an improvement.
So I think you should just ask for someone (usually only one - we don't have _common_ tools for handling versioning and changes well) willing to contribute to editing each library. The code author and the editor will have to try to agree: only if they are uncertain should theygo out to the wider Boost audience.
Since I have the advantage of having English as my first language (and not the corrupted version of those renegage ex-colonials ;-), and I have enough knowledge of other languages to greatly admire those whose first language is not English struggling with the erudite esoteric elite Boost discussions, I may offer to edit some documentation.
HTH
Paul
PS And I've read Eats, Shoots and Leaves.
-- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB Phone and SMS text +44 1539 561830, Mobile and SMS text +44 7714 330204 mailto: pbristow@hetp.u-net.com www.hetp.u-net.com
------------------------------
Message: 5 Date: Sat, 29 Oct 2005 12:01:29 +0100 From: "Marcin Kalicinski" <kalita@poczta.onet.pl> Subject: [boost] How to run boost regressions? To: boost@lists.boost.org Message-ID: <djvkq7$ej5$1@sea.gmane.org>
Hi,
How can I run boost regression tests at home?
cheers, Marcin
------------------------------
Message: 6 Date: Sat, 29 Oct 2005 05:57:41 -0700 From: "SourceForge.net" <noreply@sourceforge.net> Subject: [boost] [Boost-bugs] [ boost-Bugs-1341560 ] crach build bjam from mingw 3.4.4 To: noreply@sourceforge.net Message-ID: <E1EVqHF-00048m-K1@sc8-sf-web2.sourceforge.net> Content-Type: text/plain; charset="ISO-8859-1"
Bugs item #1341560, was opened at 2005-10-29 19:57 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1341560&group_id=7586
Please note that this message will contain a full copy of the comment
thread,
including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Alexandr Zamaraev (shura_zam) Assigned to: Nobody/Anonymous (nobody) Summary: crach build bjam from mingw 3.4.4
Initial Comment: OS:Windows XP pro rus + sp2 gcc: (GCC) 3.4.4 (mingw special) ld: GNU ld version 2.16.91 20050827 Source: latest csv
Command line:
build.bat mingw Output (last 3 line): don't know how to make mingw ...found 1 target... ...can't find 1 target...
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1341560&group_id=7586
------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information _______________________________________________ Boost-bugs mailing list Boost-bugs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/boost-bugs
------------------------------
Message: 7 Date: Sat, 29 Oct 2005 06:12:26 -0700 From: "SourceForge.net" <noreply@sourceforge.net> Subject: [boost] [Boost-bugs] [ boost-Bugs-1341568 ] crach build bjam from mingw 3.4.4 with python To: noreply@sourceforge.net Message-ID: <E1EVqVW-0005Zb-Rw@sc8-sf-web1.sourceforge.net> Content-Type: text/plain; charset="ISO-8859-1"
Bugs item #1341568, was opened at 2005-10-29 20:12 Message generated for change (Tracker Item Submitted) made by Item
Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1341568&group_id=7586
Please note that this message will contain a full copy of the comment
thread,
including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Alexandr Zamaraev (shura_zam) Assigned to: Nobody/Anonymous (nobody) Summary: crach build bjam from mingw 3.4.4 with python
Initial Comment: OS: Windows XP pro rus + sp2 gcc: (GCC) 3.4.4 (mingw special) ld: GNU ld version 2.16.91 20050827 Python: Python 2.4.2 Source: latest csv
I try build bjam with python. Bat I have crach in linking.
Command line:
bjam -f build.jam --toolset=mingw --with-python=C:\Lang\Python24
Output (latest 8 lines) C:\TEMP\Shura/ccaSyaaa.o:builtins.c:(.text+0x334e): undefined reference to `_imp__PyCallable_Check' C:\TEMP\Shura/ccaSyaaa.o:builtins.c:(.text+0x337c): undefined reference to `_imp___Py_NoneStruct' collect2: ld returned 1 exit status
"gcc" -o bin.ntx86\bjam.exe -DNDEBUG -DOPT_HEADER_CACHE_EXT -DOPT_GRAPH_DEBUG_EXT -DOPT_SEMAPHORE -DOPT_FIX_TARGET_VARIABLES_EXT -DOPT_IMPROVED_PATIENCE_EXT -DNT -DYYSTACKSIZE=5000 -DHAVE_PYTHON -s -O3 -finline-functions -IC:\Lang\Python24\include "C:\Lang\Python24\libs\python24.lib" command.c compile.c debug.c expand.c glob.c hash.c hcache.c headers.c hdrmacro.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c parse.c regexp.c rules.c scan.c search.c subst.c w32_getreg.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execnt.c filent.c pathunix.c
...failed [COMPILE] bin.ntx86\bjam.exe... ...failed updating 1 target...
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1341568&group_id=7586
------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information _______________________________________________ Boost-bugs mailing list Boost-bugs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/boost-bugs
------------------------------
Message: 8 Date: Sat, 29 Oct 2005 09:40:28 -0500 From: Douglas Gregor <doug.gregor@gmail.com> Subject: Re: [boost] How to run boost regressions? To: boost@lists.boost.org Message-ID: <66D002ED-12FC-40F7-A0AC-BD3AE3A8CA0C@cs.indiana.edu> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
On Oct 29, 2005, at 6:01 AM, Marcin Kalicinski wrote:
How can I run boost regression tests at home?
There are some instructions here:
http://www.boost.org/tools/regression/xsl_reports/runner/ instructions.html
Doug
------------------------------
Message: 9 Date: Sat, 29 Oct 2005 09:51:08 -0500 From: Douglas Gregor <doug.gregor@gmail.com> Subject: Re: [boost] [GCC 2.95.3] Boost regression notification (2005-10-28 [HEAD]) To: boost@lists.boost.org Message-ID: <C805154E-5675-42B4-A0D9-2F42C8920BF1@cs.indiana.edu> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
On Oct 28, 2005, at 5:11 PM, Beman Dawes wrote:
A lot of these failures are for gcc-2.95.3-linux. Do we care enough about 2.95.3 nowadays to consider it a release platform?
I vageuely remember trying to kill GCC 2.95.3 support at one point, but was convinced otherwise. We could just mark it as unusable on new libraries/tests that support it but retain backward compatibility on those libraries that do.
Doug
------------------------------
Message: 10 Date: Sat, 29 Oct 2005 17:04:16 +0100 From: "John Maddock" <john@johnmaddock.co.uk> Subject: Re: [boost] [range][1.33.1] last few regressions. To: <boost@lists.boost.org> Message-ID: <015001c5dca2$7118cab0$6f2e0d52@fuji> Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original
In that case we might as well just roll-back the changes from the RC branch to the main branch.
There haven't been any changes to the test itself, and the only changes in the headers appear to be:
and related changes.
I'd still rather see this fixed than just rolled back (I presume these changes were in there for a reason?), or we could disable them for broken compilers if that works (but we need to know why they were in there in the first place, this could be a fix for VC6/7 for all I know).
BTW I don't have a Boost source tree (or compiler) to work with at present to test this out, since I've just replaced my hard drive!
Hopefully this narrows the problem down a bit?
John.
------------------------------
Message: 11 Date: Sat, 29 Oct 2005 12:24:53 -0400 From: David Abrahams <dave@boost-consulting.com> Subject: Re: [boost] [GCC 2.95.3] Boost regression notification (2005-10-28 [HEAD]) To: boost@lists.boost.org Message-ID: <uy84cl296.fsf@boost-consulting.com> Content-Type: text/plain; charset=us-ascii
Douglas Gregor <doug.gregor@gmail.com> writes:
On Oct 28, 2005, at 5:11 PM, Beman Dawes wrote:
A lot of these failures are for gcc-2.95.3-linux. Do we care enough about 2.95.3 nowadays to consider it a release platform?
I vageuely remember trying to kill GCC 2.95.3 support at one point, but was convinced otherwise. We could just mark it as unusable on new libraries/tests that support it but retain backward compatibility on ^ don't??
those libraries that do.
If not "don't," how will we know we're retaining backward compatibility?
-- Dave Abrahams Boost Consulting www.boost-consulting.com
------------------------------
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
End of Boost Digest, Vol 1260, Issue 1 **************************************
participants (1)
-
Ashok Thirumurthi