ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Fatal: ThreadLocker acquire: QSystemSemaphore::handle: unknown error 38

    Ask your questions right here!
    2
    8
    108
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • V
      voxl2_user
      last edited by

      Hello. We are attempting to run our application on VOXL2. This application is linked against some pre-compiled libraries that we received from a third-party as their SDK. We have successfully run this application on x86_64 and on another arm64 platform, but on VOXL2 we receive the error message in the title "Fatal: ThreadLocker acquire: QSystemSemaphore::handle: unknown error 38"

      In troubleshooting, I see that on VOXL2 the file /proc/sys/kernel/sem is not present. Could this be indicative that the kernel must be reconfigured for certain types of semaphore usage? I am able to download the MODAL.AI kernel build docker and build the default v1.8.02 kernel. But any time I try to make a change to the kernel config using menuconfig in one of the build_mount/lu.um.121/apps_proc/src/kernel/* directories, the rebuild fails (even if I clean first). So perhaps this is not the right way to reconfigure the build? I went down this road because it seemed that adding Qualcomm IPCC support (menuconfig, device drivers, SOC drivers, qualcomm IPCC) could potentially resolve the issue.

      Any and all advice is welcome, including the proper way to reconfigure the kernel (via menuconfig or otherwise) or in troubleshooting this semaphore issue itself.

      Alex KushleyevA 1 Reply Last reply Reply Quote 0
      • Alex KushleyevA
        Alex Kushleyev ModalAI Team @voxl2_user
        last edited by

        @voxl2_user after doing quick search, it seems CONFIG_SYSVIPC=y needs to be enabled in kona-perf_defconfig .

        workspace/lu.um.1.2.1/apps_proc/poky/meta-voxl2-bsp/recipes-kernel/linux-msm/files/configs/m0054/kona-perf_defconfig
        

        Make sure you are building a perf build..

        We have not tried enabling it, but it could be all that's necessary. Give it a try!

        I can try it as well and see if it builds and see if /proc/sys/kernel/sem shows up..

        Alex

        Alex KushleyevA 1 Reply Last reply Reply Quote 0
        • Alex KushleyevA
          Alex Kushleyev ModalAI Team @Alex Kushleyev
          last edited by

          I just tried it and it seems to be working

          voxl2:/$ ls /proc/sys/kernel/sem*
          /proc/sys/kernel/sem
          
          voxl2:/$ ipcs -l                             
          
          ------ Messages Limits --------
          max queues system wide = 32000
          max size of message (bytes) = 8192
          default max size of queue (bytes) = 16384
          
          ------ Shared Memory Limits --------
          max number of segments = 4096
          max seg size (kbytes) = 18014398509465599
          max total shared memory (kbytes) = 18014398509481980
          min seg size (bytes) = 1
          
          ------ Semaphore Limits --------
          max number of arrays = 32000
          max semaphores per array = 32000
          max semaphores system wide = 1024000000
          max ops per semop call = 500
          semaphore max value = 32767
          
          V 1 Reply Last reply Reply Quote 0
          • V
            voxl2_user @Alex Kushleyev
            last edited by

            @Alex-Kushleyev Thank you for the quick reply. Your advice successfully enabled SYSVIPC in my kernel. Sadly, SYSVIPC also broke eth0 on my system and I'm still attempting to troubleshoot that...

            Alex KushleyevA 1 Reply Last reply Reply Quote 0
            • Alex KushleyevA
              Alex Kushleyev ModalAI Team @voxl2_user
              last edited by

              @voxl2_user , yes, I can also confirm that my usb to ethernet adapter (eth0) is no longer working on my voxl2 after enabling this..

              It is possible that enabling SYSVIPC disables some other IPC mechanism used by the usb ethernet driver.. or something else is going on.. not sure..

              Alex

              V 2 Replies Last reply Reply Quote 0
              • V
                voxl2_user @Alex Kushleyev
                last edited by

                @Alex-Kushleyev in my case, 'lsmod' is empty after booting the kernel with SYSVIPC enabled...its as though none of the kernel modules are loading anymore.

                1 Reply Last reply Reply Quote 0
                • V
                  voxl2_user @Alex Kushleyev
                  last edited by

                  @Alex-Kushleyev Is there a way to run menuconfig and build the kernel successfully? I wonder if menuconfig might "deconflict" certain feature dependencies, if there are any? When I tried running menuconfig from apps_proc/src/kernel/*, the resulting build failed with errors about the source tree not being clean.

                  Alex KushleyevA 1 Reply Last reply Reply Quote 0
                  • Alex KushleyevA
                    Alex Kushleyev ModalAI Team @voxl2_user
                    last edited by

                    @voxl2_user , i will ask around..

                    Also, there may be some sysv compatibility mode, instead of fully utilizing sysv for all IPC. I think i saw something like that when grepping the kernel build source for sysv supprt. I will check a bit later.

                    Alex

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post
                    Powered by NodeBB | Contributors