[ 
https://issues.apache.org/jira/browse/HBASE-25352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17242876#comment-17242876
 ] 

Andrew Kyle Purtell edited comment on HBASE-25352 at 12/3/20, 2:59 AM:
-----------------------------------------------------------------------

Command executed is

 {noformat}
python ./dev-support/checkcompatibility.py -r asf \
    --annotation org.apache.yetus.audience.InterfaceAudience.Public \
    --annotation org.apache.yetus.audience.InterfaceAudience.LimitedPrivate \
    --include-file "hbase-*" rel/2.3.0 2.4.0RC0
 {noformat}

Exact error is

{noformat}
open3: exec of javap -s -private -c -verboseĀ  < REALLY REALLY LONG LIST OF 
CLASSES ELIDED > failed: 
Argument list too long at 
/Users/apurtell/tmp/hbase-tmp/target/java-acc/modules/Internals/APIDump.pm line 
357.
cannot remove path when cwd is 
/private/var/folders/mq/40qp3y1s12x_mt548v69qcnw0000gp/T/mjqXHZty0Y/29 for 
/private/var/folders/mq/40qp3y1s12x_mt548v69qcnw0000gp/T/mjqXHZty0Y: at 
/usr/local/Cellar/perl/5.32.0/lib/perl5/5.32.0/File/Temp.pm line 916.
INFO:root:Results: {}
Traceback (most recent call last):
 File "./dev-support/checkcompatibility.py", line 530, in <module>
 main()
 File "./dev-support/checkcompatibility.py", line 526, in main
 args.compare_warnings))
 File "./dev-support/checkcompatibility.py", line 232, in compare_results
 if tool_results[check][issue_type] > known_count]
KeyError: 'binary'
 {noformat}

I'm running Mac OS Catalina. ARG_MAX is 262,144 chars.
{noformat}
$ getconf ARG_MAX
262144
{noformat}

On Linux it is considerably larger at 2,097,152 chars:

{noformat}
$ getconf ARG_MAX
2097152
{noformat}

which is I suppose why hitting this is uncommon. 

I don't think anything can be done without dev of the API checker itself. 
Perhaps if it is still being maintained someone else has hit this and there is 
a fix available. If not I could raise a PR. Practically speaking, this is not 
super critical because Linux environments will continue to work. 



was (Author: apurtell):
Command executed is

 {noformat}
python ./dev-support/checkcompatibility.py -r asf \
    --annotation org.apache.yetus.audience.InterfaceAudience.Public \
    --annotation org.apache.yetus.audience.InterfaceAudience.LimitedPrivate \
    --include-file "hbase-*" rel/2.3.0 2.4.0RC0
 {noformat}

Exact error is

{noformat}
open3: exec of javap -s -private -c -verboseĀ  < REALLY REALLY LONG LIST OF 
CLASSES ELIDED > failed: 
Argument list too long at 
/Users/apurtell/tmp/hbase-tmp/target/java-acc/modules/Internals/APIDump.pm line 
357.
cannot remove path when cwd is 
/private/var/folders/mq/40qp3y1s12x_mt548v69qcnw0000gp/T/mjqXHZty0Y/29 for 
/private/var/folders/mq/40qp3y1s12x_mt548v69qcnw0000gp/T/mjqXHZty0Y: at 
/usr/local/Cellar/perl/5.32.0/lib/perl5/5.32.0/File/Temp.pm line 916.
INFO:root:Results: {}
Traceback (most recent call last):
 File "./dev-support/checkcompatibility.py", line 530, in <module>
 main()
 File "./dev-support/checkcompatibility.py", line 526, in main
 args.compare_warnings))
 File "./dev-support/checkcompatibility.py", line 232, in compare_results
 if tool_results[check][issue_type] > known_count]
KeyError: 'binary'
 {noformat}

I'm running Mac OS Catalina. ARG_MAX is 262,144 chars.
{noformat}
$ getconf ARG_MAX
262144
{noformat}

On Linux it is considerably larger:

{noformat}
getconf ARG_MAX
2097152
{noformat}

which is I suppose why hitting this is uncommon. 

I don't think anything can be done without dev of the API checker itself. 
Perhaps if it is still being maintained someone else has hit this and there is 
a fix available. If not I could raise a PR. Practically speaking, this is not 
super critical because Linux environments will continue to work. 


> API compatibilty checker fails with "Argument list too long" on Mac OS
> ----------------------------------------------------------------------
>
>                 Key: HBASE-25352
>                 URL: https://issues.apache.org/jira/browse/HBASE-25352
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.4.0
>            Reporter: Andrew Kyle Purtell
>            Priority: Minor
>
> While working on the 2.4.0 RC I hit a stumbling block where the argument list 
> passed to javap by the API compatibility checker is too large for Mac OS. 
> Attempted execution of the forked process fails with "Argument list too long".



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to