Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tcf-dev] Multiple TCF debug sessions

Hi Eugene,

 

Thanks for the quick answer.

 

Can be that the Eclipse Client is confused by the duplicated Hello events our Agent (wrongly) sends to the Eclipse Client when the second session starts?

 

10:10:46.7661135 TCF Recv E Locator Hello ["Diagnostics","Locator","ZeroCopy"]

10:10:46.7664954 TCF Sent E Locator Hello ["Locator","Streams","Expressions","Memory","Processes","Registers","RunControl","Breakpoints"]

10:10:46.7670834 TCF Sent E Locator Hello ["Locator","Streams","Expressions","Memory","Processes","Registers","RunControl","Breakpoints"]

 

Looks to me that this can be root cause of this strange behavior.

 

Thanks,

Daniel

 

From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx] On Behalf Of Eugene Tarassov
Sent: Mittwoch, 7. September 2016 19:23
To: TCF Development
Subject: Re: [tcf-dev] Multiple TCF debug sessions

 

Hi Daniel,

 

> Eclipse then sends two Processes.start commands over the new connection.

 

This looks wrong and I don’t see it with open source agent for Linux - multiple debug sessions work fine.

I don’t see anything in the code that could send a second Processes.start command.

This is, probably, something specific to your implementation.

You need to debug the launch code to see why second Processes.start is sent.

 

Regards,

Eugene

 

 

From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx] On Behalf Of Daniel.Codres@xxxxxxxxxxxxx
Sent: Wednesday, September 07, 2016 3:46 AM
To: tcf-dev@xxxxxxxxxxx
Subject: [tcf-dev] Multiple TCF debug sessions

 

Hi All,

 

We are observing some strange behavior in Eclipse, when starting a second TCF debug session, while there is already a debug session active.

 

The trace below shows this problem.

 

At 10:10:14.2369669 the first debug session is started.

Eclipse sends the Hello event, sends some other commands and starts the process by the Processes.start command.

(In the trace the Hello response comes after the subscribe commands, but this is because we trace the outgoing communication asynchronously after the send operation is really completed and there probably was a thread switch)

 

At 10:10:46.7621122 the second debug session is started by clicking the bug button.

Eclipse opens a new TCP connection and sends the Hello event.

Our agent responds with Hello on each channel.

 

Eclipse then sends two Processes.start commands over the new connection.

This initializes two new debug session objects within out agent. For the two new started projects.

 

The eclipse window, which showed one debug session until now, now shows the two new debug sessions, but not the old one.

The old debug session is not visible any more.

The old debug session was not terminated and there is now no way to terminate it, because is not visible any more.

So it is still blocking physical resources (COM port).

 

The question is, why the old debug session is abandoned and two new are started?

Other question is, why a new connection is created, when the same type of debug configuration is used and the capabilities of the agent are already known (Hello).

For the second session, we see that Eclipse is able to send two Processes.start  commands over one connection.

 

Addition info:

-    When now a new debug session is started, the existing two are abandoned and three new are started.

-    Sent means Agent did send

-    Recv means Agent did received

 

Trace:

 

10:10:11.3518595 TCF Open [TCP1]TCP:127.0.0.1:5360

10:10:14.2369669 TCF Conn [TCP2]TCP:127.0.0.1:5360

10:10:14.3038345 TCF Recv E Locator Hello ["Diagnostics","Locator","ZeroCopy"]

10:10:14.3122666 TCF Recv C 17 Streams subscribe "Processes"

10:10:14.3122989 TCF Recv C 18 Streams subscribe "ProcessesV1"

10:10:14.3123074 TCF Recv C 19 Streams subscribe "UART-RX"

10:10:14.3123146 TCF Recv C 20 Streams subscribe "UART-TX"

10:10:14.3124142 TCF Sent E Locator Hello ["Locator","Streams","Expressions","Memory","Processes","Registers","RunControl","Breakpoints"]

10:10:14.3213921 TCF Sent R 17 null

10:10:14.3215044 TCF Sent R 18 null

10:10:14.3216197 TCF Sent R 19 null

10:10:14.3216822 TCF Sent R 20 null

10:10:14.3220079 TCF Recv C 21 Breakpoints getIDs

10:10:14.3232023 TCF Recv C 22 Breakpoints getCapabilities null

10:10:14.3235102 TCF Sent R 21 null []

10:10:14.3298339 TCF Sent R 22 null {"HasChildren":false}

10:10:14.3300564 TCF Recv C 23 Processes getEnvironment

10:10:14.3308068 TCF Sent R 23 null []

10:10:14.3318125 TCF Recv C 24 Processes start "" "File.zip" ["File.zip"] ["BuildDate=1606231517","IGNORE_MASTERIO_FLAGS=true","ANSIColors=yes","ConnectionString=COM10","ChipName=Chip12","ForceFlash=Never","Version=V1.0.0","ShowOnlyCPURegisters=no"] true

10:10:14.6037458 TCF Sent R 24 null {"ID":"TITAN1","Name":"Online Mode","Attached":true,"CanTerminate":false,"StdInID":"TITAN1.stdin","StdOutID":"TITAN1.stdout","StdErrID":"TITAN1.stderr"}

10:10:14.6059282 TCF Recv C 25 Processes getSignalList "TITAN1"

10:10:14.6100125 TCF Sent R 25 null [{"Index":0,"Name":"GPIO Trigger","Code":0}]

10:10:14.6153163 TCF Recv C 26 Memory getChildren null

10:10:14.6158644 TCF Recv C 27 RunControl getChildren null

10:10:14.6164760 TCF Sent R 26 null ["ChildMemory"]

10:10:14.6173369 TCF Sent R 27 null []

10:10:14.6255133 TCF Recv C 28 RunControl getContext "ChildMemory"

10:10:14.6270220 TCF Recv C 29 RunControl getContext "TITAN1"

10:10:14.6291506 TCF Sent R 28 {"Code":16,"Severity":0,"Service":"No such context"} null

10:10:14.6301428 TCF Sent R 29 null {"ID":"TITAN1","ProcessID":"TITAN1","Name":"Online Mode","IsContainer":false,"HasState":false,"CanSuspend":false,"CanResume":0,"CanTerminate":false,"CanDetach":false}

10:10:14.6310366 TCF Recv C 30 RunControl getContext "TITAN1"

10:10:14.6311639 TCF Sent R 30 null {"ID":"TITAN1","ProcessID":"TITAN1","Name":"Online Mode","IsContainer":false,"HasState":false,"CanSuspend":false,"CanResume":0,"CanTerminate":false,"CanDetach":false}

10:10:14.6314136 TCF Recv C 31 Memory getChildren "TITAN1"

10:10:14.6315238 TCF Recv C 32 RunControl getChildren "TITAN1"

10:10:14.6315316 TCF Sent R 31 null []

10:10:14.6316475 TCF Sent R 32 null []

10:10:46.7621122 TCF Conn [TCP5]TCP:127.0.0.1:5360

10:10:46.7661135 TCF Recv E Locator Hello ["Diagnostics","Locator","ZeroCopy"]

10:10:46.7664954 TCF Sent E Locator Hello ["Locator","Streams","Expressions","Memory","Processes","Registers","RunControl","Breakpoints"]

10:10:46.7670834 TCF Sent E Locator Hello ["Locator","Streams","Expressions","Memory","Processes","Registers","RunControl","Breakpoints"]

10:10:46.7675256 TCF Recv C 33 Streams subscribe "Processes"

10:10:46.7677858 TCF Recv C 34 Streams subscribe "ProcessesV1"

10:10:46.7677999 TCF Sent R 33 null

10:10:46.7678048 TCF Recv C 35 Streams subscribe "UART-RX"

10:10:46.7678169 TCF Recv C 36 Streams subscribe "UART-TX"

10:10:46.7679442 TCF Sent R 34 null

10:10:46.7680710 TCF Sent R 35 null

10:10:46.7682470 TCF Sent R 36 null

10:10:46.7684335 TCF Recv C 37 Streams subscribe "Processes"

10:10:46.7684755 TCF Recv C 38 Streams subscribe "ProcessesV1"

10:10:46.7684903 TCF Recv C 39 Streams subscribe "UART-RX"

10:10:46.7685030 TCF Recv C 40 Streams subscribe "UART-TX"

10:10:46.7685591 TCF Recv C 41 Breakpoints getIDs

10:10:46.7686500 TCF Sent R 37 null

10:10:46.7688178 TCF Recv C 42 Breakpoints getCapabilities null

10:10:46.7688531 TCF Sent R 38 null

10:10:46.7689720 TCF Sent R 39 null

10:10:46.7691344 TCF Sent R 40 null

10:10:46.7693560 TCF Recv C 43 Breakpoints getIDs

10:10:46.7694022 TCF Sent R 41 null []

10:10:46.7695422 TCF Recv C 44 Breakpoints getCapabilities null

10:10:46.7696150 TCF Sent R 42 null {"HasChildren":false}

10:10:46.7697562 TCF Sent R 43 null []

10:10:46.7698483 TCF Sent R 44 null {"HasChildren":false}

10:10:46.7699174 TCF Recv C 45 Processes getEnvironment

10:10:46.7701251 TCF Sent R 45 null []

10:10:46.7702190 TCF Recv C 46 Processes getEnvironment

10:10:46.7703669 TCF Sent R 46 null []

10:10:46.7706358 TCF Recv C 47 Processes start "" "File.zip" ["File.zip"] ["BuildDate=1606231517","IGNORE_MASTERIO_FLAGS=true","ANSIColors=yes","ConnectionString=COM10","ChipName=Chip12","ForceFlash=Never","Version=V1.0.0","ShowOnlyCPURegisters=no"] true

10:10:46.7713406 TCF Recv C 48 Processes start "" "File.zip" ["File.zip"] ["BuildDate=1606231517","IGNORE_MASTERIO_FLAGS=true","ANSIColors=yes","ConnectionString=COM10","ChipName=Chip12","ForceFlash=Never","Version=V1.0.0","ShowOnlyCPURegisters=no"] true

10:10:47.0288625 TCF Sent R 47 null {"ID":"TITAN2","Name":"Offline Mode","Attached":true,"CanTerminate":false,"StdInID":"TITAN2.stdin","StdOutID":"TITAN2.stdout","StdErrID":"TITAN2.stderr"}

10:10:47.0292045 TCF Recv C 49 Processes getSignalList "TITAN2"

10:10:47.3636902 TCF Sent R 48 null {"ID":"TITAN3","Name":"Offline Mode","Attached":true,"CanTerminate":false,"StdInID":"TITAN3.stdin","StdOutID":"TITAN3.stdout","StdErrID":"TITAN3.stderr"}

10:10:47.3638483 TCF Sent R 49 null [{"Index":0,"Name":"GPIO Trigger","Code":0}]

10:10:47.3640527 TCF Recv C 50 Processes getSignalList "TITAN3"

10:10:47.3641770 TCF Sent R 50 null [{"Index":0,"Name":"GPIO Trigger","Code":0}]

10:10:47.3642419 TCF Recv C 51 Memory getChildren null

10:10:47.3642954 TCF Sent R 51 null ["ChildMemory"]

10:10:47.3643606 TCF Recv C 52 RunControl getChildren null

10:10:47.3644710 TCF Sent R 52 null []

10:10:47.3648529 TCF Recv C 53 Memory getChildren null

10:10:47.3648972 TCF Recv C 55 RunControl getContext "TITAN2"

10:10:47.3650346 TCF Recv C 54 RunControl getChildren null

10:10:47.3651128 TCF Sent R 53 null ["ChildMemory"]

10:10:47.3652341 TCF Recv C 56 RunControl getContext "ChildMemory"

10:10:47.3653292 TCF Sent R 55 null {"ID":"TITAN2","ProcessID":"TITAN2","Name":"Offline Mode","IsContainer":false,"HasState":false,"CanSuspend":false,"CanResume":0,"CanTerminate":false,"CanDetach":false}

10:10:47.3655767 TCF Recv C 57 RunControl getContext "TITAN2"

10:10:47.3658571 TCF Recv C 60 RunControl getContext "TITAN3"

10:10:47.3658840 TCF Recv C 58 Memory getChildren "TITAN2"

10:10:47.3658855 TCF Sent R 54 null []

10:10:47.3658918 TCF Recv C 59 RunControl getChildren "TITAN2"

10:10:47.3660497 TCF Sent R 56 {"Code":16,"Severity":0,"Service":"No such context"} null

10:10:47.3661333 TCF Sent R 57 null {"ID":"TITAN2","ProcessID":"TITAN2","Name":"Offline Mode","IsContainer":false,"HasState":false,"CanSuspend":false,"CanResume":0,"CanTerminate":false,"CanDetach":false}

10:10:47.3662139 TCF Sent R 60 null {"ID":"TITAN3","ProcessID":"TITAN3","Name":"Offline Mode","IsContainer":false,"HasState":false,"CanSuspend":false,"CanResume":0,"CanTerminate":false,"CanDetach":false}

10:10:47.3662664 TCF Sent R 58 null []

10:10:47.3663105 TCF Sent R 59 null []

10:10:47.3665604 TCF Recv C 61 RunControl getContext "TITAN3"

10:10:47.3666718 TCF Recv C 62 Memory getChildren "TITAN3"

10:10:47.3666785 TCF Recv C 63 RunControl getChildren "TITAN3"

10:10:47.3669296 TCF Sent R 61 null {"ID":"TITAN3","ProcessID":"TITAN3","Name":"Offline Mode","IsContainer":false,"HasState":false,"CanSuspend":false,"CanResume":0,"CanTerminate":false,"CanDetach":false}

10:10:47.3670766 TCF Sent R 62 null []

10:10:47.3672130 TCF Sent R 63 null []

 

 

Best Regards,
Daniel



This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.


Back to the top