Skip to search.
eiffel_software · Eiffel Software User list

Group Information

  • Members: 930
  • Category: Development
  • Founded: Oct 30, 2001
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Messages

  Messages Help
Advanced
Problem with NETWORK_SOCKET when linked with VTD-XML library   Message List  
Reply Message #16017 of 19314 |
Hello,
I have come up against a weird problem with NETWORK_STREAM_SOCKET. It fails on
c_bind with a segmentation fault during the creation procedure
"make_server_by_port". I built the ES reference example to see if it was a
firewall problem or illegal port number or some such, but the reference example
works fine.

To try and locate the problem I gradually built up the reference project to
match my program under development. Turning on multi-threading, adding different
libraries etc. Eventually I found that the socket library doesn't like being
linked in with the same exe as the VTD-XML library. If I have an unattached
reference to a VTD-XML wrapper class (without any instantiation or calls being
made), the example fails. If I comment out the reference and refreeze the
project, it all works fine.

I thought perhaps it might be an incompatible compiler flag so I rebuilt the
VTD-XML library using the same compiler defines and flags as the estudio
makefile.

-O0 -pipe -fPIC -DEIF_THREADS -DEIF_LINUXTHREADS -DISE_GC

Still the same problem.

The VTD-XML C source can be downloaded here:
http://sourceforge.net/projects/vtd-xml/files/vtd-xml/ximpleware_2.7/ximpleware_\
2.7_c.zip/download


Development environment:

EiffelStudio 6 (6.3.0.0 GPL Edition - linux-x86-64)
gcc 4.3.2
Ubuntu 8.10

It would be a pity if I can't use this library as the performance is so fast and
I put a lot of effort into making the wrapper. Any ideas please?

Regards
Finnian













Sat Dec 5, 2009 12:54 am

finnianr
Offline Offline
Send Email Send Email

Message #16017 of 19314 |
Expand Messages Author Sort by Date

Hello, I have come up against a weird problem with NETWORK_STREAM_SOCKET. It fails on c_bind with a segmentation fault during the creation procedure...
finnianr Offline Send Email Dec 5, 2009
12:55 am

... Could you run your program under gdb and send us the C stack trace. Usually one does the following: gdb ./my_program ... Also can you type `ldd...
Emmanuel Stapf [ES]
manus_eiffel Offline Send Email
Dec 7, 2009
7:32 pm

Hello Manu, thanks for offering to take a look at this. I set ISE_CFLAGS=-g and did a finalize with assertions before running gdb and ldd. Output is below. The...
finnianr Offline Send Email Dec 8, 2009
6:10 pm

I notice that there is a Dec 8, 09 release of 6.5 at http://sourceforge.net/projects/eiffelstudio/files/ (but no win64 or *.7z files). In an earlier post, the...
Jonathan S. Ostroff
inolp... Offline Send Email
Dec 8, 2009
7:27 pm

The changelog is at http://dev.eiffel.com/EiffelStudio_6.5_Releases You can see changes to the wiki including the changelog page with the RSS feed: http: ...
Colin LeMahieu
colinlema Offline Send Email
Dec 8, 2009
7:41 pm

<< The changelog is at http://dev.eiffel.com/EiffelStudio_6.5_Releases>> Thanks Colin. There is a changelog for a later release, but it is not numbered. The...
Jonathan S. Ostroff
inolp... Offline Send Email
Dec 8, 2009
7:59 pm

I have to admit that I've never used or seen the '~' operator before, can someone guide me to its definition as I seem to have a hard time tracking it down. ...
Hubert Cater
hubertcater Offline Send Email
Dec 8, 2009
8:04 pm

There are 2 equality operators in Eiffel: "=" and "~". The semantics of "=" depends on the type. For expanded types, object comparison is done, for reference...
Helmut Brandl
helmut_l_brandl Offline Send Email
Dec 8, 2009
8:11 pm

As far as I know it is defined as a ~ b: (a /= Void and b /= Void and then a.same_type(b)) and then a.is_equal(b) Jann...
Jann Röder
roederja@... Send Email
Dec 8, 2009
8:15 pm

Thank you both, this was very helpful. Hubert ... -- Fury Software http://www.furysoftware.com Battlefront.com http://www.battlefront.com...
Hubert Cater
hubertcater Offline Send Email
Dec 8, 2009
8:20 pm

Indeed. The `~' operator performs a comparison using object equality, using the version of the is_equal query as possibly redefined for the operand types...
Bertrand Meyer
bmeyer_eiffel Offline Send Email
Dec 8, 2009
9:46 pm

Thanks Bertrand ... -- Fury Software http://www.furysoftware.com Battlefront.com http://www.battlefront.com...
Hubert Cater
hubertcater Offline Send Email
Dec 9, 2009
2:28 pm

Ahhh, this clarifies thing for me too, thanks. In most contexts I deal with, the tilda (~) means APPROXIMATELY equal, not equal, so I was confused. --Bruce...
brucemount Offline Send Email Dec 9, 2009
2:39 pm

please keep posts relevant to the thread topic. It makes it easier to search the newsgroup for answers to problems. Thanks Finnian...
finnianr Offline Send Email Dec 9, 2009
5:58 pm

... Could you recompile the same program without the vtd library and show me the output of `ldd'? ... Thanks, Manu...
Emmanuel Stapf [ES]
manus_eiffel Offline Send Email
Dec 9, 2009
7:03 pm

... Without the vtd library (Runs fine): linux-vdso.so.1 => (0x00007fff487fe000) libm.so.6 => /lib/libm.so.6 (0x00007f69402dd000) libpthread.so.0 =>...
finnianr Offline Send Email Dec 9, 2009
8:29 pm
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help