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 234116 - debugger QNX support
Summary: debugger QNX support
Status: NEW
Alias: None
Product: cnd
Classification: Unclassified
Component: Debugger (show other bugs)
Version: 7.3.1
Hardware: PC Linux
: P3 normal (vote)
Assignee: Maria Tishkova
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-08 06:46 UTC by igor.nastoyanov
Modified: 2016-07-06 14:38 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments
GDB log (1.12 KB, text/x-log)
2013-08-08 06:46 UTC, igor.nastoyanov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description igor.nastoyanov 2013-08-08 06:46:57 UTC
Created attachment 138436 [details]
GDB log

I'm trying to debug C/C++ application on remote host (QNX). SSH access managed correctly (root access without password and option -J-Dcnd.remote.scp=true). The main reason I can see is wrong Process ID in "Sessions" tab.

http://s17.postimg.org/rs9b04ecf/screen.png

Also when I try to "Main menu > Debug > Attach Debugger > Using Gdb Debugger > Host: root@qnx:22" NetBeans fails with message "ps failed, see log for details". Details from log:

FINEST [nativeexecution.support.logger]: [15895 ms.] root@qnx /usr/bin/ps -fu root [0]: State changed: INITIAL -> STARTING
FINEST [nativeexecution.support.logger]: [16061 ms.] root@qnx /usr/bin/ps -fu root [2580528]: State changed: STARTING -> RUNNING
FINEST [nativeexecution.support.logger]: [16461 ms.] root@qnx /usr/bin/ps -fu root [2580528]: State changed: RUNNING -> FINISHING
FINEST [nativeexecution.support.logger]: [16462 ms.] root@qnx /usr/bin/ps -fu root [2580528]: State changed: FINISHING -> FINISHED
WARNING [org.netbeans.modules.cnd.debugger.common2.utils.PsProvider]: ps command failed with 127

First of all NetBeans tries to call /usr/bin/ps which is not correct path on my QNX system. Correct path is /bin/ps. But this is not a big problem to make symlink from /bin/ps to /usr/bin/ps what I did. After this manipulation log changed a little bit:

FINEST [nativeexecution.support.logger]: [301990 ms.] root@qnx /usr/bin/ps -fu root [0]: State changed: INITIAL -> STARTING
FINEST [nativeexecution.support.logger]: [302053 ms.] root@qnx /usr/bin/ps -fu root [2900009]: State changed: STARTING -> RUNNING
FINEST [nativeexecution.support.logger]: [302253 ms.] root@qnx /usr/bin/ps -fu root [2900009]: State changed: RUNNING -> FINISHING
FINEST [nativeexecution.support.logger]: [302254 ms.] root@qnx /usr/bin/ps -fu root [2900009]: State changed: FINISHING -> FINISHED
WARNING [org.netbeans.modules.cnd.debugger.common2.utils.PsProvider]: ps command failed with 255

Cause of this issue I was found too. ps version on my QNX system can only accept user's id but not user's login (looks like it's a QNX bug because ps help tells that "-u usrlist      Write information for processes whose user ID or login"). No matter. I wrote a simple wrapper for ps to replace "-fu root" arguments to "-fu 0". Finally I get next messages in the log:

FINEST [nativeexecution.support.logger]: [18107 ms.] root@qnx /usr/bin/ps -fu root [0]: State changed: INITIAL -> STARTING
FINEST [nativeexecution.support.logger]: [18260 ms.] root@qnx /usr/bin/ps -fu root [3285040]: State changed: STARTING -> RUNNING
FINEST [nativeexecution.support.logger]: [21261 ms.] root@qnx /usr/bin/ps -fu root [3285040]: State changed: RUNNING -> FINISHING
FINEST [nativeexecution.support.logger]: [21262 ms.] root@qnx /usr/bin/ps -fu root [3285040]: State changed: FINISHING -> FINISHED
java.lang.AssertionError: Process list:[[0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 1, 0, Aug08, /bin/sh: <stdin>[7]: /usr/bin/pargs: not found], [0, 2, 1, Aug08, /sbin/tinit -p], [0, 3, 2, Aug08, slogger -s32], [0, 12292, 2, Aug08, mqueue], [0, 5, 2, Aug08, pci-bios], [0, 6, 2, Aug08, devb-eide blk auto=partition dos exe=all cam quiet], [0, 6, 2, Aug08, devb-eide blk auto=partition dos exe=all cam quiet], [0, 6, 2, Aug08, devb-eide blk auto=partition dos exe=all cam quiet], [0, 6, 2, Aug08, devb-eide blk auto=partition dos exe=all cam quiet], [0, 6, 2, Aug08, devb-eide blk auto=partition dos exe=all cam quiet], [0, 6, 2, Aug08, devb-eide blk auto=partition dos exe=all cam quiet], [0, 6, 2, Aug08, devb-eide blk auto=partition dos exe=all cam quiet], [0, 6, 2, Aug08, devb-eide blk auto=partition dos exe=all cam quiet], [0, 7, 2, Aug08, devc-con -n4], [0, 4104, 2, Aug08, pipe], [0, 4104, 2, Aug08, pipe], [0, 4104, 2, Aug08, pipe], [0, 4104, 2, Aug08, pipe], [0, 159753, 2, Aug08, devc-pty -n 32], [0, 122890, 1, Aug08, devb-fdc cam quiet blk auto=partition,cache=100k], [0, 69643, 1, Aug08, io-audio], [0, 69643, 1, Aug08, io-audio], [0, 69643, 1, Aug08, io-audio], [0, 69643, 1, Aug08, io-audio], [0, 69643, 1, Aug08, io-audio], [0, 122892, 1, Aug08, devc-ser8250 -u1 3f8,4 -u2 2f8,3], [0, 163853, 2, Aug08, random -t], [0, 163853, 2, Aug08, random -t], [0, 163853, 2, Aug08, random -t], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 86030, 1, Aug08, io-net -ptcpip], [0, 176143, 2, Aug08, dumper -d /var/dumps], [0, 204816, 2, Aug08, fs-nfs3 host:/var/nfs /tmp/nfs], [0, 204816, 2, Aug08, fs-nfs3 host:/var/nfs /tmp/nfs], [0, 204816, 2, Aug08, fs-nfs3 host:/var/nfs /tmp/nfs], [0, 204816, 2, Aug08, fs-nfs3 host:/var/nfs /tmp/nfs], [0, 204816, 2, Aug08, fs-nfs3 host:/var/nfs /tmp/nfs], [0, 217105, 2, Aug08, qconn], [0, 217105, 2, Aug08, qconn], [0, 217105, 2, Aug08, qconn], [0, 217105, 2, Aug08, qconn], [0, 213010, 1, Aug08, inetd], [0, 356371, 2, Aug08, login], [0, 233492, 1, Aug08, /opt/sbin/sshd], [0, 241685, 1, Aug08, io-usb], [0, 241685, 1, Aug08, io-usb], [0, 241685, 1, Aug08, io-usb], [0, 241685, 1, Aug08, io-usb], [0, 241685, 1, Aug08, io-usb], [0, 241685, 1, Aug08, io-usb], [0, 241685, 1, Aug08, io-usb], [0, 356374, 2, Aug08, login], [0, 356375, 2, Aug08, login], [0, 503832, 2, Aug08, login], [0, 503833, 233492, Aug08, /opt/sbin/sshd], [0, 401434, 1, Aug08, Photon -g -lphlogin2 "-Sphshutdown -l"], [0, 430107, 1, Aug08, phfont -d /usr/photon/font_repository], [0, 430107, 1, Aug08, phfont -d /usr/photon/font_repository], [0, 442396, 1, Aug08, fontsleuth -d /usr/photon/font_repository], [0, 442396, 1, Aug08, fontsleuth -d /usr/photon/font_repository], [0, 442396, 1, Aug08, fontsleuth -d /usr/photon/font_repository], [0, 442396, 1, Aug08, fontsleuth -d /usr/photon/font_repository], [0, 503837, 503833, Aug08, -sh], [0, 1576990, 1503276, Aug08, helpviewer], [0, 471071, 1, Aug08, io-graphics -dvesabios vid=0x15ad -pphoton hwcursor], [0, 471071, 1, Aug08, io-graphics -dvesabios vid=0x15ad -pphoton hwcursor], [0, 471071, 1, Aug08, io-graphics -dvesabios vid=0x15ad -pphoton hwcursor], [0, 491552, 1, Aug08, /usr/photon/bin/devi-hirun kbd fd -d/dev/kbd ps2 mousedev], [0, 491552, 1, Aug08, /usr/photon/bin/devi-hirun kbd fd -d/dev/kbd ps2 mousedev], [0, 491552, 1, Aug08, /usr/photon/bin/devi-hirun kbd fd -d/dev/kbd ps2 mousedev], [0, 2998305, 233492, Aug08, /opt/sbin/sshd], [0, 3211298, 2998305, Aug08, sh -c sh], [0, 3301411, 3285040, Aug08, /bin/ps -fu 0], [0, 1327140, 1, Aug08, sh -c sh], [0, 3215397, 3211298, Aug08, /opt/libexec/sftp-server], [0, 1331238, 1, Aug08, sh -c sh], [0, 1331239, 1327140, Aug08, /bin/sh /bin/sh], [0, 1339432, 1331238, Aug08, cat /var/tmp/dlight_root/71159f3b/debuggerFifo1282086.fifo], [0, 1577002, 1576990, Aug08, vserver.file], [0, 1458219, 1, Aug08, pwm], [0, 1503276, 1, Aug08, shelf], [0, 1503276, 1, Aug08, shelf], [0, 1540141, 1, Aug08, bkgdmgr], [0, 1540142, 1, Aug08, wmswitch], [0, 1540143, 1, Aug08, saver], [0, 3285040, 3276849, Aug08, /bin/sh /usr/bin/ps -fu root], [0, 3276849, 2998305, Aug08, sh -c sh]]

God damn! /usr/bin/pargs: not found 
After digging in netbeans sources I was found roots of this problem in PsProvider class. Netbeans can't properly detect OS Family of host (remote host I suppose) and runs default algorithm for Solaris! As a workaround I'm using now "-J-Dattach.pargs.disable=true" to disable pargs. But I'm not sure that this is the right way. I hope it will help to solve problem with GDB.

Best regards.
Comment 1 Jiri Kovalsky 2013-08-08 06:59:28 UTC
Reassigning to CND for further evaluation.
Comment 2 Egor Ushakov 2013-08-14 09:25:46 UTC
Thanks for your report!
Unfortunately, QNX never was in the list of supported  platforms and it is not planned to support it.
We may consider implementing pluggable infrastructure to allow adding support for extra operating systems in plugins.
Comment 3 igor.nastoyanov 2013-08-19 05:47:14 UTC
Is there any way to say Netbeans that remote platform is Linux family OS? I think it can solve a lot of problems.