Menu

#542 Track ends do not join when using Parallel Track on more than one segment

Not Set
open
nobody
None
V5.3.0b1
Linux
5
2024-03-22
2024-01-01
Alan Green
No

Great that the old crashes have been removed completely from the Parallel Track/Line action but the consequence seem to be that the track ends now do not align/join anymore when making a parallel track out of more than one segment.

It appears that it creates the new parallel track segments correctly, but a slight positional offset when using Parallel Track on each segment is stopping the ends joining. I am guessing you might use a snap tolerance in the Parallel Track function, perhaps it just needs to be increased a bit (and to be layout scale agnostic if its not already) . I have not changed the default layout snap tolerance if that is the value it uses.

Many thanks

Discussion

1 2 > >> (Page 1 of 2)
  • Dave Bullis

    Dave Bullis - 2024-01-01

    Parallel works fine for me so it's hard to proceed based on your description.

    Please post
    - $HOME/.xtrkcad-beta/xtrkcad.rc
    - your .xtc file
    - hi res screen shot
    - steps to reproduce the problem

     
  • Alan Green

    Alan Green - 2024-01-05

    It is simply your stock build of the beta but using the SM45 layout scale, the Parallel command does not work around 80-90% of the time.

     
  • Alan Green

    Alan Green - 2024-01-11

    Pendng resolution of #544 for now here is a screenshot of what is happening.

    This is SM45 scale/gauge
    Outside offset of 20cm

    Some of the segments do not snap together. Whilst not visible in the image some of them have snapped together properly.

    The pieces which did not snap properly into place have been drawn/created correctly, it is purely something to do with their position. I can move them about until they snap to one end and then they auto snap to the other and fit into where they should be.

    As its drawn the piece corrently, i'm pretty sure it something to do with their drawn position being outside XtrKCad's defalt snap tolerance used in the Paralle track function.

     
  • Adam Richards

    Adam Richards - 2024-01-18

    The connection distance and connection angle tolerances are universal (and user alterable in Options->Preferences). Two tests might illustrate this - change the connection distance to 0.2 and see what happens (likewise with 1.5 as an angle).

    We have not thought about how these values relate to scale (they are absolute defaults of 0.1" and 1 degree) however. So when a set of parallel tracks are created, any minor discrepancies in track positioning may add up at larger scales because the track offset is larger and will magnify small issues. An example would be good, just include the tracks you are parallelizing in a different .xtc file, or just cut and post the relevant track definitions (both source and result) from inside the file (using a text editor).

    The ends of new Cornus, in particular, should be precise in the parallel case as those are some of the inputs to the function. But the joined source ends might not be identical as from the above they could be 0.1" and 1 degree off, for instance. Given that, a slight tweak for parallel joined tracks would be to use the average values between the ends of the joined tracks (position and angle) which means the resulting offset position and angle would be the precisely same for both sides of the joined tracks even if the input values from each track would be slightly off.

    Anyway, getting an example to play with would be illuminating.

     
  • Alan Green

    Alan Green - 2024-01-25

    Hi Adam, example xtc file attached.

    These are two curves created using the Create Parallel Track command, the offset distance being set to 17.5cm from the original tracks.

    I don't have a huge amount of experience interpreting the raw text fields in the xtc file but I think the second E4 is the common point on both curves where they should have auto-joined.

    The x y values look identical to 5 decimal places, but there is another number field after those x-y values (possibly a z-value?), one of which is 80 and the other is 260. Are these possibly what is causing the issue for the auto-join snap tolerance? Note this layout does not contain any gradients, raised tracks, etc which would normally change the z value.

     
  • Alan Green

    Alan Green - 2024-01-25

    Aha, this might help you.

    To emulate what the xtc code would look like when the two tracks have been joined using the magnetic snap, I took the file I sent you above, clicked and dragged one track away from the other using Move, then brought it back closer again so they snap together. Then resaved it as a new xtc file and compared it with the original.

    Comparison observations as follows:

    i) the third number field containing the 80 and 260 made no difference. Both files still had the 80 and 260 in them.

    ii) The format of the track creation command/text has changed between the files. In the file where the tracks had not snapped together, it starts with E4 and ends with E4. In the one where they have snapped together it starts with E4 and ends with T4. I think this might be the main indicator of an issue.

    iii) One of the number fields in the Layer line has also changed from 9.75 to 0.00. This may or may not be related

    Second file xtc attached containing the joined tracks (using snap) so you can compare it with the previous xtc sent

     

    Last edit: Alan Green 2024-01-25
  • Dave Bullis

    Dave Bullis - 2024-01-25

    Alan:
    The file you provided has 2 abutting but not connected tracks
    The EndPoints of interest are identical (except for the expected angles flipped by 180d)
    E4 434.237835 184.692432 80.587885 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
    E4 434.237835 184.692432 260.587885 0 0.0 0.0 0.0 0.0 0 0 0 0.000000

    I did a parallel track cmd with your specified separation and the tracks were correctly connected on both sides.

    It appears the example is of the result of the doning a parallel track cmd and then the original tracks were removed.
    If so, can you reproduce this and post the .xtc before and after the parallel track cmd.

     
  • Alan Green

    Alan Green - 2024-01-25

    Sure, attached are another 'before and after' example using a simpler curve to show this is not specifically an s-curve issue. Regularly happens on plain curves, s-curves, straights.

    Again the main difference in the xtc files is that the original curve before the parallel cmd is made up of an E4 and T4, and the new curves after the parallel cmd are made up of just E4s. I'm guessing if the mid-point had joined properly they would also have been made of an E4 and T4 too? The x-y coordinates are all dead on again.

     
  • Dave Bullis

    Dave Bullis - 2024-01-25

    'T4 N' is a connected EndPoint. N is the track we're connected to.
    'E4' is an unconnected EndPoint
    All EndPoints look ok except that the 2 new tracks are not connected,
    I've Parallel and it works fine for me.

    Let's make a recording
    Go to Macro|Record. It will pop up a file selection dialog. Enter a file name
    Then you will see the Record dialog.
    Run you test case
    When done hit Stop
    Post the test file (it will have a .xtr extension

     
  • Alan Green

    Alan Green - 2024-01-25

    xtr file attached as requested.
    Didn't join again.

     
  • Dave Bullis

    Dave Bullis - 2024-01-26

    The demo worked for me.
    Must be something in your environment but I don't know what

     
  • Alan Green

    Alan Green - 2024-01-26

    See attached vdeo just to assure you i'm not making this up. Happens regularly on curves and straights. I'm rnning this beta version on Fedora 38. Is a unique issue specific to this latest beta release.

    Just an idea, but if the magentic snap which is supposed to recognise and join these tracks during the Parallel cmd is set as default to 0.1"/2.54mm then could it possibly be a decimal places rounding error creeping in somewhere (e.g. a float value geting converted to an integer or smaller decimal places). When I say this I mean in the main display system (e.g. GTK)?

     
  • Alan Green

    Alan Green - 2024-01-26

    Hmm, have just been trying different values in Preferences > Connection Distance.

    It starts connecting when the Connection Distance is set to the max allowed by XtrkCAD (2.5cm). I can put in any value of 2.499 or lower and it stops working again. This is fully repeatable.

    This seems like too much of a coincidence that it only accepts your arbitrary max value. Are you absolutely sure the connection distance feature is working properly in this latest version?

     
  • Dave Bullis

    Dave Bullis - 2024-01-26

    2.54 cm is 1.0inch which seems like a reasonable value a long time ago before very large scale.
    I still haven't reproduced this so we have to try extreme measures

    From a terminal do (assuming you are using 5.3.0B1) and connection distance is 0.254cm
    If the gdb is unknown you will have to install if: 'apt install gdb' as root
    $ gdb /usr/local/bin/xtrlcad-beta
    a bunch of text from gdb
    (gdb) break cparalle.c:196
    (gdb) run
    From xtrkcad,
    open 'no joins track before parallel cmd.xtc'
    select Parallel track command
    create a parallel track for the larger curve
    this will hit the breakpoint at cparalle.c:196 and you will see
    ** Thread 1 "xtrkcad-beta" hit Breakpoint 1, CmdParallel (action=4, pos=...) at /home/dave/Source/xtrkcad/sf/temp2/src-temp2/app/bin/cparalle.c:196
    continue
    (gdb) cont

    create a parallel track for the smaller curve
    this will hit the breakpoint again
    step thru the function...
    (gbd) next

    196 /home/dave/Source/xtrkcad/sf/temp2/src-temp2/app/bin/cparalle.c: No such file or directory.
    step:
    (gdb) next
    (gdb)
    Hit return to walk thru this function (about 30 times) until you see something like
    (gdb)
    DoCurCommand (action=4, pos=...) at /home/dave/Source/xtrkcad/sf/temp2/src-temp2/app/bin/command.c:318

    You will hit the breakpoint if you do a mouse up on the canvas even when not placing the parallel curve. In that case just do cont

    Post the trace

     
  • Alan Green

    Alan Green - 2024-01-26

    Sure no probs, have gdb aeady installed. After running the 'break cparalle.c:196' command in the gdb shell i'm getting a question back, see below. Do want me to answer yes or no to it?

    break cparalle.c:196
    No symbol table is loaded. Use the "file" command.
    Make breakpoint pending on future shared library load? (y or [n])

     
  • Dave Bullis

    Dave Bullis - 2024-01-26

    Ooops. small type
    it should be gdb /usr/local/bin/xtrkcad-beta
    But first check that the file exists (I'm assuming you're running 5.3.0Beta1)

     
  • Alan Green

    Alan Green - 2024-01-26

    Ran Parallel on Long Track

    Thread 1 "xtrkcad-beta" hit Breakpoint 1, CmdParallel (action=4, pos=...)
    at /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c:196
    196 /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c: No such file or directory.
    (gdb) cont
    Continuing.

    Ran Parallel on Short Track

    Thread 1 "xtrkcad-beta" hit Breakpoint 1, CmdParallel (action=4, pos=...)
    at /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c:196
    196 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb) next
    197 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    200 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    201 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    202 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    203 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    204 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    205 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    206 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    209 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    210 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    211 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    216 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    217 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    230 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    231 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    236 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    237 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    241 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    243 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    244 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    245 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    244 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    246 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    247 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    248 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    249 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    252 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    262 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    263 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    264 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    265 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    266 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    270 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    271 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    272 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    291 in /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c
    (gdb)
    DoCurCommand (action=4, pos=...)
    at /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/command.c:318
    318 /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/command.c: No such file or directory.

     
  • Dave Bullis

    Dave Bullis - 2024-01-27

    Line 248 is a call to ConnectTracks() which is epected.
    Try again with

    gdb /usr/local/bin/xtrkcad-beta
    (gdb) break ConnectTracks
    (gdb) r -d track=3 -d endPt=2

    repeat your test case.
    When you hit the break point next until you hit line 2017
    (gdb) print d
    (gdb) print a
    (gdb) print connectDistance
    (gdb) print connectAngle
    next until you hit line 2031
    (gdb) print *epp0
    (gdb) print *epp1
    (gdb) print trk0
    (gdb) print trk1
    (gdb) print *trk0""
    (gdb)
    print trk1*

    next until you exit ConnectTracks
    249 /home/dave/Source/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c: No such file or directory.

     
  • Dave Bullis

    Dave Bullis - 2024-01-27

    The last 2 gdb commands should be
    print trk0
    print
    trk1

     
  • Alan Green

    Alan Green - 2024-01-27

    I'm afraid it didn't get as far as producing a long trace, the only feedback gdb gave was the below on startup. No trace or break was created when running the two Parallel commands.

    (gdb) break ConnectTracks

    Breakpoint 1 at 0x1743bb: file /storage/source/MR/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/track.c, line 1985.

    (gdb) r -d track=3 -d endPt=2

    Starting program: /usr/local/bin/xtrkcad-beta -d track=3 -d endPt=2
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib64/libthread_db.so.1".
    Gtk-Message: 15:22:38.870: Failed to load module "pk-gtk-module"
    [New Thread 0x7fffe91d76c0 (LWP 4586)]
    [Thread 0x7fffe91d76c0 (LWP 4586) exited]
    [New Thread 0x7fffe91d76c0 (LWP 4587)]
    [New Thread 0x7fffe88f16c0 (LWP 4588)]
    [Thread 0x7fffe91d76c0 (LWP 4587) exited]
    [Thread 0x7fffe88f16c0 (LWP 4588) exited]
    [New Thread 0x7fffe88f16c0 (LWP 4589)]
    [New Thread 0x7fffe91d76c0 (LWP 4590)]
    [Thread 0x7fffe88f16c0 (LWP 4589) exited]
    [New Thread 0x7fffe88f16c0 (LWP 4591)]
    [New Thread 0x7fffe3a6a6c0 (LWP 4592)]
    [Thread 0x7fffe91d76c0 (LWP 4590) exited]
    [Thread 0x7fffe88f16c0 (LWP 4591) exited]
    [Thread 0x7fffe3a6a6c0 (LWP 4592) exited]
    [New Thread 0x7fffe3a6a6c0 (LWP 4593)]
    [New Thread 0x7fffe88f16c0 (LWP 4594)]
    [Thread 0x7fffe3a6a6c0 (LWP 4593) exited]
    [New Thread 0x7fffe3a6a6c0 (LWP 4595)]
    [New Thread 0x7fffe91d76c0 (LWP 4596)]
    [Thread 0x7fffe88f16c0 (LWP 4594) exited]
    [Thread 0x7fffe3a6a6c0 (LWP 4595) exited]
    [Thread 0x7fffe91d76c0 (LWP 4596) exited]
    [New Thread 0x7fffe91d76c0 (LWP 4597)]
    [New Thread 0x7fffe3a6a6c0 (LWP 4598)]
    [Thread 0x7fffe91d76c0 (LWP 4597) exited]
    [New Thread 0x7fffe91d76c0 (LWP 4599)]
    [New Thread 0x7fffe88f16c0 (LWP 4600)]
    [Thread 0x7fffe3a6a6c0 (LWP 4598) exited]
    [Thread 0x7fffe91d76c0 (LWP 4599) exited]
    [Thread 0x7fffe88f16c0 (LWP 4600) exited]
    [New Thread 0x7fffe88f16c0 (LWP 4601)]
    [New Thread 0x7fffe91d76c0 (LWP 4602)]
    [Thread 0x7fffe88f16c0 (LWP 4601) exited]
    [New Thread 0x7fffe88f16c0 (LWP 4603)]
    [New Thread 0x7fffe3a6a6c0 (LWP 4604)]
    [Thread 0x7fffe91d76c0 (LWP 4602) exited]
    [Thread 0x7fffe88f16c0 (LWP 4603) exited]
    [Thread 0x7fffe3a6a6c0 (LWP 4604) exited]
    [New Thread 0x7fffe3a6a6c0 (LWP 4605)]
    [New Thread 0x7fffe88f16c0 (LWP 4606)]
    [Thread 0x7fffe3a6a6c0 (LWP 4605) exited]

    [New Thread 0x7fffe3a6a6c0 (LWP 4607)]
    [New Thread 0x7fffe91d76c0 (LWP 4608)]
    [Thread 0x7fffe88f16c0 (LWP 4606) exited]
    [Thread 0x7fffe3a6a6c0 (LWP 4607) exited]
    [Thread 0x7fffe91d76c0 (LWP 4608) exited]
    [New Thread 0x7fffe91d76c0 (LWP 4609)]
    [New Thread 0x7fffe3a6a6c0 (LWP 4610)]
    [Thread 0x7fffe91d76c0 (LWP 4609) exited]
    [New Thread 0x7fffe91d76c0 (LWP 4611)]
    [Thread 0x7fffe3a6a6c0 (LWP 4610) exited]
    [New Thread 0x7fffe3a6a6c0 (LWP 4612)]
    [Thread 0x7fffe91d76c0 (LWP 4611) exited]
    [Thread 0x7fffe3a6a6c0 (LWP 4612) exited]
    [New Thread 0x7fffe3a6a6c0 (LWP 4613)]
    [New Thread 0x7fffe91d76c0 (LWP 4614)]
    [Thread 0x7fffe3a6a6c0 (LWP 4613) exited]
    [New Thread 0x7fffe3a6a6c0 (LWP 4615)]
    [New Thread 0x7fffe88f16c0 (LWP 4616)]
    [Thread 0x7fffe91d76c0 (LWP 4614) exited]
    [Thread 0x7fffe3a6a6c0 (LWP 4615) exited]
    [Thread 0x7fffe88f16c0 (LWP 4616) exited]
    [New Thread 0x7fffe88f16c0 (LWP 4617)]
    [New Thread 0x7fffe3a6a6c0 (LWP 4618)]
    [Thread 0x7fffe88f16c0 (LWP 4617) exited]
    [New Thread 0x7fffe88f16c0 (LWP 4619)]
    [New Thread 0x7fffe91d76c0 (LWP 4620)]
    [Thread 0x7fffe3a6a6c0 (LWP 4618) exited]
    [Thread 0x7fffe88f16c0 (LWP 4619) exited]
    [Thread 0x7fffe91d76c0 (LWP 4620) exited]
    [New Thread 0x7fffe91d76c0 (LWP 4621)]
    [New Thread 0x7fffe88f16c0 (LWP 4622)]
    [Thread 0x7fffe91d76c0 (LWP 4621) exited]
    [New Thread 0x7fffe91d76c0 (LWP 4623)]
    [New Thread 0x7fffe3a6a6c0 (LWP 4624)]
    [Thread 0x7fffe88f16c0 (LWP 4622) exited]
    [Thread 0x7fffe91d76c0 (LWP 4623) exited]
    [Thread 0x7fffe3a6a6c0 (LWP 4624) exited]

    XTrackCAD Version: 5.3.0Beta1, Date: Sat Jan 27 15:22:38 2024

    NewTrack( T1, t3, E0, X64)
    NewTrack( T2, t3, E0, X64)
    ResNextTrack( T1, t3, E2, X64)
    ResNextTrack( T2, t3, E2, X64)

     
  • Dave Bullis

    Dave Bullis - 2024-01-27

    Try again , and add
    (gdb) break cparalle.c:248
    when you hit that breakpoint, do step which should put you in ConnectTracks. Then next as above

     
  • Alan Green

    Alan Green - 2024-01-27

    Can I just confirm the whole procedure with all the tweaks above. Is the below correct?

    gdb /usr/local/bin/xtrkcad-beta

    (gdb) break cparalle.c:248

    (gdb) break ConnectTracks

    (gdb) r -d track=3 -d endPt=2

    repeat the test case.

    When it hits the break point use next until it hits line 2017

    (gdb) print d

    (gdb) print a

    (gdb) print connectDistance

    (gdb) print connectAngle

    next until hit line 2031

    (gdb) print *epp0

    (gdb) print *epp1

    (gdb) print trk0

    (gdb) print trk1

    next until it exits ConnectTracks

    249 /<path>/Source/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c: No such file or directory.</path>

     
  • Dave Bullis

    Dave Bullis - 2024-01-27

    Close

    gdb /usr/local/bin/xtrkcad-beta

    (gdb) break cparalle.c:248

    (gdb) break ConnectTracks

    (gdb) r -d track=3 -d endPt=2

    repeat the test case.

    When it hits the break point #1 cparalle.c:248,
    (gdb) step
    This will put you into ConnectTracks

    use next until it hits line 2017

    (gdb) print d

    (gdb) print a

    (gdb) print connectDistance

    (gdb) print connectAngle

    next until hit line 2031

    (gdb) print *epp0

    (gdb) print *epp1

    (gdb) print trk0

    (gdb) print trk1

    *(gdb) print trk0

    (gdb) print trk1*

    next until it exits ConnectTracks

    you will see
    249 /<path>/Source/xtrkcad/sf/v5.3.0b1/src-530b1/app/bin/cparalle.c: No such file or directory.</path>

    (gdb) next
    until you exit CmdParallel

    Dave

     
  • Alan Green

    Alan Green - 2024-01-28

    I'm afraid its still not catching/logging any breaks

    Does the '(gdb) r -d track=3 -d endPt=2' command possibly need tweaking to work properly, because we could catch the ConnectTrack breaks before when just using the plain 'run' command without any options/arguments.

     
  • Dave Bullis

    Dave Bullis - 2024-01-28

    The -d option won't affect the test but to simpilify things we can leave them out.
    Take a step back to get a reproducable case

    (gdb) break cparalle.c:196
    (gdb) r
    Do your test case, like you did before
    Do Parallel on the first track, you should hit the break. Continue
    (gdb) c
    Do parallel on the second track. You should hit the break again. Do next until you get to line 248 or line 257
    (gdb) next
    Step into ConnectTracks:
    (gdb) step
    and then next until you return from ConnectTracks
    (gdb) next

     
1 2 > >> (Page 1 of 2)

Anonymous
Anonymous

Add attachments
Cancel