Page 1 of 1

Segmentation fault error when compile

Posted: Thu Nov 05, 2015 10:23 am
by nduvnjak
Hi,
we are getting this error when trying t compile a certain vortex module on Linux, under Texis 7.x :

-bash-4.1$ texis -ci -log "" -force -module parsephpbb parsephpbb
Segmentation fault

Maybe I should mention that it's really in fact a huge module, over 20,000 lines. But we don't have the same problem with that and similar modules on our Texis 5.x installations on Linux.

Here is a few more information about the setup...


Texis Web Script (Vortex) Copyright (c) 1996-2015 Thunderstone - EPI, Inc.
Commercial Version 7.03.1434477553 20150616 (x86_64-unknown-linux2.6.9-64-64)

Linux version 2.6.32-573.7.1.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Tue Sep 22 22:00:00 UTC 2015

CentOS release 6.7 (Final)
-------


please let me know where to look further in resolving this issue.

Thanks,
Nenad

Segmentation fault error when compile

Posted: Thu Nov 05, 2015 11:07 am
by Kai
Does it generate a core file if run with -x? Open a tech support ticket; we may need a copy of the module and other files in your environment to reproduce the issue here.

Segmentation fault error when compile

Posted: Mon Nov 09, 2015 10:40 am
by nduvnjak
Thank you...
we may have isolated the problem, at least one possible cause for this. It's directly related to HUGE if-elseif segments. Namely, there are couple of ELSEIF blocks that containt up to 280+ conditions in them, divided by OR. For example:
<elseif $SITEDOMAIN eq 'www.citroen-club.it' or $SITEDOMAIN eq 'www.hwupgrade.org' ... or ....
etc, with a lot of these ORs. By elimination system we discovered that anything over 123 ORs (i.e. 124 or more conditions in a single IF or ELSEIF), the module refuses to compile and fires that segmentation fault.

Please comment and provide an advice regarding this.

Surely, we can design our code to avoid this and break our "huge IFs" into multiple smaller ones, but I would like to point out that identical module works just fine on our Texis 5.x setup.
So is there a setting that we are missing in our Texis 7.x installation, or this is a known limitation you are aware of?


thanks,
Nenad

Segmentation fault error when compile

Posted: Mon Nov 09, 2015 11:21 am
by Kai
It could be the size of the entire statement as well; but that's just speculation until we can reproduce it here. Can you open a tech support ticket and send a ZIPped copy of the code that segfaults, as well as any module(s) it uses? Then we can try to run it here and find a fix.

In the meantime, you could rewrite a series of clauses of the form '$SITEDOMAIN eq 'www.example.com' or ...' to this:

<$list = "www.example.com" "www.otherexample.com" ...>
<if $SITEDOMAIN in ($list)>
true
</if>

That will at least make the statement more compact.

Segmentation fault error when compile

Posted: Thu Nov 12, 2015 12:16 pm
by nduvnjak
how do I upload a file (module) when I open the ticket?
I created the ticket and about to hit "Submit" but there is nowhere an option to include a file

Segmentation fault error when compile

Posted: Thu Nov 12, 2015 12:44 pm
by Kai
Just send the text of the message for now. You'll get an email reply that you can reply to with a ZIP attachment with the module(s).