Page MenuHomePhabricator

Add setup check for missing PCRE_UTF8 support
Open, WishlistPublic

Assigned To
Authored By
Nov 8 2016, 10:47 AM
Referenced Files
F1911460: 10.37.11.png
Nov 8 2016, 2:40 PM
F1911417: 10.12.40.png
Nov 8 2016, 2:13 PM
Nov 8 2016, 2:05 PM
F1910577: screenshot.png
Nov 8 2016, 10:47 AM


eproduction steps:

  1. install Php53( 5.3.17) and related extensions
  2. install the Phabricator in SUSE Enterprise 11 SP3
  3. open the homepage in browser, edit text under Rich Edit Text View.
  4. check the preview and display.

Result: the Remarkup display nothing except Code Block
please check the Screenshot.

version information:
phabricator c21a71f02489b53e5ec5c34deffc693950b69847 (Fri, Oct 21)
arcanist fad85844314b151994769a461825c90f7400c145 (Sat, Oct 22)
phutil f275bb3a363d8ef7e75426c99355efe281aa2c21 (Thu, Oct 20)

screenshot.png (1×2 px, 296 KB)

Event Timeline

I don't know a thing about the web but looks like it might be a font issue. Presumably your setup has the monospaced font available for use in codeblocks, but not the regular text one.

On my machine it says "Lato" and "AwesomeFont" are being used, but both served up over Phacility's CDN. What browser are you using? Shouldn't the browser be downloading the font for use?

i don't agree with you. it seems that my phabricator cannot parse the remarkup language exception the code block.

i attached my saved webpage. The Text isn't existed the source code.

i don't know whether i miss some components or config.

Ah yea my hypothesis doesn't make 100% sense given all the rest of the text in your screenshot. Are there errors on the server?

Could you tell me how to check the server error?
i don't find the errors on server.

10.12.40.png (538×1 px, 91 KB)

this is the config error. i don't think it is the root cause.

10.37.11.png (1×2 px, 182 KB)

you can check this page, it is original phabricator page, it also cannot show in my server.
maybe the remarkup engine cannot work in my server, i don't know how to resolve it.

Bug reports like this are exceedingly resource intensive on the upstream and as stated, we are unlikely to look into for many years if ever. I'd be happy to accept this bug if you can duplicate the bug in a new, clean, environment and completely list out all components needed to reproduce it. Overall as no one else is reporting this, it is likely an environmental issue - so understanding what is unique in your environment vs everywhere else Phabricator is installed is important. Things to look at:

  • Check webserver error logs
  • Check javascript console logs
  • Install Phabricator in a new, clean OS image. (preferably a free OS, or buy us a proper license if you want support)
  • Tell us full, complete, every minor detail, steps to reproduce the issue

The Phabricator versions you listed above are also not current. Just a reminder we only take bug reports at HEAD.

I open the debug mode, on console, i found errors:
preg_replace_callback(): Compilation failed: this version of PCRE is not compiled with PCRE_UTF8 support at offset 0
Stack trace:
preg_replace_callback called at [/lv_code/phabricator/phabricator/src/infrastructure/markup/rule/PhabricatorObjectRemarkupRule.php:189]
PhabricatorObjectRemarkupRule::apply called at [/lv_code/phabricator/libphutil/src/markup/engine/remarkup/blockrule/PhutilRemarkupBlockRule.php:78]
PhutilRemarkupBlockRule::applyRules called at [/lv_code/phabricator/libphutil/src/markup/engine/remarkup/blockrule/PhutilRemarkupDefaultBlockRule.php:17]
PhutilRemarkupDefaultBlockRule::markupText called at [/lv_code/phabricator/libphutil/src/markup/engine/PhutilRemarkupEngine.php:232]
PhutilRemarkupEngine::markupBlock called at [/lv_code/phabricator/libphutil/src/markup/engine/PhutilRemarkupEngine.php:128]
PhutilRemarkupEngine::preprocessText called at [/lv_code/phabricator/phabricator/src/infrastructure/markup/PhabricatorMarkupEngine.php:269]
PhabricatorMarkupEngine::loadPreprocessorCaches called at [/lv_code/phabricator/phabricator/src/infrastructure/markup/PhabricatorMarkupEngine.php:133]
PhabricatorMarkupEngine::process called at [/lv_code/phabricator/phabricator/src/infrastructure/markup/PhabricatorMarkupEngine.php:73]
PhabricatorMarkupEngine::renderOneObject called at [/lv_code/phabricator/phabricator/src/applications/phriction/controller/PhrictionMarkupPreviewController.php:23]
PhrictionMarkupPreviewController::processRequest called at [/lv_code/phabricator/phabricator/src/aphront/AphrontController.php:29]
AphrontController::handleRequest called at [/lv_code/phabricator/phabricator/src/aphront/configuration/AphrontApplicationConfiguration.php:257]
AphrontApplicationConfiguration::processRequest called at [/lv_code/phabricator/phabricator/src/aphront/configuration/AphrontApplicationConfiguration.php:169]
AphrontApplicationConfiguration::runHTTPRequest called at [/lv_code/phabricator/phabricator/webroot/index.php:17]

pcretest -C

PCRE version 8.10 2010-06-25
Compiled with

No UTF-8 support
No Unicode properties support
Newline sequence is LF
\R matches all Unicode newlines
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack
chad renamed this task from Remarkup (Rich Edit Text content view) cannot display under SUSE Enterprise 11 SP3 to Add setup check for missing PCRE_UTF8 support.Nov 9 2016, 4:37 AM
chad edited projects, added Setup; removed Bug Report.

Eventually building a setup check is the extent of our support here. You'll have to build/enable UTF-8 support for your system on your own.

Yes, i manually built the pcre, enable utf8 and unicode properties.
this issue was resolved.

epriestley triaged this task as Wishlist priority.Nov 10 2016, 12:47 AM
epriestley added a subscriber: epriestley.

This is probably the required test:

$pcre_utf8 = @preg_match('//U', '');
if ($pcre_utf8 === false) {
  // ... raise setup warning ...

However, testing that requires recompiling PCRE without UTF8 which is a huge pain and we've never seen this from anyone else, so I don't expect to get to this anytime soon. If anyone who is missing UTF8 can confirm that the test is accurate on their system, I can upstream the check blindly.

this text
area sure
small now

this text
area sure
small now

See T7523

never mind I love the text area

if anything it is too big