Thanks for looking at the coredump.  Debugging with real time in Linux is certainly different to msvs!

Possibly line:539, but thanks that is very helpfull

My main spur to build a i386 machine was to be able to debug the original commits, which I now can begin.

The alternative to trying to debug the failure of the complete set of merged commits, is to reintroduce them

one by one until it fails and narrow down what specifically caused it. I think I will go that route, now that I can build RIP

builds and do that more easily (and now have an idea where the fault is likely to occur)

regards

On 11/28/2018 1:38 AM, [email protected] wrote:
And am I understanding it correctly that it is dying on line 384 of file src/rtapi/rt-preempt.c, right?

Cern

Dne středa 28. listopadu 2018 2:13:54 UTC+1 [email protected] napsal(a):


    Hello,

    OK, I am used to Visual Studio, so gdb (and others) are
    interesting experience. Was able to experiment, that problem is
    caused (minimally) by creating new thread (halcmd newthread ...)
    and if I am not mistaken by call to pthread_create(params).

    Commands from terminal:

    machinekit@machinekit:~$ DEBUG=5 realtime start
    rtapi_msgd command:  /usr/libexec/linuxcnc/rtapi_msgd --instance=0
    --rtmsglevel=5 --usrmsglevel=5 --halsize=524288
    warning: removing unused HAL shm segment /linuxcnc-0-00414c32
    rtapi_app command:  /usr/libexec/linuxcnc/rtapi_app_rt-preempt
    --instance=0
    machinekit@machinekit:~$ halcmd newthread fff 5000000 fp
    <commandline>:0: rc=-1: rtapi_rpc(): reply timeout

    machinekit@machinekit:~$ pidof rtapi:0
    24452
    machinekit@machinekit:~$ sudo gdb -p 24452
    [sudo] heslo pro machinekit:
    GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
    Copyright (C) 2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later
    <http://gnu.org/licenses/gpl.html <http://gnu.org/licenses/gpl.html>>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show
    copying"
    and "show warranty" for details.
    This GDB was configured as "i686-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/
    <http://www.gnu.org/software/gdb/bugs/>>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/
    <http://www.gnu.org/software/gdb/documentation/>>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word".
    Attaching to process 24452
    [New LWP 24456]
    [New LWP 24457]
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library
    "/lib/i386-linux-gnu/libthread_db.so.1".
    0xb77afcf9 in __kernel_vsyscall ()
    (gdb) c
    Continuing.

    Thread 1 "rtapi:0" received signal SIGSEGV, Segmentation fault.
    0xb7366b18 in allocate_stack (stack=<synthetic pointer>,
        pdp=<synthetic pointer>, attr=0xbf9b1560) at allocatestack.c:414
    414    allocatestack.c: Adresář nebo soubor neexistuje.
    (gdb) backtrace
    #0  0xb7366b18 in allocate_stack (stack=<synthetic pointer>,
        pdp=<synthetic pointer>, attr=0xbf9b1560) at allocatestack.c:414
    #1  __pthread_create_2_1 (newthread=0xb69e302c, attr=0xbf9b1560,
        start_routine=0xb69d1978, arg=0xb69e03ec) at pthread_create.c:539
    #2  0xb7367230 in __pthread_create_2_0 (newthread=0xb69e302c,
        attr=0xbf9b1560, start_routine=0xb69d1978, arg=0xb69e03ec)
        at pthread_create.c:765
    #3  0xb69d1d53 in ?? () from /usr/lib/linuxcnc/rt-preempt/rtapi.so
    #4  0xb69cf4f1 in ?? () from /usr/lib/linuxcnc/rt-preempt/rtapi.so
    #5  0xb68c1416 in hal_create_xthread ()
       from /usr/lib/linuxcnc/rt-preempt/hal_lib.so
    #6  0x0047af27 in ?? ()
    #7  0xb730dd9c in zloop_start () from
    /usr/lib/i386-linux-gnu/libczmq.so.4
    #8  0x00479166 in ?? ()
    #9  0x004720a5 in main ()
    (gdb)

    Nov 28 02:08:15 machinekit msgd:0: startup pid=24447
    flavor=rt-preempt rtlevel=5 usrlevel=5 halsize=524288 shm=Posix
    cc=gcc 6.3.0 20170516 version=v0.1~-----~9c3423c
    Nov 28 02:08:15 machinekit msgd:0: ØMQ=4.2.1 czmq=4.0.2
    protobuf=3.0.0 atomics=gcc intrinsics libwebsockets=2.0.3
    Nov 28 02:08:15 machinekit msgd:0: configured: sha=9c3423c
    Nov 28 02:08:15 machinekit msgd:0: built:      Nov 14 2018
    12:37:25 sha=9c3423c
    Nov 28 02:08:15 machinekit msgd:0: register_stuff: actual hostname
    as announced by avahi='machinekit.local'
    Nov 28 02:08:15 machinekit msgd:0: zeroconf: registering: 'Log
    service on machinekit.local pid 24447'
    Nov 28 02:08:15 machinekit rtapi:0: 2:rtapi_app:24452:user
    rtapi:0: cannot create core dumps - /proc/sys/fs/suid_dumpable
    contains 0
    Nov 28 02:08:15 machinekit rtapi:0: 2:rtapi_app:24452:user you
    might have to run 'echo 1 > /proc/sys/fs/suid_dumpable' as root to
    enable rtapi_app core dumps
    Nov 28 02:08:15 machinekit rtapi:0: 4:rtapi_app:24452:user rtapi:
    loaded from rtapi.so
    Nov 28 02:08:15 machinekit rtapi:0: 4:rtapi_app:24452:user
    hal_lib: loaded from hal_lib.so
    Nov 28 02:08:15 machinekit msgd:0: rtapi:24452:rt
    rtapi_app_main:195 HAL: initializing RT hal_lib support
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24452:rt
    halg_xinitfv:90 HAL: initializing component 'hal_lib' type=4
    arg1=0 arg2=0/0x0
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24452:rt
    hal_heap_addmem:58 HAL: extending arena by 262144 bytes
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24452:rt
    halg_export_xfunctfv:85 HAL: exporting function 'newinst' type 2
    fp=0 owner=66
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24452:rt
    halg_export_xfunctfv:85 HAL: exporting function 'delinst' type 2
    fp=0 owner=66
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24452:rt
    halg_xinitfv:271 HAL: singleton component 'hal_lib' id=66 initialized
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24452:rt
    rtapi_app_main:199 HAL: RT hal_lib support initialized rc=66
    Nov 28 02:08:15 machinekit rtapi:0: 4:rtapi_app:24452:user
    accepting commands at
    ipc:///tmp/0.rtapi.a42c8c6b-4025-4f83-ba28-dad21114744a
    Nov 28 02:08:15 machinekit rtapi:0: 3:rtapi_app:24452:user
    rtapi_app:0 ready flavor=rt-preempt gcc=6.3.0 20170516
    git=v0.1~-----~9c3423c
    Nov 28 02:08:15 machinekit rtapi:0: 4:rtapi_app:24452:user
    pid=24452 flavor=rt-preempt gcc=6.3.0 20170516 git=v0.1~-----~9c3423c
    Nov 28 02:08:15 machinekit rtapi:0: 4:rtapi_app:24452:user
    pid=24452 flavor=rt-preempt gcc=6.3.0 20170516 git=v0.1~-----~9c3423c
    Nov 28 02:08:15 machinekit msgd:0: ulapi:24453:user _ulapi_init():
    ulapi rt-preempt v0.1~-----~9c3423c loaded
    Nov 28 02:08:15 machinekit msgd:0: ulapi:24453:user
    halg_xinitfv:271 HAL: singleton component 'hal_lib24453' id=70
    initialized
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24453:user --halcmd ping
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24453:user
    halg_exit:293 HAL: removing component 72 'halcmd24453'
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24453:user
    ulapi_hal_lib_cleanup:235 HAL: lib_module_id=70
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24453:user
    halg_exit:293 HAL: removing component 70 'hal_lib24453'
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24453:user
    halg_exit:315 HAL: hal_errorcount()=0
    Nov 28 02:08:15 machinekit msgd:0: hal_lib:24453:user
    halg_exit:316 HAL: _halerrno=0
    Nov 28 02:08:16 machinekit msgd:0: zeroconf: registered 'Log
    service on machinekit.local pid 24447' _machinekit._tcp 0 TXT
    "uuid=a42c8c6b-4025-4f83-ba28-dad21114744a"
    "instance=15603820-f2aa-11e8-b229-000c6e417379" "service=log"
    "dsn=ipc:///tmp/0.log.a42c8c6b-4025-4f83-ba28-dad21114744a"
    Nov 28 02:09:34 machinekit rtapi:0: 4:rtapi_app:24452:user
    pid=24452 flavor=rt-preempt gcc=6.3.0 20170516 git=v0.1~-----~9c3423c
    Nov 28 02:09:34 machinekit msgd:0: ulapi:24481:user _ulapi_init():
    ulapi rt-preempt v0.1~-----~9c3423c loaded
    Nov 28 02:09:34 machinekit msgd:0: ulapi:24481:user
    halg_xinitfv:271 HAL: singleton component 'hal_lib24481' id=74
    initialized
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24481:user --halcmd
    newthread fff 5000000 fp
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt
    hal_create_xthread:156 HAL: creating thread fff, 5000000 nsec fp=1
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt
    rtapi_clock_set_period (res=1) -> 5000000
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt Creating new
    task 1  'fff:0': req prio 98 (highest=99 lowest=1) stack=32768
    fp=1 flags=0
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt Task CPU:  0
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt RTAPI: task 01
    installed by module 66, priority 98, code: 0xb68c0941
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt
    halg_pin_newfv:192 HAL: creating pin 'fff.time' s32 OUT 0
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt
    halg_pin_newfv:192 HAL: creating pin 'fff.tmax' s32 I/O 0
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt
    halg_pin_newfv:192 HAL: creating pin 'fff.curr-period' s32 OUT 0
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt
    rtapi_task_start:  starting task 1 'fff:0'
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt RTAPI:
    period_nsec: 5000000
    Nov 28 02:09:34 machinekit msgd:0: hal_lib:24452:rt About to
    pthread_create task 1

    Still have no idea why change in makefiles created this problem.
    (Will have to study Make syntax.)

    Cern

    Dne pátek 23. listopadu 2018 19:20:21 UTC+1 [email protected] napsal(a):


            If you are up for it, you can try to debug the core dump
            that you have

            http://www.machinekit.io/docs/code/Debugging-RT-components/
            <http://www.machinekit.io/docs/code/Debugging-RT-components/>

            I have found that this works quite well on rt-preempt
            kernels, in pinpointing exactly what triggered a segfault.

            The log you originally posted shows the error report, but
            it is far from certain exactly where this is
            occurring, because motion continues to create pins either
            side of it.


        Will try.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to