Avoid `Lval on missing array element` logs from `IniSettingMap::set`
commit88107fa030786946b7f9a4d2db695bddf987a5a9
authorKevin Viratyosin <viratyosin@fb.com>
Wed, 8 May 2019 22:00:04 +0000 (8 15:00 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 8 May 2019 22:04:10 +0000 (8 15:04 -0700)
treebe804fa54255611a1f6b00cd0b0e73175b36c942
parentef59a8f8649b1509869354954d9f6e2e98e7ed2a
Avoid `Lval on missing array element` logs from `IniSettingMap::set`

Summary:
The following command was resulting in stackless notices `Hack Array Compat: Lval on missing array element`:
```
/usr/local/hphpi/bin/hhvm -vEval.HackArrCompatNotices=1 -vEval.HackArrCompatCheckFalseyPromote=1 -m debug
```
I used `gdb` to trace this to two `lvalAt` calls via `IniSettingMap::set`.

I'm not sure if initializing the value at the missing key to null (`empty_array()`) is the best thing to but, it looks like the merging will just overwrite it.

Reviewed By: mofarrell

Differential Revision: D15202922

fbshipit-source-id: 354cd3e36f53a05aee33dc49208897413ac0dc73
hphp/runtime/base/ini-setting.cpp
hphp/test/slow/debugger/no-lval-on-missing.php [new file with mode: 0644]
hphp/test/slow/debugger/no-lval-on-missing.php.expectf [new file with mode: 0644]
hphp/test/slow/debugger/no-lval-on-missing.php.opts [new file with mode: 0644]