On Fri, 25 Nov 2011 09:39:36 +0100
Christoph Bartoschek
Am 25.11.2011 04:04, schrieb Cristian Rodríguez:
On 24/11/11 19:14, Christoph Bartoschek wrote:
Hi,
I have to use a motif application that relies on openmotif22-libs. I have only a binary of the application. The problem is that the application crashes on startup on opensuse 12.1. It works on 11.2, 11.3 and 11.4. It also worked on older opensuse and redhat versions.
The debugger gives me the following traceback:
#0 0x0000000000000000 in ?? () #1 0x00007fb32d0b6ec8 in _IO_vfprintf_internal at vfprintf.c:1739 #2 0x00007fb32d15edb7 in ___vsprintf_chk at vsprintf_chk.c:87 #3 0x00007fb32d15ecfd in ___sprintf_chk at sprintf_chk.c:33 #4 0x00007fb32cb79d7d in sprintf at /usr/include/bits/stdio2.h:34 #5 _XmOSInitPath at Xmos.c:1271 #6 0x00007fb32cba9cce in XmGetIconFileName at IconFile.c:614 #7 0x00007fb32caca05f in GetImage at ImageCache.c:1310
can you provide the full backtrace ? after installing the relevant debuginfo packages ?
bt full
I have attached the backtrace. Frame #0 is at address 0x0. In frame #1 a jump table is used and the index obviously point to a null pointer.
I've started valgrind to check whether there are heap overflows. I expect a result in one hour.
Christoph
The program below is similar to the code calling sprintf in motif.
There's something going wrong because in the crash condition, in vfprintf,
it's processing the format string in 'the slow mode' but when the test case
runs, it never executes that code.
When the app crashes, can you check that the format string in vfprintf
frame #1, 'lead_str_end' is the same as specified below ?
There should be 18 %s formats.
#include