RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-03-01 Thread Baesken, Matthias
>If there are no further changes, I don't need to see it, and you
>can add me as a reviewer, and I don't need credit for the test.

Thanks Kumar for review and adding the test.


>As for jexec, it appears that only Linux supports this, and I am
>uncertain who is using it in the Linux community.
>Perhaps we should try deprecate it in jdk10.
>Filed: https://bugs.openjdk.java.net/browse/JDK-8176066


I agree that it makes sense to look into a deprecation of  jexec for jdk10.

Best regards, Matthias


From: Kumar Srinivasan [mailto:kumar.x.sriniva...@oracle.com]
Sent: Mittwoch, 1. März 2017 23:22
To: Thomas Stüfe <thomas.stu...@gmail.com>
Cc: Baesken, Matthias <matthias.baes...@sap.com>; Michel Trudeau 
<michel.trud...@oracle.com>; core-libs-dev@openjdk.java.net; Simonis, Volker 
<volker.simo...@sap.com>
Subject: Re: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hello Baesken,

I have attached 8175000.patch to the bug report,
it includes Thomas' suggested fix + a test.

I have also tested it,  you may want to post it to corelibs-dev.
If posting a new webrev, please add the pipermail to the bug report,
http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-March/046548.html

If there are no further changes, I don't need to see it, and you
can add me as a reviewer, and I don't need credit for the test.

As for jexec, it appears that only Linux supports this, and I am
uncertain who is using it in the Linux community.
Perhaps we should try deprecate it in jdk10.
Filed: https://bugs.openjdk.java.net/browse/JDK-8176066

Thanks
Kumar



On 3/1/2017 9:14 AM, Thomas Stüfe wrote:
Hi Matthias,

On Wed, Mar 1, 2017 at 5:07 PM, Baesken, Matthias 
<matthias.baes...@sap.com<mailto:matthias.baes...@sap.com>> wrote:
Hi Thomas , thanks for looking into it .

I suggest  to handle the read issue in another bug  because this one just deals 
with “jexec fails to execute simple helloworld.jar” .

( there seem to be  a few other read(…) calls  in the jdk code base to consider 
as well )

Can we push the existing change ?


Not a Reviewer, so it is not for me to decide. Someone from core libs should 
look at this.

...Thomas


Regards, Matthias


From: Thomas Stüfe 
[mailto:thomas.stu...@gmail.com<mailto:thomas.stu...@gmail.com>]
Sent: Mittwoch, 1. März 2017 12:47
To: Baesken, Matthias 
<matthias.baes...@sap.com<mailto:matthias.baes...@sap.com>>
Cc: core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>; 
Simonis, Volker <volker.simo...@sap.com<mailto:volker.simo...@sap.com>>
Subject: Re: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hi Matthias,

the fix makes sense, this is very clearly a bug.

I'd suggest a simpler fix though:

  end -= 4; // make sure there are 4 bytes to read at start
- while (start < end) {
+while (start <= end) {

Note that the code has a diffent bug too, very unlikely but not impossible to 
hit:

 321 ssize_t count = read(fd, buf, CHUNK_SIZE);
 322 if (count >= MIN_SIZE) {

We attempt to read CHUNK_SIZE bytes and require the read to have returned at 
least MIN_SIZE (something like 30ish bytes). If not, jexec fails.

read may have been interrupted (EINTR) or may have returned less bytes than 
MIN_SIZE, so it should read in a loop til eof or CHUNK_SIZE bytes are read.

Kind Regards, Thomas


On Wed, Mar 1, 2017 at 10:23 AM, Baesken, Matthias 
<matthias.baes...@sap.com<mailto:matthias.baes...@sap.com>> wrote:
Ping ...

Can I get a review please for the change ?


Thanks, Matthias

From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 12:28
To: 'core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>' 
<core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>>
Cc: Langer, Christoph 
<christoph.lan...@sap.com<mailto:christoph.lan...@sap.com>>; Erik Joelsson 
(erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>) 
<erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>; 'Michel Trudeau' 
<michel.trud...@oracle.com<mailto:michel.trud...@oracle.com>>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Here is  the webrev for jdk9 :

http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/<http://cr.openjdk.java.net/%7Embaesken/webrevs/8175000/>


?  And btw I really wonder  - is  jexec still needed in future jdk's like jdk10 
 ? Seems it is not used much .

?

In case  jexec will stay in  the jdk  I might add a test for the tool as well, 
if there is interest  ( could not really find one that tests execution of a 
simple jar-file with jexec).

Best regards, Matthias


From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 07:39
To: 'core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>' 
<core-libs-d

Re: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-03-01 Thread Kumar Srinivasan

Hello Baesken,

I have attached 8175000.patch to the bug report,
it includes Thomas' suggested fix + a test.

I have also tested it,  you may want to post it to corelibs-dev.
If posting a new webrev, please add the pipermail to the bug report,
http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-March/046548.html

If there are no further changes, I don't need to see it, and you
can add me as a reviewer, and I don't need credit for the test.

As for jexec, it appears that only Linux supports this, and I am
uncertain who is using it in the Linux community.
Perhaps we should try deprecate it in jdk10.
Filed: https://bugs.openjdk.java.net/browse/JDK-8176066

Thanks
Kumar




On 3/1/2017 9:14 AM, Thomas Stüfe wrote:

Hi Matthias,

On Wed, Mar 1, 2017 at 5:07 PM, Baesken, Matthias 
<matthias.baes...@sap.com <mailto:matthias.baes...@sap.com>> wrote:


Hi Thomas , thanks for looking into it .

I suggest  to handle the read issue in another bug  because this
one just deals with “jexec fails to execute simple helloworld.jar” .

( there seem to be  a few other read(…) calls  in the jdk code
base to consider as well )

Can we push the existing change ?


Not a Reviewer, so it is not for me to decide. Someone from core libs 
should look at this.


...Thomas

Regards, Matthias

*From:*Thomas Stüfe [mailto:thomas.stu...@gmail.com
<mailto:thomas.stu...@gmail.com>]
*Sent:* Mittwoch, 1. März 2017 12:47
*To:* Baesken, Matthias <matthias.baes...@sap.com
<mailto:matthias.baes...@sap.com>>
*Cc:* core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>; Simonis, Volker
<volker.simo...@sap.com <mailto:volker.simo...@sap.com>>
    *Subject:* Re: RFR [XS] : 8175000 : jexec fails to execute simple
helloworld.jar

Hi Matthias,

the fix makes sense, this is very clearly a bug.

I'd suggest a simpler fix though:

  end -= 4; // make sure there are 4 bytes to
read at start
- while (start < end) {
+while (start <= end) {

Note that the code has a diffent bug too, very unlikely but not
impossible to hit:

 321 ssize_t count = read(fd, buf, CHUNK_SIZE);
 322 if (count >= MIN_SIZE) {

We attempt to read CHUNK_SIZE bytes and require the read to have
returned at least MIN_SIZE (something like 30ish bytes). If not,
jexec fails.

read may have been interrupted (EINTR) or may have returned less
bytes than MIN_SIZE, so it should read in a loop til eof or
CHUNK_SIZE bytes are read.

Kind Regards, Thomas

On Wed, Mar 1, 2017 at 10:23 AM, Baesken, Matthias
<matthias.baes...@sap.com <mailto:matthias.baes...@sap.com>> wrote:

Ping ...

Can I get a review please for the change ?


Thanks, Matthias

From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 12:28
To: 'core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>'
<core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>>
Cc: Langer, Christoph <christoph.lan...@sap.com
<mailto:christoph.lan...@sap.com>>; Erik Joelsson
(erik.joels...@oracle.com <mailto:erik.joels...@oracle.com>)
<erik.joels...@oracle.com <mailto:erik.joels...@oracle.com>>;
        'Michel Trudeau' <michel.trud...@oracle.com
    <mailto:michel.trud...@oracle.com>>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute
simple helloworld.jar

Here is  the webrev for jdk9 :

http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/
<http://cr.openjdk.java.net/%7Embaesken/webrevs/8175000/>


?  And btw I really wonder  - is  jexec still needed in future
jdk's like jdk10 ? Seems it is not used much .

?

In case  jexec will stay in  the jdk  I might add a test for
the tool as well, if there is interest  ( could not really
find one that tests execution of a simple jar-file with jexec).

Best regards, Matthias


From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 07:39
To: 'core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>'
<core-libs-dev@openjdk.java.net

<mailto:core-libs-dev@openjdk.java.net><mailto:core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>>>

Cc: Langer, Christoph <christoph.lan...@sap.com
<mailto:christoph.lan...@sap.com><mailto:christoph.lan...@sap.com
<mailto:christoph.lan...@sap.com>>>; Erik Joelsson
(erik.joels...@oracle.com
<mailto:erik.joels...@oracle.com><mailto:erik.joels...@oracle.com
<mailto:erik.joels

Re: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-03-01 Thread Kumar Srinivasan

Hi Baesken,

Thanks for fixing this, BUT..
Has this been tested on other platforms, especially on both the
Endian platforms.

I think we should have a simplistic regression test for this in
jdk/test/tools/launcher area, until we EOL this.

Once we have that then we need to test this on all platforms.
So I will write a test, and test this change, through our test and
build system, please hold off until then.

Thanks
Kumar




Hi Matthias,

On Wed, Mar 1, 2017 at 5:07 PM, Baesken, Matthias 
<matthias.baes...@sap.com <mailto:matthias.baes...@sap.com>> wrote:


Hi Thomas , thanks for looking into it .

I suggest  to handle the read issue in another bug  because this
one just deals with “jexec fails to execute simple helloworld.jar” .

( there seem to be  a few other read(…) calls  in the jdk code
base to consider as well )

Can we push the existing change ?


Not a Reviewer, so it is not for me to decide. Someone from core libs 
should look at this.


...Thomas

Regards, Matthias

*From:*Thomas Stüfe [mailto:thomas.stu...@gmail.com
<mailto:thomas.stu...@gmail.com>]
*Sent:* Mittwoch, 1. März 2017 12:47
*To:* Baesken, Matthias <matthias.baes...@sap.com
<mailto:matthias.baes...@sap.com>>
*Cc:* core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>; Simonis, Volker
<volker.simo...@sap.com <mailto:volker.simo...@sap.com>>
    *Subject:* Re: RFR [XS] : 8175000 : jexec fails to execute simple
helloworld.jar

Hi Matthias,

the fix makes sense, this is very clearly a bug.

I'd suggest a simpler fix though:

  end -= 4; // make sure there are 4 bytes to
read at start
- while (start < end) {
+while (start <= end) {

Note that the code has a diffent bug too, very unlikely but not
impossible to hit:

 321 ssize_t count = read(fd, buf, CHUNK_SIZE);
 322 if (count >= MIN_SIZE) {

We attempt to read CHUNK_SIZE bytes and require the read to have
returned at least MIN_SIZE (something like 30ish bytes). If not,
jexec fails.

read may have been interrupted (EINTR) or may have returned less
bytes than MIN_SIZE, so it should read in a loop til eof or
CHUNK_SIZE bytes are read.

Kind Regards, Thomas

On Wed, Mar 1, 2017 at 10:23 AM, Baesken, Matthias
<matthias.baes...@sap.com <mailto:matthias.baes...@sap.com>> wrote:

Ping ...

Can I get a review please for the change ?


Thanks, Matthias

From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 12:28
To: 'core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>'
<core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>>
Cc: Langer, Christoph <christoph.lan...@sap.com
<mailto:christoph.lan...@sap.com>>; Erik Joelsson
(erik.joels...@oracle.com <mailto:erik.joels...@oracle.com>)
<erik.joels...@oracle.com <mailto:erik.joels...@oracle.com>>;
        'Michel Trudeau' <michel.trud...@oracle.com
    <mailto:michel.trud...@oracle.com>>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute
simple helloworld.jar

Here is  the webrev for jdk9 :

http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/
<http://cr.openjdk.java.net/%7Embaesken/webrevs/8175000/>


?  And btw I really wonder  - is  jexec still needed in future
jdk's like jdk10 ? Seems it is not used much .

?

In case  jexec will stay in  the jdk  I might add a test for
the tool as well, if there is interest  ( could not really
find one that tests execution of a simple jar-file with jexec).

Best regards, Matthias


From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 07:39
To: 'core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>'
<core-libs-dev@openjdk.java.net

<mailto:core-libs-dev@openjdk.java.net><mailto:core-libs-dev@openjdk.java.net
<mailto:core-libs-dev@openjdk.java.net>>>

Cc: Langer, Christoph <christoph.lan...@sap.com
<mailto:christoph.lan...@sap.com><mailto:christoph.lan...@sap.com
<mailto:christoph.lan...@sap.com>>>; Erik Joelsson
(erik.joels...@oracle.com
<mailto:erik.joels...@oracle.com><mailto:erik.joels...@oracle.com
<mailto:erik.joels...@oracle.com>>) <erik.joels...@oracle.com
    <mailto:erik.joels...@oracle.com><mailto:erik.joels...@oracle.com
<mailto:erik.joels...@oracle.com>>>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute
simple helloworld.jar

 

Re: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-03-01 Thread Henry Jen

> On Mar 1, 2017, at 3:47 AM, Thomas Stüfe <thomas.stu...@gmail.com> wrote:
> 
> Hi Matthias,
> 
> the fix makes sense, this is very clearly a bug.
> 
> I'd suggest a simpler fix though:
> 
>  end -= 4; // make sure there are 4 bytes to read at
> start
> - while (start < end) {
> +while (start <= end) {
> 

+1.

Cheers,
Henry


> Note that the code has a diffent bug too, very unlikely but not impossible
> to hit:
> 
> 321 ssize_t count = read(fd, buf, CHUNK_SIZE);
> 322 if (count >= MIN_SIZE) {
> 
> We attempt to read CHUNK_SIZE bytes and require the read to have returned
> at least MIN_SIZE (something like 30ish bytes). If not, jexec fails.
> 
> read may have been interrupted (EINTR) or may have returned less bytes than
> MIN_SIZE, so it should read in a loop til eof or CHUNK_SIZE bytes are read.
> 
> Kind Regards, Thomas
> 
> 
> On Wed, Mar 1, 2017 at 10:23 AM, Baesken, Matthias <matthias.baes...@sap.com
>> wrote:
> 
>> Ping ...
>> 
>> Can I get a review please for the change ?
>> 
>> 
>> Thanks, Matthias
>> 
>> From: Baesken, Matthias
>> Sent: Donnerstag, 23. Februar 2017 12:28
>> To: 'core-libs-dev@openjdk.java.net' <core-libs-dev@openjdk.java.net>
>> Cc: Langer, Christoph <christoph.lan...@sap.com>; Erik Joelsson (
>> erik.joels...@oracle.com) <erik.joels...@oracle.com>; 'Michel Trudeau' <
>> michel.trud...@oracle.com>
>> Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple
>> helloworld.jar
>> 
>> Here is  the webrev for jdk9 :
>> 
>> http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/
>> 
>> 
>> ?  And btw I really wonder  - is  jexec still needed in future jdk's like
>> jdk10  ? Seems it is not used much .
>> 
>> ?
>> 
>> In case  jexec will stay in  the jdk  I might add a test for the tool as
>> well, if there is interest  ( could not really find one that tests
>> execution of a simple jar-file with jexec).
>> 
>> Best regards, Matthias
>> 
>> 
>> From: Baesken, Matthias
>> Sent: Donnerstag, 23. Februar 2017 07:39
>> To: 'core-libs-dev@openjdk.java.net' <core-libs-dev@openjdk.java.net
>> <mailto:core-libs-dev@openjdk.java.net>>
>> Cc: Langer, Christoph <christoph.lan...@sap.com> christoph.lan...@sap.com>>; Erik Joelsson (erik.joels...@oracle.com<
>> mailto:erik.joels...@oracle.com>) <erik.joels...@oracle.com> erik.joels...@oracle.com>>
>> Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple
>> helloworld.jar
>> 
>> Hello,  probably I should add the info that the fix is needed  in jdk9 as
>> well , not only jdk10 .
>> 
>> Without the fix jdk9/10show this error  when executing a small
>> example jar :
>> 
>> /myjdk9/images/jdk/lib/jexec  /java_test/hellojar/helloworld.jar
>> invalid file (bad magic number): Exec format error
>> 
>> with the fix :
>> 
>> jdk/lib/jexec/java_test/hellojar/helloworld.jar
>> Hello world from a jar file
>> 
>> 
>> And btw I really wonder  - is  jexec still needed in future jdk's like
>> jdk10  ? Seems it is not used much .
>> 
>> Best regards, Matthias
>> 
>> 
>> From: Baesken, Matthias
>> Sent: Mittwoch, 22. Februar 2017 18:16
>> To: core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>
>> Cc: Langer, Christoph <christoph.lan...@sap.com> christoph.lan...@sap.com>>; Erik Joelsson (erik.joels...@oracle.com<
>> mailto:erik.joels...@oracle.com>) <erik.joels...@oracle.com> erik.joels...@oracle.com>>
>> Subject: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar
>> 
>> Hello , when looking into  the jexec build I noticed   that  execution of
>> a simple helloworld.jar   with jexec does not work any more.
>> 
>> I did a little patch for this which adjusted the addition done with  CR
>> 8156478: 3 Buffer overrun defect groups in jexec.c<https://javapartner.
>> oracle.com/mproxy/repository/technology/java2/jdk9/jdk/rev/4f96129b45ee>
>> .
>> 
>> Could I have a review ( just a diff this time is provided because of
>> infrastructure issues) for it ?
>> 
>> 
>> Thanks, Matthias
>> 
>> Bug :
>> https://bugs.openjdk.java.net/browse/JDK-8175000
>> 
>> 
>> Diff for jdk10  :
>> 
>> # HG changeset patch
>> # User mbaesken
>> # Date 1487782485 -3600
>> #  Wed Feb 22 17

Re: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-03-01 Thread Thomas Stüfe
Hi Matthias,

On Wed, Mar 1, 2017 at 5:07 PM, Baesken, Matthias <matthias.baes...@sap.com>
wrote:

> Hi Thomas , thanks for looking into it .
>
>
>
> I suggest  to handle the read issue in another bug  because this one just
> deals with “jexec fails to execute simple helloworld.jar” .
>
>
>
> ( there seem to be  a few other read(…) calls  in the jdk code base to
> consider as well )
>
>
>
> Can we push the existing change ?
>
>
>

Not a Reviewer, so it is not for me to decide. Someone from core libs
should look at this.

...Thomas



> Regards, Matthias
>
>
>
>
>
> *From:* Thomas Stüfe [mailto:thomas.stu...@gmail.com]
> *Sent:* Mittwoch, 1. März 2017 12:47
> *To:* Baesken, Matthias <matthias.baes...@sap.com>
> *Cc:* core-libs-dev@openjdk.java.net; Simonis, Volker <
> volker.simo...@sap.com>
> *Subject:* Re: RFR [XS] : 8175000 : jexec fails to execute simple
> helloworld.jar
>
>
>
> Hi Matthias,
>
>
>
> the fix makes sense, this is very clearly a bug.
>
> I'd suggest a simpler fix though:
>
>   end -= 4; // make sure there are 4 bytes to read at
> start
> - while (start < end) {
> +while (start <= end) {
>
> Note that the code has a diffent bug too, very unlikely but not impossible
> to hit:
>
>  321 ssize_t count = read(fd, buf, CHUNK_SIZE);
>  322 if (count >= MIN_SIZE) {
>
> We attempt to read CHUNK_SIZE bytes and require the read to have returned
> at least MIN_SIZE (something like 30ish bytes). If not, jexec fails.
>
> read may have been interrupted (EINTR) or may have returned less bytes
> than MIN_SIZE, so it should read in a loop til eof or CHUNK_SIZE bytes are
> read.
>
> Kind Regards, Thomas
>
>
>
>
>
> On Wed, Mar 1, 2017 at 10:23 AM, Baesken, Matthias <
> matthias.baes...@sap.com> wrote:
>
> Ping ...
>
> Can I get a review please for the change ?
>
>
> Thanks, Matthias
>
> From: Baesken, Matthias
> Sent: Donnerstag, 23. Februar 2017 12:28
> To: 'core-libs-dev@openjdk.java.net' <core-libs-dev@openjdk.java.net>
> Cc: Langer, Christoph <christoph.lan...@sap.com>; Erik Joelsson (
> erik.joels...@oracle.com) <erik.joels...@oracle.com>; 'Michel Trudeau' <
> michel.trud...@oracle.com>
> Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple
> helloworld.jar
>
> Here is  the webrev for jdk9 :
>
> http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/
>
>
> ?  And btw I really wonder  - is  jexec still needed in future jdk's like
> jdk10  ? Seems it is not used much .
>
> ?
>
> In case  jexec will stay in  the jdk  I might add a test for the tool as
> well, if there is interest  ( could not really find one that tests
> execution of a simple jar-file with jexec).
>
> Best regards, Matthias
>
>
> From: Baesken, Matthias
> Sent: Donnerstag, 23. Februar 2017 07:39
> To: 'core-libs-dev@openjdk.java.net' <core-libs-dev@openjdk.java.net
> <mailto:core-libs-dev@openjdk.java.net>>
>
> Cc: Langer, Christoph <christoph.lan...@sap.com christoph.lan...@sap.com>>; Erik Joelsson (erik.joels...@oracle.com<
> mailto:erik.joels...@oracle.com>) <erik.joels...@oracle.com erik.joels...@oracle.com>>
> Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple
> helloworld.jar
>
> Hello,  probably I should add the info that the fix is needed  in jdk9 as
> well , not only jdk10 .
>
> Without the fix jdk9/10show this error  when executing a small
> example jar :
>
> /myjdk9/images/jdk/lib/jexec  /java_test/hellojar/helloworld.jar
> invalid file (bad magic number): Exec format error
>
> with the fix :
>
> jdk/lib/jexec/java_test/hellojar/helloworld.jar
> Hello world from a jar file
>
>
> And btw I really wonder  - is  jexec still needed in future jdk's like
> jdk10  ? Seems it is not used much .
>
> Best regards, Matthias
>
>
> From: Baesken, Matthias
> Sent: Mittwoch, 22. Februar 2017 18:16
> To: core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>
> Cc: Langer, Christoph <christoph.lan...@sap.com christoph.lan...@sap.com>>; Erik Joelsson (erik.joels...@oracle.com<
> mailto:erik.joels...@oracle.com>) <erik.joels...@oracle.com erik.joels...@oracle.com>>
> Subject: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar
>
> Hello , when looking into  the jexec build I noticed   that  execution of
> a simple helloworld.jar   with jexec does not work any more.
>
> I did a little patch for this which adjusted the addition done with  CR
> 8156478: 3 Buffer over

RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-03-01 Thread Baesken, Matthias
Hi Thomas , thanks for looking into it .

I suggest  to handle the read issue in another bug  because this one just deals 
with “jexec fails to execute simple helloworld.jar” .

( there seem to be  a few other read(…) calls  in the jdk code base to consider 
as well )

Can we push the existing change ?

Regards, Matthias


From: Thomas Stüfe [mailto:thomas.stu...@gmail.com]
Sent: Mittwoch, 1. März 2017 12:47
To: Baesken, Matthias <matthias.baes...@sap.com>
Cc: core-libs-dev@openjdk.java.net; Simonis, Volker <volker.simo...@sap.com>
Subject: Re: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hi Matthias,

the fix makes sense, this is very clearly a bug.

I'd suggest a simpler fix though:

  end -= 4; // make sure there are 4 bytes to read at start
- while (start < end) {
+while (start <= end) {

Note that the code has a diffent bug too, very unlikely but not impossible to 
hit:

 321 ssize_t count = read(fd, buf, CHUNK_SIZE);
 322 if (count >= MIN_SIZE) {

We attempt to read CHUNK_SIZE bytes and require the read to have returned at 
least MIN_SIZE (something like 30ish bytes). If not, jexec fails.

read may have been interrupted (EINTR) or may have returned less bytes than 
MIN_SIZE, so it should read in a loop til eof or CHUNK_SIZE bytes are read.

Kind Regards, Thomas


On Wed, Mar 1, 2017 at 10:23 AM, Baesken, Matthias 
<matthias.baes...@sap.com<mailto:matthias.baes...@sap.com>> wrote:
Ping ...

Can I get a review please for the change ?


Thanks, Matthias

From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 12:28
To: 'core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>' 
<core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>>
Cc: Langer, Christoph 
<christoph.lan...@sap.com<mailto:christoph.lan...@sap.com>>; Erik Joelsson 
(erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>) 
<erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>; 'Michel Trudeau' 
<michel.trud...@oracle.com<mailto:michel.trud...@oracle.com>>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Here is  the webrev for jdk9 :

http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/


?  And btw I really wonder  - is  jexec still needed in future jdk's like jdk10 
 ? Seems it is not used much .

?

In case  jexec will stay in  the jdk  I might add a test for the tool as well, 
if there is interest  ( could not really find one that tests execution of a 
simple jar-file with jexec).

Best regards, Matthias


From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 07:39
To: 'core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>' 
<core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net><mailto:core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>>>
Cc: Langer, Christoph 
<christoph.lan...@sap.com<mailto:christoph.lan...@sap.com><mailto:christoph.lan...@sap.com<mailto:christoph.lan...@sap.com>>>;
 Erik Joelsson 
(erik.joels...@oracle.com<mailto:erik.joels...@oracle.com><mailto:erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>)
 
<erik.joels...@oracle.com<mailto:erik.joels...@oracle.com><mailto:erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hello,  probably I should add the info that the fix is needed  in jdk9 as well 
, not only jdk10 .

Without the fix jdk9/10show this error  when executing a small  example jar 
:

/myjdk9/images/jdk/lib/jexec  /java_test/hellojar/helloworld.jar
invalid file (bad magic number): Exec format error

with the fix :

jdk/lib/jexec/java_test/hellojar/helloworld.jar
Hello world from a jar file


And btw I really wonder  - is  jexec still needed in future jdk's like jdk10  ? 
Seems it is not used much .

Best regards, Matthias


From: Baesken, Matthias
Sent: Mittwoch, 22. Februar 2017 18:16
To: 
core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net><mailto:core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>>
Cc: Langer, Christoph 
<christoph.lan...@sap.com<mailto:christoph.lan...@sap.com><mailto:christoph.lan...@sap.com<mailto:christoph.lan...@sap.com>>>;
 Erik Joelsson 
(erik.joels...@oracle.com<mailto:erik.joels...@oracle.com><mailto:erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>)
 
<erik.joels...@oracle.com<mailto:erik.joels...@oracle.com><mailto:erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>>
Subject: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hello , when looking into  the jexec build I noticed   that  execution of a 
simp

Re: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-03-01 Thread Thomas Stüfe
Hi Matthias,

the fix makes sense, this is very clearly a bug.

I'd suggest a simpler fix though:

  end -= 4; // make sure there are 4 bytes to read at
start
- while (start < end) {
+while (start <= end) {

Note that the code has a diffent bug too, very unlikely but not impossible
to hit:

 321 ssize_t count = read(fd, buf, CHUNK_SIZE);
 322 if (count >= MIN_SIZE) {

We attempt to read CHUNK_SIZE bytes and require the read to have returned
at least MIN_SIZE (something like 30ish bytes). If not, jexec fails.

read may have been interrupted (EINTR) or may have returned less bytes than
MIN_SIZE, so it should read in a loop til eof or CHUNK_SIZE bytes are read.

Kind Regards, Thomas


On Wed, Mar 1, 2017 at 10:23 AM, Baesken, Matthias <matthias.baes...@sap.com
> wrote:

> Ping ...
>
> Can I get a review please for the change ?
>
>
> Thanks, Matthias
>
> From: Baesken, Matthias
> Sent: Donnerstag, 23. Februar 2017 12:28
> To: 'core-libs-dev@openjdk.java.net' <core-libs-dev@openjdk.java.net>
> Cc: Langer, Christoph <christoph.lan...@sap.com>; Erik Joelsson (
> erik.joels...@oracle.com) <erik.joels...@oracle.com>; 'Michel Trudeau' <
> michel.trud...@oracle.com>
> Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple
> helloworld.jar
>
> Here is  the webrev for jdk9 :
>
> http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/
>
>
> ?  And btw I really wonder  - is  jexec still needed in future jdk's like
> jdk10  ? Seems it is not used much .
>
> ?
>
> In case  jexec will stay in  the jdk  I might add a test for the tool as
> well, if there is interest  ( could not really find one that tests
> execution of a simple jar-file with jexec).
>
> Best regards, Matthias
>
>
> From: Baesken, Matthias
> Sent: Donnerstag, 23. Februar 2017 07:39
> To: 'core-libs-dev@openjdk.java.net' <core-libs-dev@openjdk.java.net
> <mailto:core-libs-dev@openjdk.java.net>>
> Cc: Langer, Christoph <christoph.lan...@sap.com christoph.lan...@sap.com>>; Erik Joelsson (erik.joels...@oracle.com<
> mailto:erik.joels...@oracle.com>) <erik.joels...@oracle.com erik.joels...@oracle.com>>
> Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple
> helloworld.jar
>
> Hello,  probably I should add the info that the fix is needed  in jdk9 as
> well , not only jdk10 .
>
> Without the fix jdk9/10show this error  when executing a small
> example jar :
>
> /myjdk9/images/jdk/lib/jexec  /java_test/hellojar/helloworld.jar
> invalid file (bad magic number): Exec format error
>
> with the fix :
>
> jdk/lib/jexec/java_test/hellojar/helloworld.jar
> Hello world from a jar file
>
>
> And btw I really wonder  - is  jexec still needed in future jdk's like
> jdk10  ? Seems it is not used much .
>
> Best regards, Matthias
>
>
> From: Baesken, Matthias
> Sent: Mittwoch, 22. Februar 2017 18:16
> To: core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>
> Cc: Langer, Christoph <christoph.lan...@sap.com christoph.lan...@sap.com>>; Erik Joelsson (erik.joels...@oracle.com<
> mailto:erik.joels...@oracle.com>) <erik.joels...@oracle.com erik.joels...@oracle.com>>
> Subject: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar
>
> Hello , when looking into  the jexec build I noticed   that  execution of
> a simple helloworld.jar   with jexec does not work any more.
>
> I did a little patch for this which adjusted the addition done with  CR
> 8156478: 3 Buffer overrun defect groups in jexec.c<https://javapartner.
> oracle.com/mproxy/repository/technology/java2/jdk9/jdk/rev/4f96129b45ee>
> .
>
> Could I have a review ( just a diff this time is provided because of
> infrastructure issues) for it ?
>
>
> Thanks, Matthias
>
> Bug :
> https://bugs.openjdk.java.net/browse/JDK-8175000
>
>
> Diff for jdk10  :
>
> # HG changeset patch
> # User mbaesken
> # Date 1487782485 -3600
> #  Wed Feb 22 17:54:45 2017 +0100
> # Node ID 93d55a711f3b1c3f282e6889c24d13f16d4a4548
> # Parent  884872263accabd4ab68d005abd4e5393144aa4f
> 8175000: jexec fails to execute simple helloworld.jar
>
> diff --git a/src/java.base/unix/native/launcher/jexec.c
> b/src/java.base/unix/native/launcher/jexec.c
> --- a/src/java.base/unix/native/launcher/jexec.c
> +++ b/src/java.base/unix/native/launcher/jexec.c
> @@ -331,8 +331,9 @@
>  off_t end   = start  + xlen;
>
>  if (end <= count) {
> -end -= 4; // make sure there are 4 bytes to read at
> start
> -while (start < end) {
> +// make sure there are 4 bytes to read at start
> +end -= 3;
> +while ((start < end) && (start < count-3)) {
>  off_t xhid  = SH(buf, start);
>  off_t xdlen = SH(buf, start + 2);
>
>


RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-03-01 Thread Baesken, Matthias
Ping ...

Can I get a review please for the change ?


Thanks, Matthias

From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 12:28
To: 'core-libs-dev@openjdk.java.net' <core-libs-dev@openjdk.java.net>
Cc: Langer, Christoph <christoph.lan...@sap.com>; Erik Joelsson 
(erik.joels...@oracle.com) <erik.joels...@oracle.com>; 'Michel Trudeau' 
<michel.trud...@oracle.com>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Here is  the webrev for jdk9 :

http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/


?  And btw I really wonder  - is  jexec still needed in future jdk's like jdk10 
 ? Seems it is not used much .

?

In case  jexec will stay in  the jdk  I might add a test for the tool as well, 
if there is interest  ( could not really find one that tests execution of a 
simple jar-file with jexec).

Best regards, Matthias


From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 07:39
To: 'core-libs-dev@openjdk.java.net' 
<core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>>
Cc: Langer, Christoph 
<christoph.lan...@sap.com<mailto:christoph.lan...@sap.com>>; Erik Joelsson 
(erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>) 
<erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hello,  probably I should add the info that the fix is needed  in jdk9 as well 
, not only jdk10 .

Without the fix jdk9/10show this error  when executing a small  example jar 
:

/myjdk9/images/jdk/lib/jexec  /java_test/hellojar/helloworld.jar
invalid file (bad magic number): Exec format error

with the fix :

jdk/lib/jexec/java_test/hellojar/helloworld.jar
Hello world from a jar file


And btw I really wonder  - is  jexec still needed in future jdk's like jdk10  ? 
Seems it is not used much .

Best regards, Matthias


From: Baesken, Matthias
Sent: Mittwoch, 22. Februar 2017 18:16
To: core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>
Cc: Langer, Christoph 
<christoph.lan...@sap.com<mailto:christoph.lan...@sap.com>>; Erik Joelsson 
(erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>) 
<erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>
Subject: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hello , when looking into  the jexec build I noticed   that  execution of a 
simple helloworld.jar   with jexec does not work any more.

I did a little patch for this which adjusted the addition done with  CR  
8156478: 3 Buffer overrun defect groups in 
jexec.c<https://javapartner.oracle.com/mproxy/repository/technology/java2/jdk9/jdk/rev/4f96129b45ee>
  .

Could I have a review ( just a diff this time is provided because of 
infrastructure issues) for it ?


Thanks, Matthias

Bug :
https://bugs.openjdk.java.net/browse/JDK-8175000


Diff for jdk10  :

# HG changeset patch
# User mbaesken
# Date 1487782485 -3600
#  Wed Feb 22 17:54:45 2017 +0100
# Node ID 93d55a711f3b1c3f282e6889c24d13f16d4a4548
# Parent  884872263accabd4ab68d005abd4e5393144aa4f
8175000: jexec fails to execute simple helloworld.jar

diff --git a/src/java.base/unix/native/launcher/jexec.c 
b/src/java.base/unix/native/launcher/jexec.c
--- a/src/java.base/unix/native/launcher/jexec.c
+++ b/src/java.base/unix/native/launcher/jexec.c
@@ -331,8 +331,9 @@
 off_t end   = start  + xlen;

 if (end <= count) {
-end -= 4; // make sure there are 4 bytes to read at start
-while (start < end) {
+// make sure there are 4 bytes to read at start
+end -= 3;
+while ((start < end) && (start < count-3)) {
 off_t xhid  = SH(buf, start);
 off_t xdlen = SH(buf, start + 2);



RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-02-23 Thread Baesken, Matthias
Here is  the webrev for jdk9 :

http://cr.openjdk.java.net/~mbaesken/webrevs/8175000/


?  And btw I really wonder  - is  jexec still needed in future jdk's like jdk10 
 ? Seems it is not used much .

?

In case  jexec will stay in  the jdk  I might add a test for the tool as well, 
if there is interest  ( could not really find one that tests execution of a 
simple jar-file with jexec).

Best regards, Matthias


From: Baesken, Matthias
Sent: Donnerstag, 23. Februar 2017 07:39
To: 'core-libs-dev@openjdk.java.net' <core-libs-dev@openjdk.java.net>
Cc: Langer, Christoph <christoph.lan...@sap.com>; Erik Joelsson 
(erik.joels...@oracle.com) <erik.joels...@oracle.com>
Subject: RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hello,  probably I should add the info that the fix is needed  in jdk9 as well 
, not only jdk10 .

Without the fix jdk9/10show this error  when executing a small  example jar 
:

/myjdk9/images/jdk/lib/jexec  /java_test/hellojar/helloworld.jar
invalid file (bad magic number): Exec format error

with the fix :

jdk/lib/jexec/java_test/hellojar/helloworld.jar
Hello world from a jar file


And btw I really wonder  - is  jexec still needed in future jdk's like jdk10  ? 
Seems it is not used much .

Best regards, Matthias


From: Baesken, Matthias
Sent: Mittwoch, 22. Februar 2017 18:16
To: core-libs-dev@openjdk.java.net<mailto:core-libs-dev@openjdk.java.net>
Cc: Langer, Christoph 
<christoph.lan...@sap.com<mailto:christoph.lan...@sap.com>>; Erik Joelsson 
(erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>) 
<erik.joels...@oracle.com<mailto:erik.joels...@oracle.com>>
Subject: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hello , when looking into  the jexec build I noticed   that  execution of a 
simple helloworld.jar   with jexec does not work any more.

I did a little patch for this which adjusted the addition done with  CR  
8156478: 3 Buffer overrun defect groups in 
jexec.c<https://javapartner.oracle.com/mproxy/repository/technology/java2/jdk9/jdk/rev/4f96129b45ee>
  .

Could I have a review ( just a diff this time is provided because of 
infrastructure issues) for it ?


Thanks, Matthias

Bug :
https://bugs.openjdk.java.net/browse/JDK-8175000


Diff for jdk10  :

# HG changeset patch
# User mbaesken
# Date 1487782485 -3600
#  Wed Feb 22 17:54:45 2017 +0100
# Node ID 93d55a711f3b1c3f282e6889c24d13f16d4a4548
# Parent  884872263accabd4ab68d005abd4e5393144aa4f
8175000: jexec fails to execute simple helloworld.jar

diff --git a/src/java.base/unix/native/launcher/jexec.c 
b/src/java.base/unix/native/launcher/jexec.c
--- a/src/java.base/unix/native/launcher/jexec.c
+++ b/src/java.base/unix/native/launcher/jexec.c
@@ -331,8 +331,9 @@
 off_t end   = start  + xlen;

 if (end <= count) {
-end -= 4; // make sure there are 4 bytes to read at start
-while (start < end) {
+// make sure there are 4 bytes to read at start
+end -= 3;
+while ((start < end) && (start < count-3)) {
 off_t xhid  = SH(buf, start);
 off_t xdlen = SH(buf, start + 2);



RE: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

2017-02-22 Thread Baesken, Matthias
Hello,  probably I should add the info that the fix is needed  in jdk9 as well 
, not only jdk10 .

Without the fix jdk9/10show this error  when executing a small  example jar 
:

/myjdk9/images/jdk/lib/jexec  /java_test/hellojar/helloworld.jar
invalid file (bad magic number): Exec format error

with the fix :

jdk/lib/jexec/java_test/hellojar/helloworld.jar
Hello world from a jar file


And btw I really wonder  - is  jexec still needed in future jdk's like jdk10  ? 
Seems it is not used much .

Best regards, Matthias


From: Baesken, Matthias
Sent: Mittwoch, 22. Februar 2017 18:16
To: core-libs-dev@openjdk.java.net
Cc: Langer, Christoph <christoph.lan...@sap.com>; Erik Joelsson 
(erik.joels...@oracle.com) <erik.joels...@oracle.com>
Subject: RFR [XS] : 8175000 : jexec fails to execute simple helloworld.jar

Hello , when looking into  the jexec build I noticed   that  execution of a 
simple helloworld.jar   with jexec does not work any more.

I did a little patch for this which adjusted the addition done with  CR  
8156478: 3 Buffer overrun defect groups in 
jexec.c<https://javapartner.oracle.com/mproxy/repository/technology/java2/jdk9/jdk/rev/4f96129b45ee>
  .

Could I have a review ( just a diff this time is provided because of 
infrastructure issues) for it ?


Thanks, Matthias

Bug :
https://bugs.openjdk.java.net/browse/JDK-8175000


Diff for jdk10  :

# HG changeset patch
# User mbaesken
# Date 1487782485 -3600
#  Wed Feb 22 17:54:45 2017 +0100
# Node ID 93d55a711f3b1c3f282e6889c24d13f16d4a4548
# Parent  884872263accabd4ab68d005abd4e5393144aa4f
8175000: jexec fails to execute simple helloworld.jar

diff --git a/src/java.base/unix/native/launcher/jexec.c 
b/src/java.base/unix/native/launcher/jexec.c
--- a/src/java.base/unix/native/launcher/jexec.c
+++ b/src/java.base/unix/native/launcher/jexec.c
@@ -331,8 +331,9 @@
 off_t end   = start  + xlen;

 if (end <= count) {
-end -= 4; // make sure there are 4 bytes to read at start
-while (start < end) {
+// make sure there are 4 bytes to read at start
+end -= 3;
+while ((start < end) && (start < count-3)) {
 off_t xhid  = SH(buf, start);
 off_t xdlen = SH(buf, start + 2);