Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
briar
briar
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 694
    • Issues 694
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 17
    • Merge Requests 17
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • briar
  • briarbriar
  • Issues
  • #228

Closed
Open
Opened Jan 21, 2016 by str4d@str4dDeveloper

Briar crashes when TorPlugin tries to create a connection

java.lang.NullPointerException: Attempt to write to field 'java.io.OutputStream net.sourceforge.jsocks.Proxy.out' on a null object reference
 at net.sourceforge.jsocks.SocksSocket.doDirect(SocksSocket.java:279)
 at net.sourceforge.jsocks.SocksSocket.<init>(SocksSocket.java:100)
 at org.briarproject.plugins.tor.TorPlugin.createConnection(TorPlugin.java:536)
 at org.briarproject.plugins.tor.TorPlugin$2.run(TorPlugin.java:515)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
 at java.lang.Thread.run(Thread.java:818)

In the library sources that Gradle downloaded for me, it looks like the proxy field of the jsocks SocksSocket constructor is ignored completely, but the doDirect() internal function called by that constructor uses the unset proxy variable. This looks like an upstream bug. I don't know how this is working for anyone else, given that the jsocks library is verified by Gradle Witness.

Assignee
Assign to
Milestone B
Milestone
Milestone B (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: briar/briar#228