Compile Failure on OSX for PBXT

Bug #563473 reported by Brian Aker
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)
Changed in drizzle:
assignee: nobody → Paul McCullagh (paul-mccullagh)
importance: Undecided → Critical
Revision history for this message
Vladimir Kolesnikov (vkolesnikov) wrote :

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)

Revision history for this message
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

Revision history for this message
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
Revision history for this message
Lee Bieber (kalebral-deactivatedaccount) wrote :

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

Revision history for this message
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?

Revision history for this message
Lee Bieber (kalebral-deactivatedaccount) wrote :

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/

Revision history for this message
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)

Revision history for this message
Monty Taylor (mordred) wrote : Re: [Bug 563473] Re: Compile Failure on OSX for PBXT

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.

Revision history for this message
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.

Revision history for this message
Paul McCullagh (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.

Revision history for this message
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"
>
>

Revision history for this message
Paul McCullagh (paul-mccullagh) wrote :

A bug fix has been proposed for merge

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.