You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Johan Corveleyn <jc...@gmail.com> on 2011/02/07 12:29:30 UTC

Buildbots failing after reintegration of diff-optimizations-bytes

Apparently I broke the builds on the builtbots yesterday evening,
after integrating the diff-optimizations-bytes branch. Sorry for that.

There were two problems:
- Failing diff-diff3-test.exe (actually hanging). This was rectified
in r1067839.

- Failing (python) bindings. I could use some help with that (I don't
understand how these are generated, and where/what I should change).
This is the relevant excerpt from stdio from svn-x64-centos gcc:

[[[
subversion/bindings/swig/python/svn_diff.c: In function
'svn_diff_fns2_invoke_datasources_open':
subversion/bindings/swig/python/svn_diff.c:2838: warning: passing
argument 3 of '_obj->datasources_open' makes pointer from integer
without a cast
subversion/bindings/swig/python/svn_diff.c:2838: error: too few
arguments to function '_obj->datasources_open'
subversion/bindings/swig/python/svn_diff.c:2839: warning: control
reaches end of non-void function
]]]

Can someone, more knowledgeable than me with the bindings, take a look
at this and/or give me a pointer for what I should do?

If this is a major problem, blocking someone from doing their work:
feel free to revert whatever is needed.

Thanks,
-- 
Johan

Re: Buildbots failing after reintegration of diff-optimizations-bytes

Posted by Johan Corveleyn <jc...@gmail.com>.
On Mon, Feb 7, 2011 at 4:12 PM, Hyrum K Wright <hy...@hyrumwright.org> wrote:
> On Mon, Feb 7, 2011 at 3:07 PM, Hyrum K Wright <hy...@hyrumwright.org> wrote:
>> On Mon, Feb 7, 2011 at 12:10 PM, Philip Martin
>> <ph...@wandisco.com> wrote:
>>> Johan Corveleyn <jc...@gmail.com> writes:
>>>
>>>> Apparently I broke the builds on the builtbots yesterday evening,
>>>> after integrating the diff-optimizations-bytes branch. Sorry for that.
>>>>
>>>> There were two problems:
>>>> - Failing diff-diff3-test.exe (actually hanging). This was rectified
>>>> in r1067839.
>>>>
>>>> - Failing (python) bindings. I could use some help with that (I don't
>>>> understand how these are generated, and where/what I should change).
>>>> This is the relevant excerpt from stdio from svn-x64-centos gcc:
>>>
>>> On Linux one runs 'make swig-py' to build the Python SWIG bindings and
>>> 'make check-swig-py' to run the tests.
>>>
>>> SWIG generates C code from the .i files in subversion/bindings/swig,
>>> maybe using the subversion/include headers as well (I'm not an expert).
>>>
>>>>
>>>> [[[
>>>> subversion/bindings/swig/python/svn_diff.c: In function
>>>> 'svn_diff_fns2_invoke_datasources_open':
>>>> subversion/bindings/swig/python/svn_diff.c:2838: warning: passing
>>>> argument 3 of '_obj->datasources_open' makes pointer from integer
>>>> without a cast
>>>> subversion/bindings/swig/python/svn_diff.c:2838: error: too few
>>>> arguments to function '_obj->datasources_open'
>>>> subversion/bindings/swig/python/svn_diff.c:2839: warning: control
>>>> reaches end of non-void function
>>>> ]]]
>>>>
>>>> Can someone, more knowledgeable than me with the bindings, take a look
>>>> at this and/or give me a pointer for what I should do?
>>>
>>> Looking at the declaration in svn_diff.h:
>>>
>>> /** A vtable for reading data from the three datasources. */
>>> typedef struct svn_diff_fns2_t
>>> {
>>>  /** Open the datasources of type @a datasources. */
>>>  svn_error_t *(*datasources_open)(void *diff_baton, apr_off_t *prefix_lines,
>>>                                   svn_diff_datasource_e datasource[],
>>>                                   apr_size_t datasource_len);
>>>
>>> and the generated code:
>>>
>>> static svn_error_t * svn_diff_fns2_invoke_datasources_open(
>>>  svn_diff_fns2_t * _obj, void *diff_baton, apr_off_t *prefix_lines, svn_diff_da
>>> tasource_e datasource[], apr_size_t datasource_len) {
>>>  return (_obj->datasources_open)(diff_baton, prefix_lines, datasource_len);
>>> }
>>>
>>> I see that SWIG has simply dropped the datasource parameter.  Perhaps
>>> SWIG cannot cope with the [] syntax?  Could you use * instead?
>>
>> Local testing reveals this to work.  I may not be able to work up a
>> commit for a couple of hours; if somebody wants to do it sooner, feel
>> free.
>
> Time flies when you're having fun: r1067960.

Thanks for fixing this, Hyrum :-)

Cheers,
-- 
Johan

Re: Buildbots failing after reintegration of diff-optimizations-bytes

Posted by Hyrum K Wright <hy...@hyrumwright.org>.
On Mon, Feb 7, 2011 at 3:07 PM, Hyrum K Wright <hy...@hyrumwright.org> wrote:
> On Mon, Feb 7, 2011 at 12:10 PM, Philip Martin
> <ph...@wandisco.com> wrote:
>> Johan Corveleyn <jc...@gmail.com> writes:
>>
>>> Apparently I broke the builds on the builtbots yesterday evening,
>>> after integrating the diff-optimizations-bytes branch. Sorry for that.
>>>
>>> There were two problems:
>>> - Failing diff-diff3-test.exe (actually hanging). This was rectified
>>> in r1067839.
>>>
>>> - Failing (python) bindings. I could use some help with that (I don't
>>> understand how these are generated, and where/what I should change).
>>> This is the relevant excerpt from stdio from svn-x64-centos gcc:
>>
>> On Linux one runs 'make swig-py' to build the Python SWIG bindings and
>> 'make check-swig-py' to run the tests.
>>
>> SWIG generates C code from the .i files in subversion/bindings/swig,
>> maybe using the subversion/include headers as well (I'm not an expert).
>>
>>>
>>> [[[
>>> subversion/bindings/swig/python/svn_diff.c: In function
>>> 'svn_diff_fns2_invoke_datasources_open':
>>> subversion/bindings/swig/python/svn_diff.c:2838: warning: passing
>>> argument 3 of '_obj->datasources_open' makes pointer from integer
>>> without a cast
>>> subversion/bindings/swig/python/svn_diff.c:2838: error: too few
>>> arguments to function '_obj->datasources_open'
>>> subversion/bindings/swig/python/svn_diff.c:2839: warning: control
>>> reaches end of non-void function
>>> ]]]
>>>
>>> Can someone, more knowledgeable than me with the bindings, take a look
>>> at this and/or give me a pointer for what I should do?
>>
>> Looking at the declaration in svn_diff.h:
>>
>> /** A vtable for reading data from the three datasources. */
>> typedef struct svn_diff_fns2_t
>> {
>>  /** Open the datasources of type @a datasources. */
>>  svn_error_t *(*datasources_open)(void *diff_baton, apr_off_t *prefix_lines,
>>                                   svn_diff_datasource_e datasource[],
>>                                   apr_size_t datasource_len);
>>
>> and the generated code:
>>
>> static svn_error_t * svn_diff_fns2_invoke_datasources_open(
>>  svn_diff_fns2_t * _obj, void *diff_baton, apr_off_t *prefix_lines, svn_diff_da
>> tasource_e datasource[], apr_size_t datasource_len) {
>>  return (_obj->datasources_open)(diff_baton, prefix_lines, datasource_len);
>> }
>>
>> I see that SWIG has simply dropped the datasource parameter.  Perhaps
>> SWIG cannot cope with the [] syntax?  Could you use * instead?
>
> Local testing reveals this to work.  I may not be able to work up a
> commit for a couple of hours; if somebody wants to do it sooner, feel
> free.

Time flies when you're having fun: r1067960.

-Hyrum

Re: Buildbots failing after reintegration of diff-optimizations-bytes

Posted by Hyrum K Wright <hy...@hyrumwright.org>.
On Mon, Feb 7, 2011 at 12:10 PM, Philip Martin
<ph...@wandisco.com> wrote:
> Johan Corveleyn <jc...@gmail.com> writes:
>
>> Apparently I broke the builds on the builtbots yesterday evening,
>> after integrating the diff-optimizations-bytes branch. Sorry for that.
>>
>> There were two problems:
>> - Failing diff-diff3-test.exe (actually hanging). This was rectified
>> in r1067839.
>>
>> - Failing (python) bindings. I could use some help with that (I don't
>> understand how these are generated, and where/what I should change).
>> This is the relevant excerpt from stdio from svn-x64-centos gcc:
>
> On Linux one runs 'make swig-py' to build the Python SWIG bindings and
> 'make check-swig-py' to run the tests.
>
> SWIG generates C code from the .i files in subversion/bindings/swig,
> maybe using the subversion/include headers as well (I'm not an expert).
>
>>
>> [[[
>> subversion/bindings/swig/python/svn_diff.c: In function
>> 'svn_diff_fns2_invoke_datasources_open':
>> subversion/bindings/swig/python/svn_diff.c:2838: warning: passing
>> argument 3 of '_obj->datasources_open' makes pointer from integer
>> without a cast
>> subversion/bindings/swig/python/svn_diff.c:2838: error: too few
>> arguments to function '_obj->datasources_open'
>> subversion/bindings/swig/python/svn_diff.c:2839: warning: control
>> reaches end of non-void function
>> ]]]
>>
>> Can someone, more knowledgeable than me with the bindings, take a look
>> at this and/or give me a pointer for what I should do?
>
> Looking at the declaration in svn_diff.h:
>
> /** A vtable for reading data from the three datasources. */
> typedef struct svn_diff_fns2_t
> {
>  /** Open the datasources of type @a datasources. */
>  svn_error_t *(*datasources_open)(void *diff_baton, apr_off_t *prefix_lines,
>                                   svn_diff_datasource_e datasource[],
>                                   apr_size_t datasource_len);
>
> and the generated code:
>
> static svn_error_t * svn_diff_fns2_invoke_datasources_open(
>  svn_diff_fns2_t * _obj, void *diff_baton, apr_off_t *prefix_lines, svn_diff_da
> tasource_e datasource[], apr_size_t datasource_len) {
>  return (_obj->datasources_open)(diff_baton, prefix_lines, datasource_len);
> }
>
> I see that SWIG has simply dropped the datasource parameter.  Perhaps
> SWIG cannot cope with the [] syntax?  Could you use * instead?

Local testing reveals this to work.  I may not be able to work up a
commit for a couple of hours; if somebody wants to do it sooner, feel
free.

-Hyrum

Re: Buildbots failing after reintegration of diff-optimizations-bytes

Posted by Philip Martin <ph...@wandisco.com>.
Johan Corveleyn <jc...@gmail.com> writes:

> Apparently I broke the builds on the builtbots yesterday evening,
> after integrating the diff-optimizations-bytes branch. Sorry for that.
>
> There were two problems:
> - Failing diff-diff3-test.exe (actually hanging). This was rectified
> in r1067839.
>
> - Failing (python) bindings. I could use some help with that (I don't
> understand how these are generated, and where/what I should change).
> This is the relevant excerpt from stdio from svn-x64-centos gcc:

On Linux one runs 'make swig-py' to build the Python SWIG bindings and
'make check-swig-py' to run the tests.

SWIG generates C code from the .i files in subversion/bindings/swig,
maybe using the subversion/include headers as well (I'm not an expert).

>
> [[[
> subversion/bindings/swig/python/svn_diff.c: In function
> 'svn_diff_fns2_invoke_datasources_open':
> subversion/bindings/swig/python/svn_diff.c:2838: warning: passing
> argument 3 of '_obj->datasources_open' makes pointer from integer
> without a cast
> subversion/bindings/swig/python/svn_diff.c:2838: error: too few
> arguments to function '_obj->datasources_open'
> subversion/bindings/swig/python/svn_diff.c:2839: warning: control
> reaches end of non-void function
> ]]]
>
> Can someone, more knowledgeable than me with the bindings, take a look
> at this and/or give me a pointer for what I should do?

Looking at the declaration in svn_diff.h:

/** A vtable for reading data from the three datasources. */
typedef struct svn_diff_fns2_t
{
  /** Open the datasources of type @a datasources. */
  svn_error_t *(*datasources_open)(void *diff_baton, apr_off_t *prefix_lines,
                                   svn_diff_datasource_e datasource[],
                                   apr_size_t datasource_len);

and the generated code:

static svn_error_t * svn_diff_fns2_invoke_datasources_open(
  svn_diff_fns2_t * _obj, void *diff_baton, apr_off_t *prefix_lines, svn_diff_da
tasource_e datasource[], apr_size_t datasource_len) {
  return (_obj->datasources_open)(diff_baton, prefix_lines, datasource_len);
}

I see that SWIG has simply dropped the datasource parameter.  Perhaps
SWIG cannot cope with the [] syntax?  Could you use * instead?

-- 
Philip