Re: [TeXmacs] segmentation fault

View: New views
4 Messages — Rating Filter:   Alert me  

Parent Message unknown Re: [TeXmacs] segmentation fault

by Henri Lesourd :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Wolfgang Jansen wrote:

> Henri Lesourd wrote:
>
>> Wolfgang Jansen wrote:
>
> Someone must have worked out the configuration.
> This is the person who is responsible.

There is currently no person responsible
for the Sun platform.


> Or is your answer to understand as follows:
> We have done something, we offer this to the world for use,
> we even established a mailing list for discussion and bug reports,
> but there is nobody to maintain our stuff.

There is definitely somebody to maintain and
extend the software.

There is usually somebody to maintain the
stuff on most of the platforms. But currently,
not on Sun.


> Do you think that successful OSS projects are produced
> and maintained by bloody amateurs? Be sure this is not the case.

I have no time to answer this, sorry.


>>> In any case, it must be clarified
>>> that the bug is platform specific.
>>
>>
>> This clearly stems from your report, it's not
>> something I should myself state !
>
> So, if it was clear from by bug report that TeXmacs
> violated standards, why did the TeXmacs developers
> not fix the bug in the course of half a year?

Because, *as I said before*, these kinds of
platform-dependent things are usually solved
by *USERS* which can access the particular
platform where the problem exists.

No possibility to test: not possible to
write software.


>> We are not "providers". The way it usually
>
> You (or your colleagues) are the providers:
> it is _your_ announcement at http://www.texmacs.org.
> Why do you not accept the responsibility for your product?

As for me, except for really important
cases, I usually try to avoid opinions
about what the responsability of other
people is or should be.


> There may be many places where the result
> of the function is needed. Can the function simply
> be switched off? If it was so simple
> why has this not already been done?

Things are never so simple, one must spend
time to read the code in order to see if
changing it can break things, and spend
time to test the changes afterwards, even
if reading the code lead to the idea that
everything should be fine.


> Since you promised the placet,
> I did the necessary modifications.
> I add then in patch "quadruple.tar.gz".
>
What you sent is not a patch, it's a subset
of the sources tree containing only the
files you modified.

A patch is done by means of diff -r -U2 to
extract the differences between the original
version and the modified version of the whole
source tree.


Another thing is that your patch should
really *fix* the problems: it means that
there should remain no compilation errors,
and that the software should work as expected.


_______________________________________________
Texmacs-dev mailing list
Texmacs-dev@...
http://lists.gnu.org/mailman/listinfo/texmacs-dev

Re: [TeXmacs] segmentation fault

by Wolfgang Jansen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Henri Lesourd wrote:

> Wolfgang Jansen wrote:
>
>> Henri Lesourd wrote:
>>
>>> Wolfgang Jansen wrote:
>>
>> Someone must have worked out the configuration.
>> This is the person who is responsible.
>
> There is currently no person responsible
> for the Sun platform.
>
>
>> Or is your answer to understand as follows:
>> We have done something, we offer this to the world for use,
>> we even established a mailing list for discussion and bug reports,
>> but there is nobody to maintain our stuff.
>
> There is definitely somebody to maintain and
> extend the software.
>
> There is usually somebody to maintain the
> stuff on most of the platforms. But currently,
> not on Sun.
>
>
>> Do you think that successful OSS projects are produced
>> and maintained by bloody amateurs? Be sure this is not the case.
>
> I have no time to answer this, sorry.
>
>
>>>> In any case, it must be clarified
>>>> that the bug is platform specific.
>>>
>>>
>>> This clearly stems from your report, it's not
>>> something I should myself state !
>>
>> So, if it was clear from by bug report that TeXmacs
>> violated standards, why did the TeXmacs developers
>> not fix the bug in the course of half a year?
>
> Because, *as I said before*, these kinds of
> platform-dependent things are usually solved
> by *USERS* which can access the particular
> platform where the problem exists.
>
> No possibility to test: not possible to
> write software.
Because, *as I said before*, the bug is not platform
specific, it is standard specific. Announcing that the
software will run at "all major UNIX platforms"
requires to follow the standards.
Well, it happens during development that some extensions
to a standard will be overseen. But as soon as the standard
violation becomes visible one must resort to the standard.
Otherwise, it will be impossible to produce qualitative
software.

>
>
>>> We are not "providers". The way it usually
>>
>> You (or your colleagues) are the providers:
>> it is _your_ announcement at http://www.texmacs.org.
>> Why do you not accept the responsibility for your product?
>
> As for me, except for really important
> cases, I usually try to avoid opinions
> about what the responsability of other
> people is or should be.
>
>
>> There may be many places where the result
>> of the function is needed. Can the function simply
>> be switched off? If it was so simple
>> why has this not already been done?
>
> Things are never so simple, one must spend
> time to read the code in order to see if
> changing it can break things, and spend
> time to test the changes afterwards, even
> if reading the code lead to the idea that
> everything should be fine.
>
Thanks for teaching how software is produced.
Now I know what I've made wrong during the last 30 years.

>
>> Since you promised the placet,
>> I did the necessary modifications.
>> I add then in patch "quadruple.tar.gz".
>>
> What you sent is not a patch, it's a subset
> of the sources tree containing only the
> files you modified.
>
> A patch is done by means of diff -r -U2 to
> extract the differences between the original
> version and the modified version of the whole
> source tree.
>
OK, I did not know which format you prefer.
> Another thing is that your patch should
> really *fix* the problems: it means that
> there should remain no compilation errors,
> and that the software should work as expected.
>
All bugs to fix is impossible.
First, there occurs one bug after the other.
Second and more importantly, the bug found
last is a missing type definition
(may be a typedef, a class, or something else).
It is not possible to guess the developers' intention.

End of story.

--
Dr. Wolfgang Jansen
University of Potsdam, Germany
mailto: wjansen@...


diff -r -U2 ./src/Graphics/Gui/message.hpp /home/wjansen/tmp/TeXmacs-1.0.6.14-src/src/Graphics/Gui/message.hpp
--- ./src/Graphics/Gui/message.hpp 2008-06-24 10:02:23.536783000 +0200
+++ /home/wjansen/tmp/TeXmacs-1.0.6.14-src/src/Graphics/Gui/message.hpp 2008-03-19 18:16:36.000000000 +0100
@@ -120,5 +120,5 @@
 template<class T1, class T2, class T3, class T4> void
 send (widget w, slot s, T1 val1, T2 val2, T3 val3, T4 val4) {
-  typedef tuple4<T1,T2,T3,T4> T;
+  typedef quadruple<T1,T2,T3,T4> T;
   w->send (s, close_box<T> (T (val1, val2, val3, val4)));
 }
@@ -126,5 +126,5 @@
 template<class T1, class T2, class T3, class T4, class T5> void
 send (widget w, slot s, T1 val1, T2 val2, T3 val3, T4 val4, T5 val5) {
-  typedef tuple5<T1,T2,T3,T4,T5> T;
+  typedef quintuple<T1,T2,T3,T4,T5> T;
   w->send (s, close_box<T> (T (val1, val2, val3, val4, val5)));
 }
@@ -151,5 +151,5 @@
 template<class T1, class T2, class T3, class T4> void
 query (widget w, slot s, T1& val1, T2& val2, T3& val3, T4& val4) {
-  typedef tuple4<T1,T2,T3,T4> T;
+  typedef quadruple<T1,T2,T3,T4> T;
   T q= open_box<T> (w->query (s, type_helper<T>::id));
   val1= q.x1; val2= q.x2; val3= q.x3; val4= q.x4;
@@ -158,5 +158,5 @@
 template<class T1, class T2, class T3, class T4, class T5> void
 query (widget w, slot s, T1& val1, T2& val2, T3& val3, T4& val4, T5& val5) {
-  typedef tuple5<T1,T2,T3,T4,T5> T;
+  typedef quintuple<T1,T2,T3,T4,T5> T;
   T q= open_box<T> (w->query (s, type_helper<T>::id));
   val1= q.x1; val2= q.x2; val3= q.x3; val4= q.x4; val5= q.x5;
diff -r -U2 ./src/Kernel/Containers/ntuple.hpp /home/wjansen/tmp/TeXmacs-1.0.6.14-src/src/Kernel/Containers/ntuple.hpp
--- ./src/Kernel/Containers/ntuple.hpp 2008-06-24 10:02:04.671492000 +0200
+++ /home/wjansen/tmp/TeXmacs-1.0.6.14-src/src/Kernel/Containers/ntuple.hpp 2008-03-19 18:16:36.000000000 +0100
@@ -2,5 +2,5 @@
 /******************************************************************************
 * MODULE     : ntuple.hpp
-* DESCRIPTION: Pairs, tuples and tuple4s
+* DESCRIPTION: Pairs, tuples and quadruples
 * COPYRIGHT  : (C) 2007  Joris van der Hoeven
 *******************************************************************************
@@ -51,39 +51,39 @@
 
 template<class T1, class T2, class T3, class T4>
-class tuple4 {
+class quadruple {
 public:
   T1 x1; T2 x2; T3 x3; T4 x4;
-  inline tuple4 (const tuple4& q):
+  inline quadruple (const quadruple& q):
     x1 (q.x1), x2 (q.x2), x3 (q.x3), x4 (q.x4) {}
-  inline tuple4 (const T1& y1, const T2& y2, const T3& y3, const T3& y4):
+  inline quadruple (const T1& y1, const T2& y2, const T3& y3, const T3& y4):
     x1 (y1), x2 (y2), x3 (y3), x4 (y4) {}
-  inline tuple4& operator = (const tuple4& q) {
+  inline quadruple& operator = (const quadruple& q) {
     x1= q.x1; x2= q.x2; x3= q.x3; x4= q.x4; return *this; }
-  inline bool operator == (const tuple4& q) {
+  inline bool operator == (const quadruple& q) {
     return x1 == q.x1 && x2 == q.x2 && x3 == q.x3 && x4 == q.x4; }
-  inline bool operator != (const tuple4& q) {
+  inline bool operator != (const quadruple& q) {
     return x1 != q.x1 || x2 != q.x2 || x3 != q.x3 || x4 != q.x4; }
 };
 
 template<class T1, class T2, class T3, class T4> inline ostream&
-operator << (ostream& out, const tuple4<T1,T2,T3,T4>& q) {
+operator << (ostream& out, const quadruple<T1,T2,T3,T4>& q) {
   return out << "[ " << q.x1 << ", " << q.x2
      << ", " << q.x3 << ", " << q.x4 << " ]"; }
 
 template<class T1, class T2, class T3, class T4, class T5>
-class tuple5 {
+class quintuple {
 public:
   T1 x1; T2 x2; T3 x3; T4 x4; T5 x5;
-  inline tuple5 (const tuple5& q):
+  inline quintuple (const quintuple& q):
     x1 (q.x1), x2 (q.x2), x3 (q.x3), x4 (q.x4), x5 (q.x5) {}
-  inline tuple5 (const T1& y1, const T2& y2, const T3& y3,
+  inline quintuple (const T1& y1, const T2& y2, const T3& y3,
     const T3& y4, const T5& y5):
     x1 (y1), x2 (y2), x3 (y3), x4 (y4), x5 (y5) {}
-  inline tuple5& operator = (const tuple5& q) {
+  inline quintuple& operator = (const quintuple& q) {
     x1= q.x1; x2= q.x2; x3= q.x3; x4= q.x4; x5= q.x5; return *this; }
-  inline bool operator == (const tuple5& q) {
+  inline bool operator == (const quintuple& q) {
     return x1 == q.x1 && x2 == q.x2 && x3 == q.x3 &&
            x4 == q.x4 && x5 == q.x5; }
-  inline bool operator != (const tuple5& q) {
+  inline bool operator != (const quintuple& q) {
     return x1 != q.x1 || x2 != q.x2 || x3 != q.x3 ||
            x4 != q.x4 || x5 != q.x5; }
@@ -91,5 +91,5 @@
 
 template<class T1, class T2, class T3, class T4, class T5> inline ostream&
-operator << (ostream& out, const tuple5<T1,T2,T3,T4,T5>& q) {
+operator << (ostream& out, const quintuple<T1,T2,T3,T4,T5>& q) {
   return out << "[ " << q.x1 << ", " << q.x2 << ", " << q.x3
      << ", " << q.x4 << ", " << q.x5 << " ]"; }
diff -r -U2 ./src/Plugins/Widkit/Basic/widkit_wrapper.cpp /home/wjansen/tmp/TeXmacs-1.0.6.14-src/src/Plugins/Widkit/Basic/widkit_wrapper.cpp
--- ./src/Plugins/Widkit/Basic/widkit_wrapper.cpp 2008-06-24 10:03:00.513029000 +0200
+++ /home/wjansen/tmp/TeXmacs-1.0.6.14-src/src/Plugins/Widkit/Basic/widkit_wrapper.cpp 2008-03-19 18:16:37.000000000 +0100
@@ -351,5 +351,5 @@
 void
 send_coord4 (wk_widget w, string key, blackbox val) {
-  typedef tuple4<SI,SI,SI,SI> coord4;
+  typedef quadruple<SI,SI,SI,SI> coord4;
   if (type_box (val) != type_helper<coord4>::id)
     fatal_error ("type mismatch", "send_coord4");
@@ -411,5 +411,5 @@
 void
 send_mouse (wk_widget w, blackbox val) {
-  typedef tuple5<string,SI,SI,int,time_t> mouse;
+  typedef quintuple<string,SI,SI,int,time_t> mouse;
   if (type_box (val) != type_helper<mouse>::id)
     fatal_error ("type mismatch", "send_mouse");
@@ -437,5 +437,5 @@
 void
 send_invalidate (wk_widget w, blackbox val) {
-  typedef tuple4<SI,SI,SI,SI> coord4;
+  typedef quadruple<SI,SI,SI,SI> coord4;
   if (type_box (val) != type_helper<coord4>::id)
     fatal_error ("type mismatch", "send_invalidate");
@@ -454,5 +454,5 @@
 void
 send_repaint (wk_widget w, blackbox val) {
-  typedef tuple4<SI,SI,SI,SI> repaint;
+  typedef quadruple<SI,SI,SI,SI> repaint;
   if (type_box (val) != type_helper<repaint>::id)
     fatal_error ("type mismatch", "send_repaint");
@@ -638,5 +638,5 @@
 blackbox
 query_coord4 (wk_widget w, string key, int type_id) {
-  typedef tuple4<SI,SI,SI,SI> coord4;
+  typedef quadruple<SI,SI,SI,SI> coord4;
   if (type_id != type_helper<coord4>::id)
     fatal_error ("type mismatch", "query_coord4");

_______________________________________________
Texmacs-dev mailing list
Texmacs-dev@...
http://lists.gnu.org/mailman/listinfo/texmacs-dev

Re: [TeXmacs] segmentation fault

by Henri Lesourd :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Wolfgang Jansen wrote:

> Henri Lesourd wrote:
>
>> No possibility to test: not possible to
>> write software.
>
> Because, *as I said before*, the bug is not platform
> specific, it is standard specific. Announcing that the
> software will run at "all major UNIX platforms"
> requires to follow the standards.
> Well, it happens during development that some extensions
> to a standard will be overseen. But as soon as the standard
> violation becomes visible one must resort to the standard.
> Otherwise, it will be impossible to produce qualitative
> software.

You should apply your own standards to
yourself first, IMHO.


>>> There may be many places where the result
>>> of the function is needed. Can the function simply
>>> be switched off? If it was so simple
>>> why has this not already been done?
>>
>>
>> Things are never so simple, one must spend
>> time to read the code in order to see if
>> changing it can break things, and spend
>> time to test the changes afterwards, even
>> if reading the code lead to the idea that
>> everything should be fine.
>>
> Thanks for teaching how software is produced.
> Now I know what I've made wrong during the last 30 years.

I dont know what you made wrong during all
this time, but I know for sure what you are
doing wrong right now. If you can't see it,
it's your problem, not mine.


_______________________________________________
Texmacs-dev mailing list
Texmacs-dev@...
http://lists.gnu.org/mailman/listinfo/texmacs-dev

Re: [TeXmacs] segmentation fault

by Henri Lesourd :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Wolfgang Jansen wrote:

> Henri Lesourd wrote:
>
>> Another thing is that your patch should
>> really *fix* the problems: it means that
>> there should remain no compilation errors,
>> and that the software should work as expected.
>>
> All bugs to fix is impossible.
> First, there occurs one bug after the other.
> Second and more importantly, the bug found
> last is a missing type definition
> (may be a typedef, a class, or something else).
> It is not possible to guess the developers' intention.
>
>
To summarize (and gently conclude this
discussion):

1. Bugs which happen one after the other or
   missing developer's intention is one thing
   one can live with, especially when you only
   want to solve a compilation problem ;

2. Missing type definition is a problem in
   the makefile, for it is certainly not the
   case that a definition is really missing ;

=> Thank you very much for your contribution. Now
   there are lots of informations about this Sun
   related problems. We will need to find the time
   and access to a Sun system to investigate this ;

Regards, Henri


_______________________________________________
Texmacs-dev mailing list
Texmacs-dev@...
http://lists.gnu.org/mailman/listinfo/texmacs-dev
LightInTheBox - Buy quality products at wholesale price!