Great work! On 11/28/2018 10:24 AM, [email protected] wrote: > Hi Cern, > > Now solved the error and new PR made. > > Original removal of hard thread refs had inadvertently removed a line which > added > kernel LD_FLAGS in Makefile.inc.in > > However rather than produce a build or packaging error, or even a runtime > error > in amd64 or armhf, this only produced a runtime error in i386. > Because very few people use it, was not notified for quite some while until > you > updated. > > Can only speculate that the amd64 and armhf builds have the linkages > satisfied > consequentially through other linkages, but i386 does not and failed on > thread > creation. > > Package built from this new PR branch tested on i386 as well as local build > on > amd64 and all fine. > > Thanks for the report and 'mucking in' and doing some debugging. > Made things much quicker knowing I needed to zero in on anything related to > threads > > New final packages will be in the repo in due course. > In the interim the current packages work fine on i386 too. > > regards > > On 28/11/18 07:23, [email protected] wrote: >> >> 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] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/machinekit. > For more options, visit https://groups.google.com/d/optout. >
-- Charles Steinkuehler [email protected] -- 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.
