RE: cairo-xlib-surface.c:401 _swap_ximage_to_native: Assertion `N OT_R EACHED' failed.



> 
> I was under the impression that g++ automatically enables exception
> support when compiling c++ source code.  Are you sure that you were
> compiling without exception support at first?  Are you sure it wasn't
> a different change that caused the core dump?  It doesn't look like an
> exception-related error to me (but I could be wrong).
> 
> Jonner
> (...snip...)
> On 1/6/06, Murray Cumming <murrayc murrayc com> wrote:
> > On Thu, 2006-01-05 at 14:56 -0500, erik_ohrnberger dme net wrote:
> > > Does gtkmm
> > > even support C++ exceptions?
> >
> > Yes. It even has exception classes. I'm surprised that it 
> works when you
> > choose to compile without exceptions.
> >
> > --
> > Murray Cumming
> > (...snip...)

OK.  You are probably right.  Until I tried to use exceptions with the
persistent commoncpp2 library (catch damaged persistent object streams),
I've never even thought to worry about them.  Let me go back and set the
stage a bit here.

Running gentoo, keeping software up to date regularly, been busy developing
this application, everything is going along just fine.

Suddenly, after the 1st of the year, I try to resume work, build the app,
and get a core dump and the Cairo exception message, with the stack trace:

cairo-xlib-surface.c:401: _swap_ximage_to_native: Assertion `NOT_REACHED' 
failed.

#0  0x415e2061 in kill () from /lib/libc.so.6
#1  0x402631c1 in pthread_kill () from /lib/libpthread.so.0
#2  0x4026353b in raise () from /lib/libpthread.so.0
#3  0x415e1df4 in raise () from /lib/libc.so.6
#4  0x415e321d in abort () from /lib/libc.so.6
#5  0x415db338 in __assert_fail () from /lib/libc.so.6
#6  0x413f3acb in cairo_test_xlib_disable_render () from
/usr/lib/libcairo.so.2
#7  0x413f3cd9 in cairo_test_xlib_disable_render () from
/usr/lib/libcairo.so.2
#8  0x413f4366 in cairo_test_xlib_disable_render () from
/usr/lib/libcairo.so.2
#9  0x413e7e32 in cairo_surface_set_device_offset () from
/usr/lib/libcairo.so.2
#10 0x413e7ff1 in cairo_surface_set_device_offset () from
/usr/lib/libcairo.so.2
#11 0x413e84d9 in cairo_surface_set_device_offset () from
/usr/lib/libcairo.so.2
#12 0x413e83da in cairo_surface_set_device_offset () from
/usr/lib/libcairo.so.2
#13 0x413e017c in cairo_font_options_get_hint_metrics () from
/usr/lib/libcairo.so.2
#14 0x413e0324 in cairo_font_options_get_hint_metrics () from
/usr/lib/libcairo.so.2
#15 0x413e0411 in cairo_font_options_get_hint_metrics () from
/usr/lib/libcairo.so.2
#16 0x413d97e2 in cairo_fill_preserve () from /usr/lib/libcairo.so.2
#17 0x413d9794 in cairo_fill () from /usr/lib/libcairo.so.2
#18 0x41310df2 in gdk_window_get_internal_paint_info () from
/usr/lib/libgdk-x11-2.0.so.0
#19 0x4130f33b in gdk_window_begin_paint_region () from
/usr/lib/libgdk-x11-2.0.so.0
#20 0x410aac51 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#21 0x41311cf3 in gdk_window_clear_area_e () from
/usr/lib/libgdk-x11-2.0.so.0
#22 0x41311e4e in gdk_window_process_all_updates () from
/usr/lib/libgdk-x11-2.0.so.0
#23 0x4101ac6e in gtk_container_set_reallocate_redraws () from
/usr/lib/libgtk-x11-2.0.so.0
#24 0x41478e83 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#25 0x41475e8f in g_main_depth () from /usr/lib/libglib-2.0.so.0
#26 0x41476f08 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0x4147723c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#28 0x414777d3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#29 0x410aa533 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x40deb5f9 in Gtk::Main::run_impl () from /usr/lib/libgtkmm-2.4.so.1
#31 0x40deb443 in Gtk::Main::run () from /usr/lib/libgtkmm-2.4.so.1
#32 0x0827480f in main (argc=1, argv=0xbffff254) at main.cpp:171

No idea where it came from.  First that I've see anything like this.  I can
see where font metrics are being figured out in the call stack, I thought
that atk was doing that for some reason (where's this Cairo coming from?
I've never even heard of it?  Is this something new?)

So here I am.  Kinda stuck.  What was working for well over two years now,
has stopped working.  From the backtrace, I don't even think that it's
something that my program is doing, or not doing.

I'm like totally confused, don't know what I did, or didn't do, nor how to
go about fixing it. <pardon the frustration>.  

I'm beginning to think that perhaps I need to re-install the OS from scratch
or something (the typical MS solution), but I don't believe that really.  Do
you think that I need to back-rev gtkmm or something?

Software Versions currently installed:

dev-cpp/gtkmm
      Latest version available: 2.4.11
      Latest version installed: 2.4.11

dev-cpp/glibmm
      Latest version available: 2.6.1
      Latest version installed: 2.6.1

dev-cpp/libglademm
      Latest version available: 2.4.1
      Latest version installed: [ Not Installed ]

dev-cpp/gconfmm
      Latest version available: 2.6.1
      Latest version installed: 2.6.1

dev-cpp/libgnomecanvasmm
      Latest version available: 2.6.1
      Latest version installed: [ Not Installed ]

dev-cpp/libgnomeuimm
      Latest version available: 2.6.0
      Latest version installed: [ Not Installed ]



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]