Uploaded image for project: ' AGL Development'
  1. AGL Development
  2. SPEC-1685

Crush of HomeScreen/Launcher at bootup by nullptr access

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • Flounder
    • Flounder
    • None

      libhomescreen.so always crushed when std::getenv("AFM_ID") returns nullptr.
      I see this on M3 with FF-RC3 + following patches, and configured with agl-demo (without agl-devel at this case).

      meta-agl: 
      9710e7e 2018-08-23 Jan-Simon Moeller    Make it possible to use systemd-coredump for development
      6da5cf9 2018-08-23 Jan-Simon Moeller    [Work-around] Update recipe for ImageMagick to avoid bitbake error
      16d03b8 2018-08-23 ronan Le Martret     Port the latest version of valgrind
      66d9349 2018-08-20 Jose Bollo   af-binder & af-main: Add external binding feature
      
      (gdb) back
      #0  strlen () at ../sysdeps/aarch64/strlen.S:94
      #1  0x0000ffff8e0f9a78 in std::char_traits<char>::length (__s=0x0) at /usr/include/c++/7.3.0/bits/char_traits.h:320
      #2  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign (__s=0x0, this=0xaaaae31c7690)
          at /usr/include/c++/7.3.0/bits/basic_string.h:1419
      #3  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator= (__s=0x0, this=0xaaaae31c7690)
          at /usr/include/c++/7.3.0/bits/basic_string.h:694
      #4  LibHomeScreen::init (this=this@entry=0xaaaae31c7650, port=port@entry=1027, token=...)
          at /usr/src/debug/libhomescreen-2017/git-r0/git/src/libhomescreen.cpp:138
      #5  0x0000aaaab71f8848 in HomescreenHandler::init (this=0xaaaae3228fc0, port=1027, 
          token=0xaaaae3225fb0 "7e647f32-ce93-4da8-bcb2-6328d49fb956")
          at /usr/src/debug/homescreen/1.0+gitAUTOINC+856f9d9de4-r0/git/homescreen/src/homescreenhandler.cpp:40
      #6  0x0000aaaab71f3604 in main (argc=<optimized out>, argv=<optimized out>)
          at /usr/src/debug/homescreen/1.0+gitAUTOINC+856f9d9de4-r0/git/homescreen/src/main.cpp:122
      (gdb) up
      #1  0x0000ffff8e0f9a78 in std::char_traits<char>::length (__s=0x0) at /usr/include/c++/7.3.0/bits/char_traits.h:320
      320		return __builtin_strlen(__s);
      (gdb) up
      #2  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign (__s=0x0, this=0xaaaae31c7690)
          at /usr/include/c++/7.3.0/bits/basic_string.h:1419
      1419		return _M_replace(size_type(0), this->size(), __s,
      (gdb) up
      #3  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator= (__s=0x0, this=0xaaaae31c7690)
          at /usr/include/c++/7.3.0/bits/basic_string.h:694
      694	      { return this->assign(__s); }
      (gdb) up
      #4  LibHomeScreen::init (this=this@entry=0xaaaae31c7650, port=port@entry=1027, token=...)
          at /usr/src/debug/libhomescreen-2017/git-r0/git/src/libhomescreen.cpp:138
      138		mapp_id = std::getenv("AFM_ID");
      

      This is introduced by https://gerrit.automotivelinux.org/gerrit/#/c/16011/

      I don't have any idea which condition make std::getenv("AFM_ID") returns nulllptr.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            zheng_wenlong Xin Zhou
            ruke47 Tadao Tanikawa
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: