CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3
  1. #1
    Join Date
    Jun 2009
    Posts
    63

    runtime errors cairo-1.8.8 ubuntu

    hello,

    so I am getting these sporatic runtime errors when I run a program (using opencv) in ubuntu, but i dont quite know what it means. here is the error:

    fovea: /build/buildd/cairo-1.8.8/src/cairo-surface.c:1670: _cairo_surface_fill: Assertion `! surface->is_snapshot' failed.

    what does this mean? in addition, I am getting segfault errors that i just cant pinpoint, they seem really random. does anyone have any ideas? thanks!

  2. #2
    Join Date
    Jan 2009
    Posts
    1,689

    Re: runtime errors cairo-1.8.8 ubuntu

    Cairo is a vector graphics library, I don't think it's included in OpenCV, so you're looking in the wrong place. If the segfault appears to happen randomly, that usually indicated a threading issue.

    Download a package called ThreadSanitizer. It's a thread debugger based on Valigrind.

    To find where your error is coming from, open /build/buildd/cairo-1.8.8/src/cairo-surface.c and do a search for "assert(! surface->is_snapshot)" That'll get you to the point that's failing, put a breakpoint there and backtrace it from there. But again, use ThreadSanitizer first, or else you might hit the breakpoint many many times before the bug shows up if it does at all. The act of debugging changes the flow of multithreaded programs.
    Last edited by ninja9578; April 19th, 2010 at 03:21 PM.

  3. #3
    Join Date
    Jun 2009
    Posts
    63

    Re: runtime errors cairo-1.8.8 ubuntu

    great, thanks. do you know where i can download that?

    here is another one, and now that you mention pthreads, it comes to mind- it might have something to do with it. when i try to run a thread that has gtkmm running in it along with two others, i get this error message:

    (WIND0:11110): GLib-WARNING **: g_main_context_prepare(): main loop already active in another thread


    this is the entire contents of the thread:

    void *gui_routine(void * threadarg) {

    struct gui_thread_data *my_gui_data;

    my_gui_data = (struct gui_thread_data *) threadarg;

    Gtk::Main kit(my_gui_data->argc, my_gui_data->argv);

    GUIwindow window;
    //Shows the window and returns when it is closed.
    Gtk::Main::run(window);

    return 0;
    }

    any idea what is going on with this?

    thanks!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured