LinAxePad segmentation faults on dialog box

drmoth

New Member
Hi,

Running Ubuntu 13.04 32-bit and whenever I open a file dialogue (save or open file for example), the application segfaults and crashes.
I've run the Linux editor successfully on 13.04 64 bit and not had this problem.

Anyone have this too? Any ideas?
Running from the command line gives no clues other than the seg fault.
 

hippy

Technical Support
Staff member
Welcome to the PICAXE Forum.

I do not recall seeing reports of similar problems. It does seem odd that 13.04 64-bit works but 13.04 32-bit does not; I would have expected it to be the other way round if there were problems. AXEpad is also reported to run okay on 12.04 32-bit and 64-bit.

That you get a segfault on a dialogue suggests it is something perhaps within the OS, window manager or support libraries, rather than within AXEpad itself; that just makes a 'show a dialogue and give me the result' call. I am not entirely sure how you would go about determining where the issue lies. It may be worth asking on the Ubuntu forums.
 

drmoth

New Member
Thanks,

Yes it does seem weird and yes I did suspect it might be some GTK library issue, but nothing else on my freshly installed system demonstrates any similar problems, and I have all the latest updates.
Fortunately I can save, but not 'save as' as this opens a file dialog box. Launching from the command line is also annoying.

Here's an output of the 'strace' command, just after I hit "Ctrl-O' to open a file, not that it looks useful:

Code:
close(12)                               = 0
time(NULL)                              = 1371709668
gettimeofday({1371709668, 267875}, NULL) = 0
lstat64("/usr/share/icons/Humanity/places/16/folder-publicshare.svg", {st_mode=S_IFREG|0644, st_size=8121, ...}) = 0
gettimeofday({1371709668, 268052}, NULL) = 0
open("/usr/share/icons/Humanity/places/16/folder-publicshare.svg", O_RDONLY|O_LARGEFILE) = 12
fstat64(12, {st_mode=S_IFREG|0644, st_size=8121, ...}) = 0
read(12, "<?xml version=\"1.0\" encoding=\"UT"..., 65536) = 8121
gettimeofday({1371709668, 304766}, NULL) = 0
gettimeofday({1371709668, 304872}, NULL) = 0
gettimeofday({1371709668, 304948}, NULL) = 0
gettimeofday({1371709668, 305027}, NULL) = 0
gettimeofday({1371709668, 305107}, NULL) = 0
gettimeofday({1371709668, 305187}, NULL) = 0
gettimeofday({1371709668, 305270}, NULL) = 0
gettimeofday({1371709668, 305352}, NULL) = 0
gettimeofday({1371709668, 305435}, NULL) = 0
read(12, "", 65536)                     = 0
gettimeofday({1371709668, 307684}, NULL) = 0
close(12)                               = 0
time(NULL)                              = 1371709668
gettimeofday({1371709668, 308168}, NULL) = 0
lstat64("/usr/share/icons/Humanity/places/16/folder-templates.svg", {st_mode=S_IFREG|0644, st_size=6260, ...}) = 0
gettimeofday({1371709668, 308389}, NULL) = 0
open("/usr/share/icons/Humanity/places/16/folder-templates.svg", O_RDONLY|O_LARGEFILE) = 12
fstat64(12, {st_mode=S_IFREG|0644, st_size=6260, ...}) = 0
read(12, "<?xml version=\"1.0\" encoding=\"UT"..., 65536) = 6260
gettimeofday({1371709668, 327689}, NULL) = 0
gettimeofday({1371709668, 327837}, NULL) = 0
gettimeofday({1371709668, 327977}, NULL) = 0
gettimeofday({1371709668, 328123}, NULL) = 0
gettimeofday({1371709668, 328167}, NULL) = 0
gettimeofday({1371709668, 328244}, NULL) = 0
gettimeofday({1371709668, 328362}, NULL) = 0
gettimeofday({1371709668, 328463}, NULL) = 0
gettimeofday({1371709668, 328541}, NULL) = 0
read(12, "", 65536)                     = 0
access("/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf", R_OK) = 0
brk(0xa0aa000)                          = 0xa0aa000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
Welcome to the PICAXE Forum.

I do not recall seeing reports of similar problems. It does seem odd that 13.04 64-bit works but 13.04 32-bit does not; I would have expected it to be the other way round if there were problems. AXEpad is also reported to run okay on 12.04 32-bit and 64-bit.

That you get a segfault on a dialogue suggests it is something perhaps within the OS, window manager or support libraries, rather than within AXEpad itself; that just makes a 'show a dialogue and give me the result' call. I am not entirely sure how you would go about determining where the issue lies. It may be worth asking on the Ubuntu forums.
 

drmoth

New Member
Also if it's useful - the libraries on my system:
Code:
$ ldd ./LinAXEpad
	linux-gate.so.1 =>  (0xb76e6000)
	libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb7262000)
	libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb71b4000)
	libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb71ae000)
	libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb70ad000)
	libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb70aa000)
	libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb705a000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb7037000)
	libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb6feb000)
	libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb6fde000)
	libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb6fca000)
	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6faf000)
	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb6faa000)
	libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb6f99000)
	libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb6f87000)
	libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb6e50000)
	libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb6d67000)
	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6d24000)
	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6d06000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6b53000)
	libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6a3c000)
	libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb6a35000)
	libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6a14000)
	libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb68af000)
	libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb6876000)
	libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb686c000)
	libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb6868000)
	libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb685d000)
	libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb6851000)
	libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb684d000)
	libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb6849000)
	libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb6808000)
	libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb6801000)
	libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb6765000)
	libharfbuzz.so.0 => /usr/lib/i386-linux-gnu/libharfbuzz.so.0 (0xb66ca000)
	/lib/ld-linux.so.2 (0xb76e7000)
	libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb66a8000)
	libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb660e000)
	libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb65e5000)
	libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb65e0000)
	libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb65d6000)
	libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb65bd000)
	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb65b4000)
	libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb6595000)
	libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb657d000)
	libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb6555000)
	libicule.so.48 => /usr/lib/i386-linux-gnu/libicule.so.48 (0xb651f000)
	libicuuc.so.48 => /usr/lib/i386-linux-gnu/libicuuc.so.48 (0xb63ba000)
	libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb63b6000)
	libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb63ae000)
	libicudata.so.48 => /usr/lib/i386-linux-gnu/libicudata.so.48 (0xb523d000)
 

hippy

Technical Support
Staff member
Here's an output of the 'strace' command, just after I hit "Ctrl-O' to open a file, not that it looks useful:

Code:
access("/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf", R_OK) = 0
brk(0xa0aa000)                          = 0xa0aa000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
I'm not familiar with 'strace' but it does appear to have segfaulted just after accessing DejaVuSans.ttf but I don't know if the 0 result is a success or a fail.

It might be worth checking if that files and others listed exist, and even changing themes and/or fonts to see if that fixes things or seeing how it affects the strace.
 

drmoth

New Member
Strace is a useful linux utility to trace system calls. From stack overflow:
Strace Overview
strace can be seen as a light weight debugger. It allows a programmer / user to quickly find out how a program is interacting with the OS. It does this by monitoring system calls and signals.

Uses
Good for when you don't have source code or don't want to be bothered to really go through it.
Also, useful for your own code if you don't feel like opening up GDB, but are just interested in understanding external interaction.
I have the DejaVuSans.ttf in the right place and it opens fine in the default font viewer.

However I did change theme to the 'high contrast' one and the application no longer crashes. It crashes in the default Ubuntu Ambience and Radiance themes though. A high contrast desktop is definitely not what I want to be looking at (ouch!), so it points to the problem but is not really a solution unfortunately. I guess I'll have to live with this unless someone with better GTK experience has a workaround.
 

Volt

New Member
I may have the same problem. However, my problem is on a 64-bit system.

I have tested LinAxePad on a fresh install of Linux Mint 15 Cinnamon x64 on two different systems and both installations crashes with the segment fault on the "open file" and the "save file" dialog. Running as root works fine.
 
Last edited:
Top