Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diamond relationship when using precomp modules causes packages to disappear #3521

Closed
p6rt opened this issue Sep 13, 2014 · 19 comments
Closed
Labels

Comments

@p6rt
Copy link

p6rt commented Sep 13, 2014

Migrated from rt.perl.org#122773 (status was 'resolved')

Searchable as RT122773$

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

If A and B both require C, and I load both A and B from main.pl, package definitions within A.pm disappear. If you load B before A in main.pl, B's disappear. Removing the "use C" from A or B prevents this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

A.pm6

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

B.pm6

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

C.pm6

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

Makefile

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

example.tar.gz

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

main.pl

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

I also see this on the JVM, but not Parrot.

On Fri Sep 12 20​:10​:00 2014, rob@​hoelz.ro wrote​:

If A and B both require C, and I load both A and B from main.pl,
package definitions within A.pm disappear. If you load B before A in
main.pl, B's disappear. Removing the "use C" from A or B prevents
this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Sep 13, 2014

From @hoelzro

git bisect points to f2842a5 as the culprit.

On Fri Sep 12 21​:09​:56 2014, rob@​hoelz.ro wrote​:

I also see this on the JVM, but not Parrot.

On Fri Sep 12 20​:10​:00 2014, rob@​hoelz.ro wrote​:

If A and B both require C, and I load both A and B from main.pl,
package definitions within A.pm disappear. If you load B before A in
main.pl, B's disappear. Removing the "use C" from A or B prevents
this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Sep 15, 2014

From @hoelzro

At least it is for MoarVM; I went back to 2014.04 on the JVM and the bug was still present there.

On Sat Sep 13 09​:46​:41 2014, rob@​hoelz.ro wrote​:

git bisect points to f2842a5 as the culprit.

On Fri Sep 12 21​:09​:56 2014, rob@​hoelz.ro wrote​:

I also see this on the JVM, but not Parrot.

On Fri Sep 12 20​:10​:00 2014, rob@​hoelz.ro wrote​:

If A and B both require C, and I load both A and B from main.pl,
package definitions within A.pm disappear. If you load B before A in
main.pl, B's disappear. Removing the "use C" from A or B prevents
this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Sep 15, 2014

From @hoelzro

The problem seems to be with MoarVM commit 7a722dc4018ce1b99bbd4abea198e242d7da0157.

On Mon Sep 15 06​:13​:58 2014, rob@​hoelz.ro wrote​:

At least it is for MoarVM; I went back to 2014.04 on the JVM and the
bug was still present there.

On Sat Sep 13 09​:46​:41 2014, rob@​hoelz.ro wrote​:

git bisect points to f2842a5 as the culprit.

On Fri Sep 12 21​:09​:56 2014, rob@​hoelz.ro wrote​:

I also see this on the JVM, but not Parrot.

On Fri Sep 12 20​:10​:00 2014, rob@​hoelz.ro wrote​:

If A and B both require C, and I load both A and B from main.pl,
package definitions within A.pm disappear. If you load B before
A in
main.pl, B's disappear. Removing the "use C" from A or B
prevents
this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Oct 3, 2014

From @dwarring

The attached test cases have been added to roast S10-packages/precompilation.t. Fudged for jvm and moar.

On Mon Sep 15 06​:48​:06 2014, rob@​hoelz.ro wrote​:

The problem seems to be with MoarVM commit
7a722dc4018ce1b99bbd4abea198e242d7da0157.

On Mon Sep 15 06​:13​:58 2014, rob@​hoelz.ro wrote​:

At least it is for MoarVM; I went back to 2014.04 on the JVM and the
bug was still present there.

On Sat Sep 13 09​:46​:41 2014, rob@​hoelz.ro wrote​:

git bisect points to f2842a5 as the culprit.

On Fri Sep 12 21​:09​:56 2014, rob@​hoelz.ro wrote​:

I also see this on the JVM, but not Parrot.

On Fri Sep 12 20​:10​:00 2014, rob@​hoelz.ro wrote​:

If A and B both require C, and I load both A and B from
main.pl,
package definitions within A.pm disappear. If you load B
before
A in
main.pl, B's disappear. Removing the "use C" from A or B
prevents
this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Oct 3, 2014

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Nov 5, 2014

From @hoelzro

This has been fixed on MoarVM; the issue is still outstanding on JVM.

On Fri Sep 12 20​:10​:00 2014, rob@​hoelz.ro wrote​:

If A and B both require C, and I load both A and B from main.pl,
package definitions within A.pm disappear. If you load B before A in
main.pl, B's disappear. Removing the "use C" from A or B prevents
this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Mar 22, 2015

From @hoelzro

My hacky "make it eager" fix has been reverted in MoarVM, but the underlying issue has been fixed in commit c6e8df8. The JVM issue is still outstanding, but maybe that commit will offer hints on how to fix it.

On Tue Nov 04 18​:47​:33 2014, rob@​hoelz.ro wrote​:

This has been fixed on MoarVM; the issue is still outstanding on JVM.

On Fri Sep 12 20​:10​:00 2014, rob@​hoelz.ro wrote​:

If A and B both require C, and I load both A and B from main.pl,
package definitions within A.pm disappear. If you load B before A in
main.pl, B's disappear. Removing the "use C" from A or B prevents
this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Mar 22, 2015

From @hoelzro

According to jnthn, the MoarVM changes were integrated into nqp-j in NQP commit cbef59357.

On Sun Mar 22 14​:52​:00 2015, rob@​hoelz.ro wrote​:

My hacky "make it eager" fix has been reverted in MoarVM, but the
underlying issue has been fixed in commit c6e8df8. The JVM issue is
still outstanding, but maybe that commit will offer hints on how to
fix it.

On Tue Nov 04 18​:47​:33 2014, rob@​hoelz.ro wrote​:

This has been fixed on MoarVM; the issue is still outstanding on JVM.

On Fri Sep 12 20​:10​:00 2014, rob@​hoelz.ro wrote​:

If A and B both require C, and I load both A and B from main.pl,
package definitions within A.pm disappear. If you load B before A
in
main.pl, B's disappear. Removing the "use C" from A or B prevents
this problem.

I've attached a tarball and the raw files themselves.

I've only tried this on MoarVM.

@p6rt
Copy link
Author

p6rt commented Dec 7, 2015

From @usev6

The test in S10-packages/precompilation.t now passes on rakudo.JVM, also.

I'm closing this ticket as 'resolved'.

1 similar comment
@p6rt
Copy link
Author

p6rt commented Dec 7, 2015

From @usev6

The test in S10-packages/precompilation.t now passes on rakudo.JVM, also.

I'm closing this ticket as 'resolved'.

@p6rt p6rt closed this as completed Dec 7, 2015
@p6rt
Copy link
Author

p6rt commented Dec 7, 2015

@usev6 - Status changed from 'open' to 'resolved'

@p6rt p6rt added the compiler label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant