Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. QML Camera method stop() error 127 pages are still in use! Driver ISL79987
Forum Updated to NodeBB v4.3 + New Features

QML Camera method stop() error 127 pages are still in use! Driver ISL79987

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
8 Posts 4 Posters 1.0k Views 1 Watching
  • 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.
  • D Offline
    D Offline
    Dioneva M. Krolow
    wrote on last edited by
    #1

    How to solve?
    In the moment the camera is stopped, I'm getting error:

    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 746 at mm/page_alloc.c:7392 free_contig_range+0x94/0x98
    127 pages are still in use!
    Modules linked in:
    CPU: 0 PID: 746 Comm: camera_source:s Tainted: G W 4.9.144-2.8.5-ga2a5d39-dirty #291
    Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
    Backtrace:
    [<8010cd88>] (dump_backtrace) from [<8010d060>] (show_stack+0x18/0x1c)
    r7:00000009 r6:60000013 r5:00000000 r4:80f5ff88
    [<8010d048>] (show_stack) from [<80473e84>] (dump_stack+0x90/0xa4)
    [<80473df4>] (dump_stack) from [<80139e1c>] (__warn+0xf0/0x108)
    r7:00000009 r6:80c7aa9c r5:00000000 r4:e328fc20
    [<80139d2c>] (__warn) from [<80139e74>] (warn_slowpath_fmt+0x40/0x48)
    r9:80b95c50 r8:8103b480 r7:80f06704 r6:0007c1ff r5:0000007f r4:80c7b220
    [<80139e38>] (warn_slowpath_fmt) from [<80207604>] (free_contig_range+0x94/0x98)
    r3:0000007f r2:80c7b220
    r4:0007c1ff
    [<80207570>] (free_contig_range) from [<8024a474>] (cma_release+0x88/0x148)
    r9:80b95c50 r8:80d1235c r7:0000007f r6:e657a000 r5:8103c1c4 r4:0007c180
    [<8024a3ec>] (cma_release) from [<805abe60>] (dma_release_from_contiguous+0x38/0x40)
    r9:80b95c50 r8:80d1235c r7:80c7e460 r6:00000000 r5:0007f000 r4:e657a000
    [<805abe28>] (dma_release_from_contiguous) from [<80115c3c>] (cma_allocator_free+0x58/0x7c)
    [<80115be4>] (cma_allocator_free) from [<80116618>] (__arm_dma_free.constprop.2+0x124/0x138)
    r7:80c7e460 r6:80f0866c r5:f2c6a000 r4:e2d34d00
    [<801164f4>] (__arm_dma_free.constprop.2) from [<80116648>] (arm_dma_free+0x1c/0x24)
    r5:00000000 r4:e246b084
    [<8011662c>] (arm_dma_free) from [<8078af88>] (mxc_free_frame_buf+0x180/0x1ac)
    [<8078ae08>] (mxc_free_frame_buf) from [<8078f478>] (mxc_v4l_close+0x1cc/0x318)
    r10:e28140c0 r9:e2445c00 r8:e246b008 r7:00000000 r6:00000000 r5:00000000
    r4:e246b000
    [<8078f2ac>] (mxc_v4l_close) from [<80764214>] (v4l2_release+0x3c/0x80)
    r10:e269cc70 r9:00000008 r8:00000000 r7:e002bf68 r6:e27f2910 r5:e2662800
    r4:e28140c0
    [<807641d8>] (v4l2_release) from [<8024f908>] (__fput+0x90/0x1dc)
    r5:e269cc70 r4:e28140c0
    [<8024f878>] (__fput) from [<8024fab4>] (____fput+0x10/0x14)
    r10:e2e9403c r9:00000009 r8:e291bf00 r7:e2805d80 r6:e2806194 r5:80fed378
    r4:e2806178
    [<8024faa4>] (____fput) from [<801582ec>] (task_work_run+0xc4/0xe8)
    [<80158228>] (task_work_run) from [<8013d8e8>] (do_exit+0x34c/0xa3c)
    r9:00000009 r8:00000000 r7:e328fe30 r6:e2e94000 r5:e2806190 r4:e2805d80
    [<8013d59c>] (do_exit) from [<8013f224>] (do_group_exit+0x48/0xd8)
    r7:ffffe000
    [<8013f1dc>] (do_group_exit) from [<8014a37c>] (get_signal+0x2fc/0x708)
    r7:ffffe000 r6:e28d2f40 r5:76428678 r4:00418004
    [<8014a080>] (get_signal) from [<8010c1c0>] (do_signal+0x6c/0x40c)
    r10:00000036 r9:e328e000 r8:7642867c r7:fffffe00 r6:e328fec8 r5:76428678
    r4:e328ffb0
    [<8010c154>] (do_signal) from [<8010c72c>] (do_work_pending+0xac/0xbc)
    r10:00000036 r9:e328e000 r8:80108c04 r7:00000036 r6:e328ffb0 r5:80108c04
    r4:ffffe000
    [<8010c680>] (do_work_pending) from [<80108a80>] (slow_work_pending+0xc/0x20)
    r7:00000036 r6:60df8b8c r5:00000001 r4:6a33a070
    ---[ end trace e123636a04f76a1b ]---

    jsulmJ 1 Reply Last reply
    0
    • D Dioneva M. Krolow

      How to solve?
      In the moment the camera is stopped, I'm getting error:

      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 746 at mm/page_alloc.c:7392 free_contig_range+0x94/0x98
      127 pages are still in use!
      Modules linked in:
      CPU: 0 PID: 746 Comm: camera_source:s Tainted: G W 4.9.144-2.8.5-ga2a5d39-dirty #291
      Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
      Backtrace:
      [<8010cd88>] (dump_backtrace) from [<8010d060>] (show_stack+0x18/0x1c)
      r7:00000009 r6:60000013 r5:00000000 r4:80f5ff88
      [<8010d048>] (show_stack) from [<80473e84>] (dump_stack+0x90/0xa4)
      [<80473df4>] (dump_stack) from [<80139e1c>] (__warn+0xf0/0x108)
      r7:00000009 r6:80c7aa9c r5:00000000 r4:e328fc20
      [<80139d2c>] (__warn) from [<80139e74>] (warn_slowpath_fmt+0x40/0x48)
      r9:80b95c50 r8:8103b480 r7:80f06704 r6:0007c1ff r5:0000007f r4:80c7b220
      [<80139e38>] (warn_slowpath_fmt) from [<80207604>] (free_contig_range+0x94/0x98)
      r3:0000007f r2:80c7b220
      r4:0007c1ff
      [<80207570>] (free_contig_range) from [<8024a474>] (cma_release+0x88/0x148)
      r9:80b95c50 r8:80d1235c r7:0000007f r6:e657a000 r5:8103c1c4 r4:0007c180
      [<8024a3ec>] (cma_release) from [<805abe60>] (dma_release_from_contiguous+0x38/0x40)
      r9:80b95c50 r8:80d1235c r7:80c7e460 r6:00000000 r5:0007f000 r4:e657a000
      [<805abe28>] (dma_release_from_contiguous) from [<80115c3c>] (cma_allocator_free+0x58/0x7c)
      [<80115be4>] (cma_allocator_free) from [<80116618>] (__arm_dma_free.constprop.2+0x124/0x138)
      r7:80c7e460 r6:80f0866c r5:f2c6a000 r4:e2d34d00
      [<801164f4>] (__arm_dma_free.constprop.2) from [<80116648>] (arm_dma_free+0x1c/0x24)
      r5:00000000 r4:e246b084
      [<8011662c>] (arm_dma_free) from [<8078af88>] (mxc_free_frame_buf+0x180/0x1ac)
      [<8078ae08>] (mxc_free_frame_buf) from [<8078f478>] (mxc_v4l_close+0x1cc/0x318)
      r10:e28140c0 r9:e2445c00 r8:e246b008 r7:00000000 r6:00000000 r5:00000000
      r4:e246b000
      [<8078f2ac>] (mxc_v4l_close) from [<80764214>] (v4l2_release+0x3c/0x80)
      r10:e269cc70 r9:00000008 r8:00000000 r7:e002bf68 r6:e27f2910 r5:e2662800
      r4:e28140c0
      [<807641d8>] (v4l2_release) from [<8024f908>] (__fput+0x90/0x1dc)
      r5:e269cc70 r4:e28140c0
      [<8024f878>] (__fput) from [<8024fab4>] (____fput+0x10/0x14)
      r10:e2e9403c r9:00000009 r8:e291bf00 r7:e2805d80 r6:e2806194 r5:80fed378
      r4:e2806178
      [<8024faa4>] (____fput) from [<801582ec>] (task_work_run+0xc4/0xe8)
      [<80158228>] (task_work_run) from [<8013d8e8>] (do_exit+0x34c/0xa3c)
      r9:00000009 r8:00000000 r7:e328fe30 r6:e2e94000 r5:e2806190 r4:e2805d80
      [<8013d59c>] (do_exit) from [<8013f224>] (do_group_exit+0x48/0xd8)
      r7:ffffe000
      [<8013f1dc>] (do_group_exit) from [<8014a37c>] (get_signal+0x2fc/0x708)
      r7:ffffe000 r6:e28d2f40 r5:76428678 r4:00418004
      [<8014a080>] (get_signal) from [<8010c1c0>] (do_signal+0x6c/0x40c)
      r10:00000036 r9:e328e000 r8:7642867c r7:fffffe00 r6:e328fec8 r5:76428678
      r4:e328ffb0
      [<8010c154>] (do_signal) from [<8010c72c>] (do_work_pending+0xac/0xbc)
      r10:00000036 r9:e328e000 r8:80108c04 r7:00000036 r6:e328ffb0 r5:80108c04
      r4:ffffe000
      [<8010c680>] (do_work_pending) from [<80108a80>] (slow_work_pending+0xc/0x20)
      r7:00000036 r6:60df8b8c r5:00000001 r4:6a33a070
      ---[ end trace e123636a04f76a1b ]---

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @Dioneva-M.-Krolow Is a warning not error and looks like memory leak.
      Does this happen if you use same camera with some other application (not Qt/QML based)?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • D Offline
        D Offline
        Dioneva M. Krolow
        wrote on last edited by Dioneva M. Krolow
        #3

        Hi @jsulm
        With gst-launch-1.0 this doesn't happen.

        gst-launch-1.0 imxv4l2videosrc device=/dev/video0 ! imxipuvideosink

        The video is stopped normally without returning this warning.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Hi,

          The GStreamer backend doesn't use that source. You might want to modify it and fix the source for that.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • D Offline
            D Offline
            Dioneva M. Krolow
            wrote on last edited by
            #5

            Where do I make this modification?

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              You'll have to do that in Qt's sources and build the plugin (just the plugin, no need to rebuild all of Qt)

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • D Offline
                D Offline
                Dioneva M. Krolow
                wrote on last edited by Dioneva M. Krolow
                #7

                Right, that's exactly what I did, I changed the qtmultimedia, camerabin module, but the problem persists.
                See changes below:

                diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp
                index ab0bea2..6660995 100644
                --- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp
                +++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp
                @@ -153,7 +153,7 @@ CameraBinSession::CameraBinSession(GstElementFactory *sourceFactory, QObject *pa
                {
                if (m_sourceFactory)
                gst_object_ref(GST_OBJECT(m_sourceFactory));
                -- m_camerabin = gst_element_factory_make(QT_GSTREAMER_CAMERABIN_ELEMENT_NAME, "camerabin");
                ++ m_camerabin = gst_element_factory_make(QT_GSTREAMER_CAMERABIN_ELEMENT_NAME, "imxv4l2videosrc");//camerabin

                g_signal_connect(G_OBJECT(m_camerabin), "notify::idle", G_CALLBACK(updateBusyStatus), this);
                g_signal_connect(G_OBJECT(m_camerabin), "element-added", G_CALLBACK(elementAdded), this);
                @@ -520,7 +520,7 @@ GstElement *CameraBinSession::buildCameraSource()
                }

                if (!m_videoSrc)
                -- m_videoSrc = gst_element_factory_make("v4l2src", "camera_source");
                ++ m_videoSrc = gst_element_factory_make("imxv4l2videosrc", "camera_source");

                if (m_videoSrc)
                g_object_set(G_OBJECT(m_cameraSrc), "video-source", m_videoSrc, NULL);

                1 Reply Last reply
                0
                • V Offline
                  V Offline
                  VaL Doroshchuk
                  wrote on last edited by
                  #8

                  is it after you call stop()? Can the camera be usable after the error?

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved