Bug #80881 [Com]: open_basedir crashes Apache

From: Date: Tue, 23 Mar 2021 17:59:25 +0000
Subject: Bug #80881 [Com]: open_basedir crashes Apache
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232952@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80881&edit=1

 ID:                 80881
 Comment by:         simbiat at outlook dot com
 Reported by:        simbiat at outlook dot com
 Summary:            open_basedir crashes Apache
 Status:             Open
 Type:               Bug
 Package:            Safe Mode/open_basedir
 Operating System:   Windows 10.0.19042.868]
 PHP Version:        8.0.3
 Block user comment: N
 Private report:     N

 New Comment:

It is on my machine, it's just that I use OneDrive as backup as well and it's finicky with
symlinks. It's not a critical issue, that's for sure, at least, unless someone decided to
host actual PROD environment on OneDrive, which seems... Unadvisable. Still, if it will be fixed
someday, that would be great.


Previous Comments:
------------------------------------------------------------------------
[2021-03-23 14:05:45] cmb@php.net

> Crashed on official build as well: […]

It seems the memory mismanagement happens in virtual_file_ex[1],
but apparently the function is inlined, so the stack backtrace
isn't really helpful.

> It looks like it crashes during stopping of the service.

That backtrace looks like a new thread is started, and being shut
down right away.  This may be just a consequence of the former
crash.

Not sure how to go on with this, particularly since support for
OneDrive hosted Websites is of very low priority for the PHP on
Windows team.  I suggest to either download a copy of the Website
to your machine (or consider to use a VCS instead), or to disable
open_basedir.

[1] <https://github.com/php/php-src/blob/php-8.0.3/Zend/zend_virtual_cwd.c#L1248>

------------------------------------------------------------------------
[2021-03-19 08:26:43] simbiat at outlook dot com

Crashed on official build as well: https://apaste.info/utsD
(analyzed from WinDBG)
When I moved htdocs to C:/htdocs - it did not fail. But... It looks like it crashes during stopping
of the service. No logs in Apache, but here's the debug: https://apaste.info/tX0l

Reports from DebugDiag for both cases - https://1drv.ms/u/s!AsaK_C2Xv0I4gunxGl8Cn2AOkewerww?e=aw1tGd

------------------------------------------------------------------------
[2021-03-18 18:22:06] cmb@php.net

> I will try to replicate the same with official build tomorrow.

Thank you!

And thanks for the fsutil reparsePoint query outputs.  These
reparse tag values should be supported; let's see what the new
crash dump reveals.

------------------------------------------------------------------------
[2021-03-18 18:05:53] simbiat at outlook dot com

Yes, Apache Lounge has their own builds: https://www.apachelounge.com/viewtopic.php?t=6359
I will try to replicate the same with official build tomorrow.

C:\Users\simbi>fsutil reparsePoint query C:\Users\simbi\OneDrive
Error:  The file or directory is not a reparse point.

But:
C:\Users\simbi>fsutil reparsePoint query
C:\Users\simbi\OneDrive\Documents\!Personal\Coding\WebServer
Reparse Tag Value : 0x9000a01a
Tag value: Microsoft
Tag value: Directory

Reparse Data Length: 0xa2
Reparse Data:
0000:  01 80 9c 01 9b b0 00 46  65 52 70 8f 29 35 0c 00  .......FeRp.)5..
0010:  98 01 00 00 02 00 0a 00  80 07 00 01 00 60 00 00  .............`..
0020:  00 48 18 04 00 64 00 38  05 10 11 00 30 9c 01 68  .H...d.8....0..h
0030:  08 3c 25 28 00 ac 00 96  00 58 3a 02 00 06 30 01  .<%(.....X:...0.
0040:  18 00 0e 09 04 33 38 00  34 32 42 46 39 37 32 44  .....38.42BF972D
0050:  00 46 43 38 41 43 36 21  32 52 37 00 01 39 38 0c  .FC8AC6!2R7..98.
0060:  26 00 24 27 74 b1 0e 27  31 30 34 0d 4b 00 0f 0c  &.$'t..'104.K...
0070:  10 13 2d 11 09 74 a4 13  25 13 66 81 4f 62 66 01  ..-..t..%.f.Obf.
0080:  80 77 64 66 63 38 61 63  36 00 00 00 ef 02 c0 e2  .wdfc8ac6.......
0090:  34 08 a0 ec a5 73 07 e0  80 03 00 80 03 00 b2 67  4....s.........g
00a0:  96 56                                             .V


C:\Users\simbi>fsutil reparsePoint query
C:\Users\simbi\OneDrive\Documents\!Personal\Coding\WebServer\apache
Reparse Tag Value : 0x9000e01a
Tag value: Microsoft
Tag value: Directory

Reparse Data Length: 0xa1
Reparse Data:
0000:  01 80 84 01 9a b0 00 46  65 52 70 77 fa 71 3f 80  .......FeRpw.q?.
0010:  80 01 00 00 02 00 07 00  10 00 01 00 48 00 00 00  ............H...
0020:  0a 00 18 04 00 4c 00 38  05 10 11 00 30 9c 01 50  .....L.8....0..P
0030:  08 3c 0d 28 00 7c 00 d6  00 28 3a 02 00 06 30 01  .<.(.|...(:...0.
0040:  18 00 0e 09 04 33 38 00  34 32 42 46 39 37 32 44  .....38.42BF972D
0050:  00 46 43 38 41 43 36 21  32 70 37 38 34 37 0c 48  .FC8AC6!2p7847.H
0060:  00 0e 24 27 74 91 0e 27  31 30 34 0f 4d 00 0c 10  ..$'t..'104.M...
0070:  13 2d 11 12 74 a4 13 25  13 66 81 4f 62 66 01 80  .-..t..%.f.Obf..
0080:  77 64 66 63 38 61 63 36  00 00 00 ef 02 c0 e2 34  wdfc8ac6.......4
0090:  08 a0 ec a5 73 07 e0 80  03 00 80 03 00 b2 67 96  ....s.........g.
00a0:  56                                                V


C:\Users\simbi>fsutil reparsePoint query
C:\Users\simbi\OneDrive\Documents\!Personal\Coding\WebServer\gfc (this is where my configs for
apache, php and mysql are)
Reparse Tag Value : 0x9000e01a
Tag value: Microsoft
Tag value: Directory

Reparse Data Length: 0xa3
Reparse Data:
0000:  01 80 84 01 9c b0 00 46  65 52 70 33 5b ce cb 80  .......FeRp3[...
0010:  80 01 00 00 02 00 07 00  10 00 01 00 48 00 00 00  ............H...
0020:  0a 00 18 04 00 4c 00 38  05 10 11 00 30 9c 01 50  .....L.8....0..P
0030:  08 3c 0d 28 00 7c 00 d6  00 28 3a 02 00 06 30 01  .<.(.|...(:...0.
0040:  18 00 0e 09 04 33 38 00  34 32 42 46 39 37 32 44  .....38.42BF972D
0050:  00 46 43 38 41 43 36 21  32 40 37 32 37 33 34 31  .FC8AC6!2@727341
0060:  0c 4c 00 c5 24 27 74 0e  27 31 30 34 0d 4b 00 0f  .L..$'t.'104.K..
0070:  b6 0e 10 13 11 12 74 a4  13 25 13 66 81 4f 04 62  ......t..%.f.O.b
0080:  66 80 77 64 66 63 38 61  00 63 36 00 00 ef 02 c0  f.wdfc8a.c6.....
0090:  e2 80 34 08 ec a5 73 07  e0 80 03 02 00 80 03 b2  ..4...s.........
00a0:  67 96 56                                          g.V

C:\Users\simbi>fsutil reparsePoint query
C:\Users\simbi\OneDrive\Documents\!Personal\Coding\WebServer\mysql
Reparse Tag Value : 0x9000e01a
Tag value: Microsoft
Tag value: Directory

Reparse Data Length: 0xa1
Reparse Data:
0000:  01 80 84 01 9a b0 00 46  65 52 70 a5 4c d4 a2 80  .......FeRp.L...
0010:  80 01 00 00 02 00 07 00  10 00 01 00 48 00 00 00  ............H...
0020:  0a 00 18 04 00 4c 00 38  05 10 11 00 30 9c 01 50  .....L.8....0..P
0030:  08 3c 0d 28 00 7c 00 d6  00 28 3a 02 00 06 30 01  .<.(.|...(:...0.
0040:  18 00 0e 09 04 33 38 00  34 32 42 46 39 37 32 44  .....38.42BF972D
0050:  00 46 43 38 41 43 36 21  32 70 37 38 35 32 0c 48  .FC8AC6!2p7852.H
0060:  00 0e 24 27 74 91 0e 27  31 30 34 0f 4d 00 0e 10  ..$'t..'104.M...
0070:  13 2d 11 12 74 a4 13 25  13 66 81 4f 62 66 01 80  .-..t..%.f.Obf..
0080:  77 64 66 63 38 61 63 36  00 00 00 ef 02 c0 e2 34  wdfc8ac6.......4
0090:  08 a0 ec a5 73 07 e0 80  03 00 80 03 00 b2 67 96  ....s.........g.
00a0:  56                                                V

------------------------------------------------------------------------
[2021-03-18 17:48:59] cmb@php.net

> […] but I've used the build from Apache Lounge.

Do they provide their own PHP binaries?  If so, official PHP on
Windows debug packs will not work.  I have not been able to attach
x64 nor x86 pdbs.

> Oh and my OneDrive is not in on-demand mode. I do not use this
> feature.

That is super strange, because in that case C:\Users\simbi\OneDrive
should be a normal folder.  Again, please provide the output of

    fsutil reparsePoint query C:\Users\simbi\OneDrive

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=80881


--
Edit this bug report at https://bugs.php.net/bug.php?id=80881&edit=1


Thread (18 messages)

« previous php.bugs (#232952) next »