cancel
Showing results for 
Search instead for 
Did you mean: 

STM32_Programmer_CLI seg fault

Mike Rosing
Associate III

I have an old Ubuntu 18.04 system which allows STM32CubeIDE to run, but the STM32_Programmer failed because libm.so and libc.so were wrong. I found glibc-2.30 and copied the libraries into the same directory as the STM32_Programmer lib. Now I just get a seg fault, even when trying to just get the version number:

bin/STM32_Programmer_CLI --version
Segmentation fault (core dumped)

Is there any way to figure out what might be the problem?  

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @Mike Rosing,

Modern STM32CubeProgrammer releases (Post v2.16) have migrated to Qt6 instead of Qt5. This change introduced a compatibility break with older OS (Like Ubuntu 18.04).

What I suggest is to either update your OS or roll back to a previous tool version (v2.15 for example). Updating your OS is the better choice since you'll be able to utilize new STM32CubeProgrammer features and STM32s supported.

Hope you find this helpful !

Aziz


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

3 REPLIES 3
Mike Rosing
Associate III

I found the crash dump, but I'm not able to make much sense of it:

#0  0x0000000000000000 in ?? ()
#1  0x00007fca818e4d58 in _dl_vdso_vsym (name=name@entry=0x7fca81936570 "__vdso_time", 
    vers=vers@entry=0x7ffdfb0c54b0) at ../sysdeps/unix/sysv/linux/dl-vdso.c:39
#2  0x00007fca8186c9b6 in time_ifunc () at ../sysdeps/unix/sysv/linux/x86/time.c:43
#3  0x00007fca83ba8d23 in elf_machine_lazy_rel (skip_ifunc=<optimized out>, 
    reloc=0x7fca817d9058, l_addr=140507732475904, map=0x7fca83d335e0)
    at ../sysdeps/x86_64/dl-machine.h:577
#4  elf_dynamic_do_Rela (skip_ifunc=<optimized out>, lazy=<optimized out>, 
    nrelative=<optimized out>, relsize=<optimized out>, reladdr=<optimized out>, 
    map=0x7fca83d335e0) at do-rel.h:77
#5  _dl_relocate_object (scope=<optimized out>, reloc_mode=<optimized out>, 
    consider_profiling=<optimized out>, consider_profiling@entry=0) at dl-reloc.c:258
#6  0x00007fca83ba0327 in dl_main (phdr=<optimized out>, phnum=<optimized out>, 
    user_entry=<optimized out>, auxv=<optimized out>) at rtld.c:2190
#7  0x00007fca83bb6f50 in _dl_sysdep_start (start_argptr=start_argptr@entry=0x7ffdfb0c5900, 
    dl_main=dl_main@entry=0x7fca83b9e660 <dl_main>) at ../elf/dl-sysdep.c:253
#8  0x00007fca83b9e128 in _dl_start_final (arg=0x7ffdfb0c5900) at rtld.c:414
#9  _dl_start (arg=0x7ffdfb0c5900) at rtld.c:521
#10 0x00007fca83b9d098 in _start () from /lib64/ld-linux-x86-64.so.2
#11 0x0000000000000001 in ?? ()
#12 0x00007ffdfb0c5e62 in ?? ()
#13 0x0000000000000000 in ?? ()

Maybe some other lib*.so needs to be updated as well?

Hi @Mike Rosing,

Modern STM32CubeProgrammer releases (Post v2.16) have migrated to Qt6 instead of Qt5. This change introduced a compatibility break with older OS (Like Ubuntu 18.04).

What I suggest is to either update your OS or roll back to a previous tool version (v2.15 for example). Updating your OS is the better choice since you'll be able to utilize new STM32CubeProgrammer features and STM32s supported.

Hope you find this helpful !

Aziz


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Thank you for explaining the problem. To update the OS will break everything else, so I've decided to just get a whole new computer with the latest OS so I can use the STM32CubeProgrammer on the newer processors. The older OS will work fine as a network disk drive storage device so I don't lose all the previous projects.