Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007785 [Squeak] VM minor always 08-12-13 18:19 08-28-13 18:04
Reporter lewis View Status public  
Assigned To eem
Priority normal Resolution fixed Platform
Status assigned   OS
Projection none   OS Version
ETA none Fixed in Version Product Version
  Product Build
Summary 0007785: RePlugin patch for pcre from Debian bug report #710375
Description Reported here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2013-August/013368.html [^]
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710375 [^]

squeak-vm uses the system pcre library which does not provide the
prce_info anymore:
       int pcre_fullinfo(const pcre *code, const pcre_extra *extra,
            int what, void *where);

       The pcre_fullinfo() function returns information about a
compiled pat-
       tern. It replaces the pcre_info() function, which was removed
from the
       library at version 8.30, after more than 10 years of obsolescence.

Steps To Reproduce
Additional Information A patch has been provided by a Debian maintainer, but may need to be reimplemented in the plugin slang.
Attached Files

- Relationships

- Notes
(0014432 - 921 - 979 - 1095 - 1095 - 1095 - 1095)
lewis
08-15-13 02:47

RePlugin was written by Andrew C. Greenberg. It consists of a VM plugin in package RegexPlugin, some interface classes in package Regex-Base, and a test suite in package Regex-tests.

An overview is on the Swiki at http://wiki.squeak.org/squeak/558. [^]

The RePlugin distribution is on SqueakMap as package "Regular Expression Plugin". The most recent update is version 3.31, which is a SAR distribution containing the plugin, the image support code, the unit tests, and documention. The package is fully functional and all tests are green when running on a 32 bit VM (e.g. an interpreter VM from www.squeakvm.org/unix, or Cog if the plugin is present).

The RePlugin is now part of the VMMaker package, so the RegexPlugin package from the SqueakMap distribution is superceded by the RePlugin VMMaker-Plugins.

RePlugin also requires updates for 32/64 bit compilation. It crashes the VM when compiled in 64-bit mode.
 
(0014433 - 228 - 228 - 228 - 228 - 228 - 228)
lewis
08-15-13 02:50

The patch provided for Debian build resolves the linker errors by disabling a primitive. However, the primitive still requires a proper fix in VMMaker to use the new pcre_fullinfo() function rather than the obsolete pcre_info().
 
(0014434 - 601 - 613 - 613 - 613 - 613 - 613)
lewis
08-18-13 15:43

Source code for an early version of the PCRE is in platforms/Cross/plugins/RePlugin. The VM is compiled with this code, rather than using OS supplied libraries. The link error reported in the Debian bug report is probably a result of link-time confusion between the OS supplied library and the code in our platforms/Cross tree.

We should stop using a local (and obsolete) version of the PCRE, and begin linking directly to the platform supplied library when present. Unix/Linux systems are sure to provide a PCRE implementation, but I don't know the status with respect to Windows, iOS, RiscOS etc.
 
(0014435 - 223 - 223 - 223 - 223 - 223 - 223)
lewis
08-18-13 15:45

The platforms/win32 and platforms/iOS both provide RePlugin.c files that have been generated from the Smalltalk plugin, which is now maintained in VMMaker. These generated sources should be removed from the platforms trees.
 
(0014436 - 357 - 357 - 357 - 357 - 357 - 357)
lewis
08-18-13 15:50

Note - the original platforms source for PCRE in platforms/Cross/RePlugin contains the then-current implementations of the pcre_info() and pcre_fullinfo() functions. Documentation of the original pcre_info() function is not readily available, so use this local code as reference for how to update the RePlugin in VMMaker to use the pcre_fullinfo() function.
 
(0014438 - 151 - 161 - 161 - 161 - 161 - 161)
eem
08-28-13 18:04

Fixed in Cog and merged into VMMaker-eem.323. Also fixed arg count of primPCREExecfromto
and compilation warnings in rePluginFree: & rePluginMalloc:.
 

- Issue History
Date Modified Username Field Change
08-12-13 18:19 lewis New Issue
08-12-13 18:19 lewis Status new => assigned
08-12-13 18:19 lewis Assigned To  => lewis
08-15-13 02:47 lewis Note Added: 0014432
08-15-13 02:50 lewis Note Added: 0014433
08-18-13 15:43 lewis Note Added: 0014434
08-18-13 15:45 lewis Note Added: 0014435
08-18-13 15:50 lewis Note Added: 0014436
08-28-13 18:04 eem Note Added: 0014438
08-28-13 18:04 eem Assigned To lewis => eem
08-28-13 18:04 eem Resolution open => fixed


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
57 total queries executed.
41 unique queries executed.
Powered by Mantis Bugtracker