[NTG-pdftex] [ pdftex-Bugs-830 ] 'pdftex %' causes segmentation fault (1.50.0-alpha-20070709)

Akira Kakuto kakuto at fsci.fuk.kindai.ac.jp
Sat Jul 14 02:35:02 CEST 2007


> Is it possible that this bug is actually present in
> honest-to-goodness TeX? The end_name procedure does not seem
> to have been changed by pdfTeX, and:
> 
> [robin pdftex]$ tex %
> This is TeX, Version 3.141592 (Web2C 7.5.6)
> 
> *
> Segmentation fault

The following patch for tex.ch will cure the problem.
I've also included the corresponding changes for Aleph
and Omega.
Furthermore, some constants for Aleph and Omega
are sync'ed with tex.ch
(Changes are for the head of the latest TeXLive repository.)

Best regards,
Akira


diff -ur web2c-orig/alephdir/com16bit-rc2.ch web2c/alephdir/com16bit-rc2.ch
--- web2c-orig/alephdir/com16bit-rc2.ch	Thu Jul 12 06:14:00 2007
+++ web2c/alephdir/com16bit-rc2.ch	Sat Jul 14 09:06:56 2007
@@ -200,28 +200,28 @@
 @!sup_strings_free = sup_max_strings;
 
 @!inf_buf_size = 500;
-@!sup_buf_size = 200000;
+@!sup_buf_size = 30000000;
 
 @!inf_nest_size = 40;
-@!sup_nest_size = 400;
+@!sup_nest_size = 4000;
 
 @!inf_max_in_open = 6;
 @!sup_max_in_open = 127;
 
 @!inf_param_size = 60;
-@!sup_param_size = 600;
+@!sup_param_size = 6000;
 
 @!inf_save_size = 600;
 @!sup_save_size = 80000;
 
 @!inf_stack_size = 200;
-@!sup_stack_size = 3000;
+@!sup_stack_size = 30000;
 
 @!inf_dvi_buf_size = 800;
 @!sup_dvi_buf_size = 65536;
 
 @!inf_pool_size = 32000;
-@!sup_pool_size = 10000000;
+@!sup_pool_size = 40000000;
 @!inf_pool_free = 1000;
 @!sup_pool_free = sup_pool_size;
 @!inf_string_vacancies = 8000;
@@ -1079,7 +1079,7 @@
   s:=str_start(str_ptr);
   t:=str_start(str_ptr)+area_delimiter;
   j:=s;
-  while (not must_quote) and (j<>t) do begin
+  while (not must_quote) and (j<t) do begin
     must_quote:=str_pool[j]=" "; incr(j);
     end;
   if must_quote then begin
@@ -1097,7 +1097,7 @@
 if ext_delimiter=0 then t:=pool_ptr else t:=str_start(str_ptr)+ext_delimiter-1;
 must_quote:=false;
 j:=s;
-while (not must_quote) and (j<>t) do begin
+while (not must_quote) and (j<t) do begin
   must_quote:=str_pool[j]=" "; incr(j);
   end;
 if must_quote then begin
@@ -1114,7 +1114,7 @@
   t:=pool_ptr;
   must_quote:=false;
   j:=s;
-  while (not must_quote) and (j<>t) do begin
+  while (not must_quote) and (j<t) do begin
     must_quote:=str_pool[j]=" "; incr(j);
     end;
   if must_quote then begin
@@ -1177,19 +1177,19 @@
 must_quote:=false;
 if a<>0 then begin
   j:=str_start(a);
-  while (not must_quote) and (j<>str_start(a+1)) do begin
+  while (not must_quote) and (j<str_start(a+1)) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;
 if n<>0 then begin
   j:=str_start(n);
-  while (not must_quote) and (j<>str_start(n+1)) do begin
+  while (not must_quote) and (j<str_start(n+1)) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;
 if e<>0 then begin
   j:=str_start(e);
-  while (not must_quote) and (j<>str_start(e+1)) do begin
+  while (not must_quote) and (j<str_start(e+1)) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;
diff -ur web2c-orig/omegadir/com16bit.ch web2c/omegadir/com16bit.ch
--- web2c-orig/omegadir/com16bit.ch	Thu Jul 12 06:14:00 2007
+++ web2c/omegadir/com16bit.ch	Sat Jul 14 09:09:44 2007
@@ -200,28 +200,28 @@
 @!sup_strings_free = sup_max_strings;
 
 @!inf_buf_size = 500;
-@!sup_buf_size = 200000;
+@!sup_buf_size = 30000000;
 
 @!inf_nest_size = 40;
-@!sup_nest_size = 400;
+@!sup_nest_size = 4000;
 
 @!inf_max_in_open = 6;
 @!sup_max_in_open = 127;
 
 @!inf_param_size = 60;
-@!sup_param_size = 600;
+@!sup_param_size = 6000;
 
 @!inf_save_size = 600;
 @!sup_save_size = 80000;
 
 @!inf_stack_size = 200;
-@!sup_stack_size = 3000;
+@!sup_stack_size = 30000;
 
 @!inf_dvi_buf_size = 800;
 @!sup_dvi_buf_size = 65536;
 
 @!inf_pool_size = 32000;
-@!sup_pool_size = 10000000;
+@!sup_pool_size = 40000000;
 @!inf_pool_free = 1000;
 @!sup_pool_free = sup_pool_size;
 @!inf_string_vacancies = 8000;
@@ -1078,7 +1078,7 @@
   s:=str_start(str_ptr);
   t:=str_start(str_ptr)+area_delimiter;
   j:=s;
-  while (not must_quote) and (j<>t) do begin
+  while (not must_quote) and (j<t) do begin
     must_quote:=str_pool[j]=" "; incr(j);
     end;
   if must_quote then begin
@@ -1096,7 +1096,7 @@
 if ext_delimiter=0 then t:=pool_ptr else t:=str_start(str_ptr)+ext_delimiter-1;
 must_quote:=false;
 j:=s;
-while (not must_quote) and (j<>t) do begin
+while (not must_quote) and (j<t) do begin
   must_quote:=str_pool[j]=" "; incr(j);
   end;
 if must_quote then begin
@@ -1113,7 +1113,7 @@
   t:=pool_ptr;
   must_quote:=false;
   j:=s;
-  while (not must_quote) and (j<>t) do begin
+  while (not must_quote) and (j<t) do begin
     must_quote:=str_pool[j]=" "; incr(j);
     end;
   if must_quote then begin
@@ -1176,19 +1176,19 @@
 must_quote:=false;
 if a<>0 then begin
   j:=str_start(a);
-  while (not must_quote) and (j<>str_start(a+1)) do begin
+  while (not must_quote) and (j<str_start(a+1)) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;
 if n<>0 then begin
   j:=str_start(n);
-  while (not must_quote) and (j<>str_start(n+1)) do begin
+  while (not must_quote) and (j<str_start(n+1)) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;
 if e<>0 then begin
   j:=str_start(e);
-  while (not must_quote) and (j<>str_start(e+1)) do begin
+  while (not must_quote) and (j<str_start(e+1)) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;
diff -ur web2c-orig/tex.ch web2c/tex.ch
--- web2c-orig/tex.ch	Thu Jul 12 06:14:00 2007
+++ web2c/tex.ch	Sat Jul 14 08:57:36 2007
@@ -1934,7 +1934,7 @@
   s:=str_start[str_ptr];
   t:=str_start[str_ptr]+area_delimiter;
   j:=s;
-  while (not must_quote) and (j<>t) do begin
+  while (not must_quote) and (j<t) do begin
     must_quote:=str_pool[j]=" "; incr(j);
     end;
   if must_quote then begin
@@ -1952,7 +1952,7 @@
 if ext_delimiter=0 then t:=pool_ptr else t:=str_start[str_ptr]+ext_delimiter-1;
 must_quote:=false;
 j:=s;
-while (not must_quote) and (j<>t) do begin
+while (not must_quote) and (j<t) do begin
   must_quote:=str_pool[j]=" "; incr(j);
   end;
 if must_quote then begin
@@ -1969,7 +1969,7 @@
   t:=pool_ptr;
   must_quote:=false;
   j:=s;
-  while (not must_quote) and (j<>t) do begin
+  while (not must_quote) and (j<t) do begin
     must_quote:=str_pool[j]=" "; incr(j);
     end;
   if must_quote then begin
@@ -2032,19 +2032,19 @@
 must_quote:=false;
 if a<>0 then begin
   j:=str_start[a];
-  while (not must_quote) and (j<>str_start[a+1]) do begin
+  while (not must_quote) and (j<str_start[a+1]) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;
 if n<>0 then begin
   j:=str_start[n];
-  while (not must_quote) and (j<>str_start[n+1]) do begin
+  while (not must_quote) and (j<str_start[n+1]) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;
 if e<>0 then begin
   j:=str_start[e];
-  while (not must_quote) and (j<>str_start[e+1]) do begin
+  while (not must_quote) and (j<str_start[e+1]) do begin
     must_quote:=str_pool[j]=" "; incr(j);
   end;
 end;


More information about the ntg-pdftex mailing list