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

Portable Snapshot does not find libjava.so #5591

Closed
1 task done
reox opened this issue Nov 11, 2019 · 19 comments
Closed
1 task done

Portable Snapshot does not find libjava.so #5591

reox opened this issue Nov 11, 2019 · 19 comments
Labels
installation os: linux status: depends-on-external A bug or issue that depends on an update of an external library

Comments

@reox
Copy link
Contributor

reox commented Nov 11, 2019

JabRef version

JabRef 5.0.0-dev--2019-11-03----e356e4910
Linux 3.10.0-1062.1.1.el7.centos.plus.x86_64 amd64 
Java 12.0.2

Steps to reproduce the behavior:

  1. Download a portable snapshot for linux
  2. unpack
  3. run ./bin/JabRef

Will give the following error:

Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.

When running strace, you can see that it does not search for the runtime folder but stops at the lib folder:

[...]
stat("", 0x7ffe79c9cc20)                = -1 ENOENT (No such file or directory)
readlink("/proc/self/exe", "/home/reox/bin/JabRef/bin/JabRef", 4096) = 31
stat("/etc/sysconfig/64bit_strstr_via_64bit_strstr_sse2_unaligned", 0x7ffe79c97330) = -1 ENOENT (No such file or directory)
access("/home/reox/bin/JabRef/lib/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/reox/bin/JabRef/jre/lib/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
lstat("/usr2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/reox", {st_mode=S_IFDIR|0770, st_size=4096, ...}) = 0
lstat("/home/reox/bin", {st_mode=S_IFDIR|0755, st_size=72, ...}) = 0
lstat("/home/reox/bin/JabRef", {st_mode=S_IFDIR|0755, st_size=63, ...}) = 0
lstat("/home/reox/bin/JabRef/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/reox/bin/JabRef/lib/runtime", {st_mode=S_IFDIR|0755, st_size=63, ...}) = 0
lstat("/home/reox/bin/JabRef/lib/runtime/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/reox/bin/JabRef/lib/runtime/lib/libjli.so", {st_mode=S_IFREG|0644, st_size=79560, ...}) = 0
stat("/home/reox/lib/libjava.so", 0x7ffe79c977e0) = -1 ENOENT (No such file or directory)
write(2, "Error: could not find libjava.so", 32Error: could not find libjava.so) = 32
write(2, "\n", 1
)                       = 1
write(2, "Error: Could not find Java SE Ru"..., 50Error: Could not find Java SE Runtime Environment.) = 50
write(2, "\n", 1
)                       = 1
exit_group(2)                           = ?
+++ exited with 2 +++

I tried the following workaround:

$ cd lib
$ find runtime/lib/ -maxdepth 1 -mindepth 1 -exec ln -s {} \;

which makes jabref start up.

I'm not sure if this problem is specific to CentOS or the current setup on my machine. I also tried it on a fresh Debian stretch VM, where JabRef would start without any problems.
Maybe there is some special ldconfig or environment variable which messes things up?
I can try to test it on a CentOS VM later, or someone has an idea what specific test I could run.

@Siedlerchr
Copy link
Member

Siedlerchr commented Nov 11, 2019

@LyzardKing do you have any idea what the problem might be?`
Might also be a bug. Then we should report it to the jdk people.
There was also a simliar report in #5542 (comment)

@LyzardKing
Copy link
Collaborator

On Ubuntu I've never had any issue, like in the Debian vm the OP tested..
A while back I tested it on Fedora, I might have a look at that again on the vm..
@reox if you can try on a later centos vm, or a freshly installed one, just to rule out
some strange config on your system..
We can try and debug this..

@LyzardKing
Copy link
Collaborator

It works on Fedora 30, I need to download a centos iso to test that, so it'll take a while..

@reox
Copy link
Contributor Author

reox commented Nov 11, 2019

I used the CentOS 7 live installer to download JabRef. I could start it without a problem - so the problem is probably the specific configuration.
Does anyone has an idea where to look at? Does the portable version somehow uses ldconfig? I think the installation is quite standard, but I cant be sure...

@koppor
Copy link
Member

koppor commented Nov 11, 2019

This is what @DaveJarvis reported at #5542 (comment) for Arch Linux (Manjaro)

mkdir -p $HOME/archives
cd $HOME/archives
wget http://builds.jabref.org/master/JabRef-portable_linux.tar.gz
cd $HOME/bin
tar xf ~/archives/JabRef-portable_linux.tar.gz
cd JabRef/bin
$ ./JabRef 
Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.

@tobiasdiez tobiasdiez added this to the v5.0 milestone Nov 11, 2019
@reox
Copy link
Contributor Author

reox commented Nov 14, 2019

I do not know if you have fixed anything, but on my machine it came good now:

JabRef 5.0.0-dev--2019-11-14----8f7188d2d
Linux 3.10.0-1062.1.1.el7.centos.plus.x86_64 amd64 
Java 13.0.1

Looking at strace verifies, that JabRef finds the libjava.so without any problem.

edit: No wait! It looks like the problem is, if jabref is unpacked into a folder like $HOME/bin
I had it unpacked to $HOME/tmp and it works. moving the JabRef folder to $HOME/bin triggers the libjava.so error!
I simply renamed the folder to $HOME/apps and I can start JabRef now without troubles.

@Siedlerchr
Copy link
Member

Thanks for your investigation, This seems like a bug in the jpackage tool. Apparently it searches "bin" for the libjava.so and seems to get confused

@tobiasdiez
Copy link
Member

I indeed read something about a bug in jpackage when the folder contains bin. Could be already fixed in the latest jpackage update that we use since this morning.

@tobiasdiez tobiasdiez added the status: depends-on-external A bug or issue that depends on an update of an external library label Nov 14, 2019
@reox
Copy link
Contributor Author

reox commented Nov 26, 2019

I indeed read something about a bug in jpackage when the folder contains bin. Could be already fixed in the latest jpackage update that we use since this morning.

I tested it today with the snapshot from 2019-11-25 and it still fails when Jabref is installed to $HOME/bin.

@koppor koppor modified the milestones: v5.0, v5.1 Feb 21, 2020
@koppor
Copy link
Member

koppor commented Mar 20, 2020

@reox Could you test with https://builds.jabref.org/master/, because we updated to JDK14 (refs #6145).

@reox
Copy link
Contributor Author

reox commented Mar 24, 2020

~/bin$ JabRef/bin/JabRef 
Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.

but this still works:

~/apps$ ./JabRef/bin/JabRef 
ERROR StatusLogger Unrecognized format specifier [d]
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [thread]
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at position 25 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [level]
ERROR StatusLogger Unrecognized conversion specifier [level] starting at position 35 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [logger]
ERROR StatusLogger Unrecognized conversion specifier [logger] starting at position 47 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [msg]
ERROR StatusLogger Unrecognized conversion specifier [msg] starting at position 54 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [n]
ERROR StatusLogger Unrecognized conversion specifier [n] starting at position 56 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [d]
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [thread]
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at position 25 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [level]
ERROR StatusLogger Unrecognized conversion specifier [level] starting at position 35 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [logger]
ERROR StatusLogger Unrecognized conversion specifier [logger] starting at position 47 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [msg]
ERROR StatusLogger Unrecognized conversion specifier [msg] starting at position 54 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [n]
ERROR StatusLogger Unrecognized conversion specifier [n] starting at position 56 in conversion pattern.
ES2 Prism: Error - reported GLX version = 1.2
    GLX version 1.3 or higher is required

(JabRef:21548): Gdk-WARNING **: 21:29:41.278: XSetErrorHandler() called with a GDK error trap pushed. Don't do that.

Looks like the reported errors do no harm.

JabRef 5.1--2020-03-23--67daf36
Linux 3.10.0-1062.1.1.el7.centos.plus.x86_64 amd64 
Java 14

@Siedlerchr
Copy link
Member

So the real bug is still present in the jdk. So we should report this

@tobiasdiez tobiasdiez removed this from the v5.1 milestone Apr 12, 2020
@tobiasdiez
Copy link
Member

@Siedlerchr did you already get a response from the java guys?

@koppor
Copy link
Member

koppor commented Aug 4, 2020

Is there any JDK issue which we can link here?

@github-actions
Copy link
Contributor

github-actions bot commented Feb 1, 2021

This issue has been inactive for half a year. Since JabRef is constantly evolving this issue may not be relevant any longer and it will be closed in two weeks if no further activity occurs.

As part of an effort to ensure that the JabRef team is focusing on important and valid issues, we would like to ask if you could update the issue if it still persists. This could be in the following form:

  • If there has been a longer discussion, add a short summary of the most important points as a new comment (if not yet existing).
  • Provide further steps or information on how to reproduce this issue.
  • Upvote the initial post if you like to see it implemented soon. Votes are not the only metric that we use to determine the requests that are implemented, however, they do factor into our decision-making process.
  • If all information is provided and still up-to-date, then just add a short comment that the issue is still relevant.

Thank you for your contribution!

@reox
Copy link
Contributor Author

reox commented Feb 16, 2021

this is still an issue in

JabRef 5.3--2021-02-16--5546141
Linux 5.10.0-3-amd64 amd64 
Java 15.0.2 
JavaFX 15.0.1+1

tldr; if jabref portable is put into a folder named bin, it will not start. Other names are fine, like apps

@calixtus
Copy link
Member

calixtus commented Mar 1, 2021

This seems to be a JVM-bug. @Siedlerchr observing this issue.

@calixtus
Copy link
Member

calixtus commented Mar 1, 2021

See #5591 (comment) for workaround. Do not put your JabRef installation in a bin directory.

@calixtus calixtus closed this as completed Mar 1, 2021
@calixtus
Copy link
Member

calixtus commented Mar 1, 2021

Maybe related: https://bugs.openjdk.java.net/browse/JDK-8219962
Unfortunately we cannot do anything about this.

koppor pushed a commit that referenced this issue Aug 15, 2021
4703b5d [Frontiers in ...] Remove formatting for volume (#5580)
3a3eb0c Create journal-of-clinical-and-translational-science.csl (#5588)
cf08af8 Create clinical-pulmonary-medicine.csl (#5589)
98985b1 Create cancer-drug-resistance.csl (#5590)
0af101d Create american-journal-of-sociology.csl (#5591)
b24e1f5 Create san-francisco-estuary-and-watershed-science.csl (#5592)
6f9323c revise Manchester UP monograph style (note-bib) (#5587)
e6f982b Delete harper-adams (#5585)
1eef78f Create international-journal-of-clinical-research.csl (#5584)
f28865e OSCOLA.csl: Add publiser info to generic/working paper secondary sources (CSL type "article"). (#5541)
197ceb1 Create system-dynamics-review.csl (#5575)
1d33da2 Create microcirculation.csl (#5577)
d06f625 Create iawa-journal.csl (#5576)
4705585 Update for corrections (#5578)
c1c7852 Create praxis.csl (#5579)
e012054 Create European Review of Agricultural Economics style (#5567)
b2fa912 Create biomarkers.csl (#5582)
1b00ec0 Create journal-of-international-studies.csl (#5574)
79a5d9c Switch MLA to 9th edition (#5561)
011fef3 Update for corrections (#5573)
ff5490c Create zeitschrift-fur-geschichtsdidaktik.csl (#5569)
9093f2f Create etri-journal.csl (#5570)
c9ba757 Create radiation-protection-dosimetry.csl (#5571)
60632bc Create horttechnology.csl (#5572)
e63820b Add a new journal (magnetic resonance in medical sciences) (#5542)
b656885 Create zeitschrift-fur-papyrologie-und-epigraphik.csl (#5548)
25e1eef Update technische-universitat-dresden-linguistik.csl (#5563)
c0c0da4 Create the-american-journal-of-dermatopathology.csl (#5564)
63f7db9 Update journal-of-the-american-association-of-laboratory-animal-scien… (#5566)
ba64225 Update institut-français-darcheologie-orientale-en.csl (#5553)
32e9031 Create institut-francais-darcheologie-orientale-domaine-des-etudes-arabes-en.csl (#5551)
23e2cf5 Create institut-francais-darcheologie-orientale-domaine-des-etudes-arabes.csl (#5550)
3e1a3f3 Update institut-français-darcheologie-orientale.csl (#5552)
176997d Update veterinary-pathology.csl (#5554)
ee035c1 Update mycologia.csl (#5555)
eb4b3a6 Create international-journal-of-automotive-technology.csl (#5557)
3c4e727 Bump addressable from 2.7.0 to 2.8.0 (#5558)
ccb81c8 Create szociologiai-szemle.csl (#5547)
ed9d740 Update brain.csl to ama.csl dependent (#5546)
ab499f2 Create iran-manual-style (#5350)
6e2b13c Update and rename dependent/estuaries-and-coasts.csl to estuaries-and-coasts.csl (#5534)
8441ff9 Create fachhochschule-suedwestfalen.csl (#5459)
8439cf4 Create freie-hochschule-stuttgart.csl (#5466)
076c513 Update midwestern-baptist-theological-seminary.csl (#5420)
350b900 Update veterinary-pathology.csl (#5543)
06261c0 Create United States International Trade Commission.csl (#5508)
7ae505d Add support for blog posts (CSL: post-weblog). (#5536)
93c97ea Update tud bwl marketing style (#5538)
4308791 Create the-chinese-journal-of-international-politics.csl (#5537)
09f3362 Add hanging-indents to infoclio.ch styles (#5540)
d4dc679 Further improvements to norsk-henvisningsstandad-for-rettsvitenskapelige-tekster.csl (#5539)

git-subtree-dir: buildres/csl/csl-styles
git-subtree-split: 4703b5d
Siedlerchr pushed a commit that referenced this issue Aug 15, 2021
* Squashed 'buildres/csl/csl-styles/' changes from ec4a4c0..4703b5d

4703b5d [Frontiers in ...] Remove formatting for volume (#5580)
3a3eb0c Create journal-of-clinical-and-translational-science.csl (#5588)
cf08af8 Create clinical-pulmonary-medicine.csl (#5589)
98985b1 Create cancer-drug-resistance.csl (#5590)
0af101d Create american-journal-of-sociology.csl (#5591)
b24e1f5 Create san-francisco-estuary-and-watershed-science.csl (#5592)
6f9323c revise Manchester UP monograph style (note-bib) (#5587)
e6f982b Delete harper-adams (#5585)
1eef78f Create international-journal-of-clinical-research.csl (#5584)
f28865e OSCOLA.csl: Add publiser info to generic/working paper secondary sources (CSL type "article"). (#5541)
197ceb1 Create system-dynamics-review.csl (#5575)
1d33da2 Create microcirculation.csl (#5577)
d06f625 Create iawa-journal.csl (#5576)
4705585 Update for corrections (#5578)
c1c7852 Create praxis.csl (#5579)
e012054 Create European Review of Agricultural Economics style (#5567)
b2fa912 Create biomarkers.csl (#5582)
1b00ec0 Create journal-of-international-studies.csl (#5574)
79a5d9c Switch MLA to 9th edition (#5561)
011fef3 Update for corrections (#5573)
ff5490c Create zeitschrift-fur-geschichtsdidaktik.csl (#5569)
9093f2f Create etri-journal.csl (#5570)
c9ba757 Create radiation-protection-dosimetry.csl (#5571)
60632bc Create horttechnology.csl (#5572)
e63820b Add a new journal (magnetic resonance in medical sciences) (#5542)
b656885 Create zeitschrift-fur-papyrologie-und-epigraphik.csl (#5548)
25e1eef Update technische-universitat-dresden-linguistik.csl (#5563)
c0c0da4 Create the-american-journal-of-dermatopathology.csl (#5564)
63f7db9 Update journal-of-the-american-association-of-laboratory-animal-scien… (#5566)
ba64225 Update institut-français-darcheologie-orientale-en.csl (#5553)
32e9031 Create institut-francais-darcheologie-orientale-domaine-des-etudes-arabes-en.csl (#5551)
23e2cf5 Create institut-francais-darcheologie-orientale-domaine-des-etudes-arabes.csl (#5550)
3e1a3f3 Update institut-français-darcheologie-orientale.csl (#5552)
176997d Update veterinary-pathology.csl (#5554)
ee035c1 Update mycologia.csl (#5555)
eb4b3a6 Create international-journal-of-automotive-technology.csl (#5557)
3c4e727 Bump addressable from 2.7.0 to 2.8.0 (#5558)
ccb81c8 Create szociologiai-szemle.csl (#5547)
ed9d740 Update brain.csl to ama.csl dependent (#5546)
ab499f2 Create iran-manual-style (#5350)
6e2b13c Update and rename dependent/estuaries-and-coasts.csl to estuaries-and-coasts.csl (#5534)
8441ff9 Create fachhochschule-suedwestfalen.csl (#5459)
8439cf4 Create freie-hochschule-stuttgart.csl (#5466)
076c513 Update midwestern-baptist-theological-seminary.csl (#5420)
350b900 Update veterinary-pathology.csl (#5543)
06261c0 Create United States International Trade Commission.csl (#5508)
7ae505d Add support for blog posts (CSL: post-weblog). (#5536)
93c97ea Update tud bwl marketing style (#5538)
4308791 Create the-chinese-journal-of-international-politics.csl (#5537)
09f3362 Add hanging-indents to infoclio.ch styles (#5540)
d4dc679 Further improvements to norsk-henvisningsstandad-for-rettsvitenskapelige-tekster.csl (#5539)

git-subtree-dir: buildres/csl/csl-styles
git-subtree-split: 4703b5d

* Squashed 'buildres/csl/csl-locales/' changes from ec6d62a9e7..7a507fc008

7a507fc008 Fix spelling of October in Thai locale

git-subtree-dir: buildres/csl/csl-locales
git-subtree-split: 7a507fc0084edea8376ee5345879ddc2c99829ba

Co-authored-by: github actions <jabrefmail+webfeedback@gmail.com>
koppor pushed a commit that referenced this issue Sep 1, 2021
2b37392 Create betriebswirtschaftliche-forschung-und-praxis.csl (#5609)
a52989c Update universitat-zu-koln-seminar-fur-abwl-und-finanzierungslehre.csl (#5610)
47c21bf Add historioPLUS (#5611)
baf11b4 Update urad-rs-za-makroekonomske-analize-in-razvoj.csl (#5607)
636affa Create pain-medicine.csl (#5606)
1d060f9 Update sist02.csl (#5568)
54e8904 Update ucl-university-college-apa.csl (#5597)
9c6308e Creation du style cahiers-du-journalisme.csl (#5595)
7dea54b Update universite-du-quebec-a-montreal.csl (#5596)
b110d07 Update journal-of-paleontology.csl (#5594)
9cc3797 Add workaround for software style in ASA (sociology) (#5464)
459dfb7 Update american-journal-of-sociology.csl (#5604)
f73d62f Create council-of-science-editors-brackets.csl (#5593)
bacf673 Remove extra accent (#5598)
55e1d40 Update system-dynamics-review.csl (#5599)
b8262e4 Update independent style for journal-of-cataract-and-refractive-surgery.csl (#5602)
04da306 Create quaderni-ministero-dei-beni-e-delle-attivita-culturali-e-del-t… (#5600)
8144588 Update journal-of-dental-research.csl (#5601)
4703b5d [Frontiers in ...] Remove formatting for volume (#5580)
3a3eb0c Create journal-of-clinical-and-translational-science.csl (#5588)
cf08af8 Create clinical-pulmonary-medicine.csl (#5589)
98985b1 Create cancer-drug-resistance.csl (#5590)
0af101d Create american-journal-of-sociology.csl (#5591)
b24e1f5 Create san-francisco-estuary-and-watershed-science.csl (#5592)
6f9323c revise Manchester UP monograph style (note-bib) (#5587)
e6f982b Delete harper-adams (#5585)
1eef78f Create international-journal-of-clinical-research.csl (#5584)
f28865e OSCOLA.csl: Add publiser info to generic/working paper secondary sources (CSL type "article"). (#5541)
197ceb1 Create system-dynamics-review.csl (#5575)
1d33da2 Create microcirculation.csl (#5577)
d06f625 Create iawa-journal.csl (#5576)
4705585 Update for corrections (#5578)
c1c7852 Create praxis.csl (#5579)
e012054 Create European Review of Agricultural Economics style (#5567)
b2fa912 Create biomarkers.csl (#5582)
1b00ec0 Create journal-of-international-studies.csl (#5574)
79a5d9c Switch MLA to 9th edition (#5561)
011fef3 Update for corrections (#5573)
ff5490c Create zeitschrift-fur-geschichtsdidaktik.csl (#5569)
9093f2f Create etri-journal.csl (#5570)
c9ba757 Create radiation-protection-dosimetry.csl (#5571)
60632bc Create horttechnology.csl (#5572)
e63820b Add a new journal (magnetic resonance in medical sciences) (#5542)
b656885 Create zeitschrift-fur-papyrologie-und-epigraphik.csl (#5548)
25e1eef Update technische-universitat-dresden-linguistik.csl (#5563)
c0c0da4 Create the-american-journal-of-dermatopathology.csl (#5564)
63f7db9 Update journal-of-the-american-association-of-laboratory-animal-scien… (#5566)
ba64225 Update institut-français-darcheologie-orientale-en.csl (#5553)
32e9031 Create institut-francais-darcheologie-orientale-domaine-des-etudes-arabes-en.csl (#5551)
23e2cf5 Create institut-francais-darcheologie-orientale-domaine-des-etudes-arabes.csl (#5550)
3e1a3f3 Update institut-français-darcheologie-orientale.csl (#5552)
176997d Update veterinary-pathology.csl (#5554)
ee035c1 Update mycologia.csl (#5555)
eb4b3a6 Create international-journal-of-automotive-technology.csl (#5557)
3c4e727 Bump addressable from 2.7.0 to 2.8.0 (#5558)
ccb81c8 Create szociologiai-szemle.csl (#5547)
ed9d740 Update brain.csl to ama.csl dependent (#5546)
ab499f2 Create iran-manual-style (#5350)
6e2b13c Update and rename dependent/estuaries-and-coasts.csl to estuaries-and-coasts.csl (#5534)
8441ff9 Create fachhochschule-suedwestfalen.csl (#5459)
8439cf4 Create freie-hochschule-stuttgart.csl (#5466)
076c513 Update midwestern-baptist-theological-seminary.csl (#5420)
350b900 Update veterinary-pathology.csl (#5543)
06261c0 Create United States International Trade Commission.csl (#5508)
7ae505d Add support for blog posts (CSL: post-weblog). (#5536)
93c97ea Update tud bwl marketing style (#5538)
4308791 Create the-chinese-journal-of-international-politics.csl (#5537)
09f3362 Add hanging-indents to infoclio.ch styles (#5540)
d4dc679 Further improvements to norsk-henvisningsstandad-for-rettsvitenskapelige-tekster.csl (#5539)

git-subtree-dir: buildres/csl/csl-styles
git-subtree-split: 2b37392
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
installation os: linux status: depends-on-external A bug or issue that depends on an update of an external library
Projects
Archived in project
Development

No branches or pull requests

6 participants