Ubuntu 11.10 64-bit/C/GTK 3 menu crash
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gtk+3.0 (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I have a C program I'm working on that uses GTK. 4 options - Create New File, Open Existing File, Save File and Quit were originally just gtk buttons on the window - short cut while initially coding. Now it's improved to the point that the few things I have working so far need to go out for testing to the users that wanted it. Well, in order to clean it up I made those 4 options into a "File" submenu on a menubar. The Create New File option, besides setting an internal variable, uses a gtk_dialog to send the message
New CSS File Will Be Created With Your Changes
When You Save The File
There is newline after "Changes" - a "\n" in C, to force this to a multi-line display.
Without the newline, the message was still wrapping to 2 lines.
The message is displayed, and returns from the call to the common function I use that contains the dialogbox.
As soon as the function "returns", so control is passed back to the menubar handling (e.g., code I didn't write) the entire process aborts. I have tried this without a multi-line message and it works - it only aborts when the message text was multi-line.
I have screen captures and the source available, including the traceback, etc., in the terminal window.
I am able to work around this for now, but wonder why this aborts. Everything I've seen indicates this can be a multi-line text string.
Thanks in advance,
Dave ;)
dave@asus- desktop: ~/gnome_ shell_css$ ./gscedit 64-linux- gnu/libc. so.6(__ fortify_ fail+0x37) [0x7f1f21e187f7 ] 64-linux- gnu/libc. so.6(__ fortify_ fail+0x0) [0x7f1f21e187c0 ] x86_64- linux-gnu/ libgobject- 2.0.so. 0(g_closure_ invoke+ 0x154)[ 0x7f1f222ef0a4] x86_64- linux-gnu/ libgobject- 2.0.so. 0(+0x2102a) [0x7f1f2230102a ] x86_64- linux-gnu/ libgobject- 2.0.so. 0(g_signal_ emit_valist+ 0x851)[ 0x7f1f2230a6b1] x86_64- linux-gnu/ libgobject- 2.0.so. 0(g_signal_ emit+0x82) [0x7f1f2230a852 ] libdbusmenu- gtk3.so. 4(+0xd2d8) [0x7f1f193bd2d8 ] x86_64- linux-gnu/ libgobject- 2.0.so. 0(g_closure_ invoke+ 0x154)[ 0x7f1f222ef0a4] x86_64- linux-gnu/ libgobject- 2.0.so. 0(+0x2102a) [0x7f1f2230102a ] x86_64- linux-gnu/ libgobject- 2.0.so. 0(g_signal_ emit_valist+ 0x851)[ 0x7f1f2230a6b1] x86_64- linux-gnu/ libgobject- 2.0.so. 0(g_signal_ emit+0x82) [0x7f1f2230a852 ] libdbusmenu- glib.so. 4(dbusmenu_ menuitem_ handle_ event+0x119) [0x7f1f19198b59 ] libdbusmenu- glib.so. 4(+0xa137) [0x7f1f1919a137 ] 64-linux- gnu/libglib- 2.0.so. 0(+0x4623b) [0x7f1f1fdfe23b ] 64-linux- gnu/libglib- 2.0.so. 0(g_main_ context_ dispatch+ 0x1dd)[ 0x7f1f1fdfca5d] 64-linux- gnu/libglib- 2.0.so. 0(+0x45258) [0x7f1f1fdfd258 ] 64-linux- gnu/libglib- 2.0.so. 0(g_main_ loop_run+ 0x162)[ 0x7f1f1fdfd792] libgtk- 3.so.0( gtk_main+ 0x8d)[0x7f1f229 09edd] 64-linux- gnu/libc. so.6(__ libc_start_ main+0xed) [0x7f1f21d4130d ] gnome_shell_ css/gscedit gnome_shell_ css/gscedit gnome_shell_ css/gscedit 7f1f1243d000 r-xp 00000000 08:12 397235 /lib/x86_ 64-linux- gnu/libgcc_ s.so.1 7f1f1263c000 ---p 00015000 08:12 397235 /lib/x86_ 64-linux- gnu/libgcc_ s.so.1 7f1f1263d000 r--p 00014000 08:12 397235 /lib/x86_ 64-linux- gnu/libgcc_ s.so.1 7f1f1263e000 rw-p 00015000 08:12 397235 /lib/x86_ 64-linux- gnu/libgcc_ s.so.1 7f1f12791000 r-xp 00000000 08:12 1441890 /usr/lib/ libxml2. so.2.7. 8 7f1f12990000 ---p 00151000 08:12 1441890 /usr/lib/ libxml2. so.2.7. 8 7f1f12998000 r--p 00150000 08:12 1441890 /usr/lib/ libxml2. so.2.7. 8 7f1f1299a000 rw-p 00158000 08:12 1441890 /usr/lib/ libxml2. so.2.7. 8 7f1f1299b000 rw-p 00000000 00:00 0 7f1f129d6000 r-xp 00000000 08:12 1444673 /usr/lib/ libcroco- 0.6.so. 3.0.1 7f1f12bd5000 ---p 00036000 08:12 1444673 /usr/lib/ libcroco- 0.6.so. 3.0.1 7f1f12bd6000 r--p 00035000 08:12 1444673 /...
*** stack smashing detected ***: ./gscedit terminated
======= Backtrace: =========
/lib/x86_
/lib/x86_
./gscedit[0x401e71]
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/lib/x86_
/lib/x86_
/lib/x86_
/lib/x86_
/usr/lib/
./gscedit[0x40f796]
/lib/x86_
./gscedit[0x401c29]
======= Memory map: ========
00400000-00418000 r-xp 00000000 08:01 53224585 /home/dave/
00617000-00618000 r--p 00017000 08:01 53224585 /home/dave/
00618000-00619000 rw-p 00018000 08:01 53224585 /home/dave/
0082b000-00add000 rw-p 00000000 00:00 0 [heap]
7f1f12428000-
7f1f1243d000-
7f1f1263c000-
7f1f1263d000-
7f1f12640000-
7f1f12791000-
7f1f12990000-
7f1f12998000-
7f1f1299a000-
7f1f129a0000-
7f1f129d6000-
7f1f12bd5000-