On Tue, Jan 31, 2023 at 11:30:02AM -0500, Haines Brown wrote:
> On Tue, Jan 31, 2023 at 08:31:38AM -0700, Casey Deccio wrote:
> > 
> > 
> > > On Jan 31, 2023, at 8:05 AM, Haines Brown <hai...@histomat.net> wrote:
> > > 
> > > I have an  application that refuses to start because  its port is 
> > > blocked. But I have difficulty knowing what port it is
> 
> > I would try strace, which shows you all system calls being made.  In 
> > this case, it is probably bind() that is returning an error.
> 
> I do   
> 
>   $ strace -e trace=%net java -jar /usr/local/share/JabRef/JabRef-3.2.jar 
> 2>&1 | grep bind
>         at java.base/sun.nio.ch.Net.bind0(Native Method)
>         at java.base/sun.nio.ch.Net.bind(Net.java:555)
>         at java.base/sun.nio.ch.Net.bind(Net.java:544)
>         at java.base/sun.nio.ch.NioSocketImpl.bind(NioSocketImpl.java:643)
>         at java.base/java.net.ServerSocket.bind(ServerSocket.java:388)
> 
> But this does not tell me what is bound to what port. 
> 
> > For example:
> > 
> > $ cat test.py 
> > #!/usr/bin/env python3
> 
> In /usr/bin there is a jabref file, but it does not specify what port 
> it uses.
> 
> > import socket
> > s = socket.socket()
> > try:
> >     s.bind(('0.0.0.0', 56))
> > except:
> >     pass
> > $ python3 test.py # doesn't print any output
> 
> > $ strace -e trace=%net python3 test.py 2>&1 | grep bind
> > bind(3, {sa_family=AF_INET, sin_port=htons(56), 
> > sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EACCES (Permission denied)
> > 
> > The value of sin_port is what you are looking for.
> 
> My run of the strace command as above does not return the string 
> sin_port.,
> > 
> > > How do I know from this what port the java application tried to use?
> 
> > >  So I try:
> > > 
> > >    $ sudo ss -pt state listening 'sport = :56'
> > >    Recv-Q   Send-Q    Local Address:Port   Peer Address:Port Process
> > > 
> > >  This seems a null return. Dores this mean jabref is not using port 
> > >  56?
> > 
> > Well, it tells you that nothing (including jabref) is listening on 
> > TCP port 56, but it won't tell you about why something *failed* to listen.  
> > See strace above. 
> 
> I don't see in refurn for strace that anyhing is not listening to 
> port 56.
> 
>  Casey, thanks for your effort to help, but I'm too ill infomred to 
> benefit from your advice.
> 

I think this is just futile. Why would you do all this painful stuff,
which might not get you close to what you really want - running that app.

For now I just assume you installed jabref via the debian packaging system?
Please just try to start jabref through the system menu.


-H

-- 
Henning Follmann           | hfollm...@itcfollmann.com

Reply via email to