From: Grzegorz J. <ja...@ac...> - 2004-07-09 11:33:14
|
Hi, Grigorenko Dmitriy wrote: > Hello. > > >>This 77-th line of iostream looks like a bug in debugger or compiler >>(invalid debugging information), I remember that I had similar problems >>somewhere else. > > Your are right. I found that problem is in the lt_dlinit() call (the first > call of the ltdl function). You can find it in > the InitDynamicLoader() function in driver2.cc. I checked that sigfault > heppens befor the first line of lt_dlinit and befor the first line of the > main function in ltdl. (We have to add an empty main funcion in ltdl.c). > I investigated that in case of static linking occ which ltdl.o (instead of > using -lltdl) it is all right! Congratulations, very nice workaround. > So I think that problem is in the linking process. Namely, I think what the > lt_dlinit() function address is incorrect. That very well may be. However, I would also check if by any chance dynamic linker is not picking another version of libltdl installed somewhere else on your system. On my Linux there is 'ldd' utility for this purpose, I am not sure about Cygwin. If this is a genuine bug on Cygwin (and this is likely, since I have heard about similar problems from three other persons), then I will fix it in HEAD by following your workaround. Thanks Grzegorz >> From your description it is difficult to tell where the sigfault really >>happens. As far as I understand line 75 is the first line of main(). >>Perhaps the segfault happens during initialization of static variables. >>One way to find out would be to load core file to gdb ('gdb occ core') >>and examine stack trace ('bt'). > > It does not work on cygwin stackdump file in this way. > Error: "occ.exe.stackdump" is not a core dump: File > format not recognized |