This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 172022 - dbx: remote requires port forwarding to be on
Summary: dbx: remote requires port forwarding to be on
Status: RESOLVED FIXED
Alias: None
Product: third-party
Classification: Unclassified
Component: DBX-Gui (show other bugs)
Version: 6.x
Hardware: All All
: P1 blocker (vote)
Assignee: ivan
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-11 11:41 UTC by Alexander Pepin
Modified: 2010-06-04 23:32 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Pepin 2009-09-11 11:41:27 UTC
Steps to reproduce:
- add a remote Solaris host and choose SunStudio tool collection
- create any remote project (e.g. Quote)
- build the project
- do step into
Result: User is asked to provide a password then Information window appears with the message "cannot create tunnel --
Tunneler: Couldn't get port after 40 attempts".
Comment 1 Vladimir Voskresensky 2009-09-11 12:17:42 UTC
This is the current restriction of DBX integration for 6.8. If port forwarding is disabled => DBX debugging is not
supported.
I think, we should waive it.
Comment 2 Alexander Pepin 2009-09-11 12:58:46 UTC
I think we should provide a short guidance explaining the problem and providing a solution. Now it's absolutely unclear. 
Comment 3 Leonid Lenyashin 2009-09-11 15:23:30 UTC
At minimum we need to provide a helpful message to a user.
Comment 4 Vladimir Voskresensky 2009-09-16 12:23:47 UTC
some info:
- the dialog is shown by code in t-common.base
- t-common does own manage of jsch session (=> password is asked twice)
- displayed strings are hardcoded

we need:
- change t-common to allow pass it jsch Session (to prevent two password dialogs)
- change text to be understandable by unexperienced users with tip how to fix the problem
- make strings localizable in t-common

Comment 5 Vladimir Voskresensky 2009-09-17 17:20:21 UTC
Ivan, let's change t-common and provide user friendly message.
Comment 6 Egor Ushakov 2009-09-23 12:56:26 UTC
posponed until we have dbx support in NB
Comment 7 Vladimir Voskresensky 2009-10-05 13:34:27 UTC
move dbx related issues into dbx-gui component
Comment 8 Vladimir Voskresensky 2009-10-05 14:29:06 UTC
mark issues as not fixed
Comment 9 ivan 2010-02-04 15:24:35 UTC
port forwarding is supposed to be on by default.
It says so in the O'Reily book :-)
The fact that it is not enabled by default on Solaris is a bug: CR 6830483.

We'll still have to give a useful error message until this is fixed.
Comment 10 Vladimir Voskresensky 2010-04-12 09:39:34 UTC
I've lost several hours trying to decrypt message from error dialog.
Please, change it to something user understandable, not developer's trace + instruction how to fix the issue.
Comment 11 ivan 2010-06-04 21:33:03 UTC
Fix for CR 6830483 is available in snv_118
Comment 12 ivan 2010-06-04 23:32:50 UTC
        df572feaf6c1
        Improved error message. It now looks like this:

        Cannot get a tunnel to {0} on ssh port {1}.\n\
        Possible remedies:\n\
        - Ensure that ''sshd'' is running on ''{0}''.\n\
        - Ensure that ''AllowTcpForwarding'' is set to ''yes'' in ''/etc/ssh/ssh
d_config'' on ''{0}''.\n\
        - Ensure that sshd on {0} is listening on port {1}.\n\
        Additional info:\n\
        \t{2}

        Error messages in the following cases could still use some
        improvement:
        - enabling ss_attach when port forwarding is off.
        - incorrect sunstudio location

        One oddity. Why are we getting an error message about
        dbx glue connection as opposed to a spawn startup error? After all
        don't we first start dbx and then connect to it?
        The reason is that in master mode we first need to allocate
        a tunnelled listening port (Surrogate.callback_remote_addr())
        and then we start dbx. It's callback_remote_addr() which fails.