Compile Failure on OSX for PBXT

Bug #563473 reported by Brian Aker on 2010-04-14
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Drizzle
Fix Released
Critical
Paul McCullagh
Cherry
Fix Released
Critical
Paul McCullagh

Bug Description

A bit of the issue:

http://hudson.drizzle.org/view/Drizzle-build/job/drizzle-build-spare-macos/146/console

../plugin/pbxt/src/table_xt.cc: In function 'void xt_tab_init_db(XTThread*, XTDatabase*)':
../plugin/pbxt/src/table_xt.cc:580: warning: variable 'edx' might be clobbered by 'longjmp' or 'vfork'
{standard input}:36379:non-relocatable subtraction expression, "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" minus "L00000000052$pb"
{standard input}:36379:symbol: "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" can't be undefined in a subtraction expression
{standard input}:36357:non-relocatable subtraction expression, "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" minus "L00000000052$pb"
{standard input}:36357:symbol: "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" can't be undefined in a subtraction expression
{standard input}:36174:non-relocatable subtraction expression, "L__DefaultRuneLocale$non_lazy_ptr" minus "L00000000052$pb"
{standard input}:36174:symbol: "L__DefaultRuneLocale$non_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:36124:non-relocatable subtraction expression, "L__Z7xt_freeP8XTThreadPv$non_lazy_ptr" minus "L00000000052$pb"
{standard input}:36124:symbol: "L__Z7xt_freeP8XTThreadPv$non_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:36088:non-relocatable subtraction expression, "L__Z13xt_close_fileP8XTThreadP10XTOpenFile$non_lazy_ptr" minus "L00000000052$pb"
{standard input}:36088:symbol: "L__Z13xt_close_fileP8XTThreadP10XTOpenFile$non_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:36042:non-relocatable subtraction expression, "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" minus "L00000000052$pb"

Related branches

Brian Aker (brianaker) on 2010-04-14
Changed in drizzle:
assignee: nobody → Paul McCullagh (paul-mccullagh)
importance: Undecided → Critical

note that to use pbxt in drizzle under osx you need to specify --with-pbxt-plugin and --enable-pbxt-plugin configure options (it builds w/o these options but doesn't run)

Paul McCullagh (paul-mccullagh) wrote :

I found that just setting the variable edx to volatile did not fix the problem.

So I have change the branch associated with this bug to may fix: lp:~paul-mccullagh/drizzle/longjmp-clobbered-fix

Paul McCullagh (paul-mccullagh) wrote :

I fix for this bug has been proposed for merge

Changed in drizzle:
status: New → In Progress
Changed in drizzle:
milestone: none → 2010-04-26

I'm reopening this bug as it is still a problem in our OSX builds

Paul McCullagh (paul-mccullagh) wrote :

OK, I will have another look. I thought it was solved because I fixed the problem on my own Mac. Is the build still failing on one of the param build machines?

Yes we see it failing on hades and I also see it failing on my local Mac. Which version of OSX are you running? These failures are on OSX 10.6.3

See http://hudson.drizzle.org/view/Drizzle-build/job/drizzle-build-hades/

Paul McCullagh (paul-mccullagh) wrote :

I am running 10.5.8, but more important is probably the version of gcc you are running. This is what I have:

build% gcc --version
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)

On 04/23/2010 09:08 AM, Paul McCullagh wrote:
> I am running 10.5.8, but more important is probably the version of gcc
> you are running. This is what I have:
>
> build% gcc --version
> i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)
>

Well... we're tricky behind the covers in Drizzle and we use the gcc-4.2
binary on OSX.

Paul McCullagh (paul-mccullagh) wrote :

Then I guess my hack to fix this problem does not work with gcc-4.2.

Actually just declaring edx to be volatile should have fixed the problem, but gcc-4.0.1 still complained.

Maybe the volatile keyword will work as it should with gcc-4.2. But I still have the problem that a lot of people will want to compile with gcc-4.0.1 on the Mac.

May be time for a cleaner solution. Let me see what I can do.

How do I test whether I have fixed this bug before proposing for merge?

In other words, is there a way to test build on http://hudson.drizzle.org/job/drizzle-build-hade, before the code is in the trunk?

This could save a few iterations, because it is not possible for me to verify that I have fixed all the compile errors.

Brian Aker (brianaker) wrote :

Monty?

On Apr 26, 2010, at 5:03 AM, Paul McCullagh wrote:

> How do I test whether I have fixed this bug before proposing for merge?
>
> In other words, is there a way to test build on
> http://hudson.drizzle.org/job/drizzle-build-hade, before the code is in
> the trunk?
>
> This could save a few iterations, because it is not possible for me to
> verify that I have fixed all the compile errors.
>
> --
> Compile Failure on OSX for PBXT
> https://bugs.launchpad.net/bugs/563473
> You received this bug notification because you are a member of Drizzle-
> developers, which is subscribed to Drizzle.
>
> Status in A Lightweight SQL Database for Cloud and Web: Confirmed
> Status in Drizzle cherry series: Confirmed
>
> Bug description:
> A bit of the issue:
>
> http://hudson.drizzle.org/view/Drizzle-build/job/drizzle-build-spare-macos/146/console
>
> ../plugin/pbxt/src/table_xt.cc: In function 'void xt_tab_init_db(XTThread*, XTDatabase*)':
> ../plugin/pbxt/src/table_xt.cc:580: warning: variable 'edx' might be clobbered by 'longjmp' or 'vfork'
> {standard input}:36379:non-relocatable subtraction expression, "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" minus "L00000000052$pb"
> {standard input}:36379:symbol: "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" can't be undefined in a subtraction expression
> {standard input}:36357:non-relocatable subtraction expression, "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" minus "L00000000052$pb"
> {standard input}:36357:symbol: "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" can't be undefined in a subtraction expression
> {standard input}:36174:non-relocatable subtraction expression, "L__DefaultRuneLocale$non_lazy_ptr" minus "L00000000052$pb"
> {standard input}:36174:symbol: "L__DefaultRuneLocale$non_lazy_ptr" can't be undefined in a subtraction expression
> {standard input}:36124:non-relocatable subtraction expression, "L__Z7xt_freeP8XTThreadPv$non_lazy_ptr" minus "L00000000052$pb"
> {standard input}:36124:symbol: "L__Z7xt_freeP8XTThreadPv$non_lazy_ptr" can't be undefined in a subtraction expression
> {standard input}:36088:non-relocatable subtraction expression, "L__Z13xt_close_fileP8XTThreadP10XTOpenFile$non_lazy_ptr" minus "L00000000052$pb"
> {standard input}:36088:symbol: "L__Z13xt_close_fileP8XTThreadP10XTOpenFile$non_lazy_ptr" can't be undefined in a subtraction expression
> {standard input}:36042:non-relocatable subtraction expression, "__ZZ14xt_tab_init_dbP8XTThreadP10XTDatabaseE19__PRETTY_FUNCTION__" minus "L00000000052$pb"
>
>

A bug fix has been proposed for merge

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers