platform/core/dotnet/launcher.git
16 months ago[Tizen S] Deleted unused scripts because wearable is not supported (#463)
최종헌/MDE Lab(SR)/삼성전자 [Mon, 10 Jul 2023 04:44:31 +0000 (13:44 +0900)]
[Tizen S] Deleted unused scripts because wearable is not supported (#463)

16 months ago[Bug fix] Added reboot to avoid mount issue for RO app (#467)
최종헌/MDE Lab(SR)/삼성전자 [Mon, 10 Jul 2023 04:44:16 +0000 (13:44 +0900)]
[Bug fix] Added reboot to avoid mount issue for RO app (#467)

16 months agoFix bugs for apps that do not have AOT metadata when running the --tac-regen-all...
최종헌/MDE Lab(SR)/삼성전자 [Mon, 10 Jul 2023 00:55:24 +0000 (09:55 +0900)]
Fix bugs for apps that do not have AOT metadata when running the --tac-regen-all option (#466)

16 months agoThe default heaptrack configuration file path added. (#465)
Oleg Lekarev/Advanced System SW Lab /SRR/Staff Engineer/Samsung Electronics [Sun, 9 Jul 2023 23:48:53 +0000 (02:48 +0300)]
The default heaptrack configuration file path added. (#465)

16 months agoRemove deadcode
Hyungju Lee [Wed, 5 Jul 2023 23:55:35 +0000 (08:55 +0900)]
Remove deadcode

16 months agoSupport UI Thread Separate (UTS) App Model (#464) accepted/tizen/unified/20230627.025434
조웅석/MDE Lab(SR)/삼성전자 [Mon, 26 Jun 2023 04:16:49 +0000 (13:16 +0900)]
Support UI Thread Separate (UTS) App Model (#464)

define new apptype dotnet-uts for UI Thread Separate App Model

In the UI Thread Separate App Model, the main thread operates with the gmainloop
and UI-related tasks operate with the ecoreloop in a separate thread.
Therefore, ecore_init() should not be called in the main thread of the candidate process
for the UI Thread Separate App Model.
Also, candidate process should run with the gmainloop.

To run by the UI Thread Separate App Model, the environment variable "TIZEN_UI_THREAD" should be set to "true".
If this environment variable is set, then NUI would work on UI Thread Separate Mode.

17 months ago[Tizen S] Integrate app types(dotnet, dotnet-nui) accepted/tizen/unified/20230601.163008
j-h.choi [Thu, 27 Apr 2023 04:46:45 +0000 (13:46 +0900)]
[Tizen S] Integrate app types(dotnet, dotnet-nui)

19 months agoAdd "User" execute labe to dotnet-hydra-loader (#461)
조웅석/MDE Lab(SR)/삼성전자 [Mon, 10 Apr 2023 01:00:41 +0000 (10:00 +0900)]
Add "User" execute labe to dotnet-hydra-loader (#461)

20 months agoCreate the /tmp/.dotnet/mcj dir to reduce the number of I/O of profile data accepted/tizen/7.0/unified/20230213.171720
j-h.choi [Thu, 19 Jan 2023 01:23:55 +0000 (10:23 +0900)]
Create the /tmp/.dotnet/mcj dir to reduce the number of I/O of profile data

Change-Id: I19ecbbdb2d6603d6cdea1d3214ae79c638bc06e6

21 months agoChanged the json exception
j-h.choi [Thu, 26 Jan 2023 07:32:39 +0000 (16:32 +0900)]
Changed the json exception

Change-Id: I87c0c32673b94e62682d13b69b62a29f847f1bfe

21 months agoRemove preload thread (#456) accepted/tizen/7.0/unified/20230119.134111 accepted/tizen/unified/20230120.182039
이형주/MDE Lab(SR)/삼성전자 [Wed, 18 Jan 2023 23:51:16 +0000 (08:51 +0900)]
Remove preload thread (#456)

22 months agoChanged the path of diagnostics tool (#455) accepted/tizen/unified/20221229.165944
최종헌/MDE Lab(SR)/삼성전자 [Thu, 29 Dec 2022 01:59:31 +0000 (10:59 +0900)]
Changed the path of diagnostics tool (#455)

Change-Id: I68c3697ad22d727ff6b4cbdfdc875a1378321f6c

22 months agoThe Pre-Compiled app skips the TAC (#444) accepted/tizen/7.0/unified/20221216.133937 accepted/tizen/unified/20221213.123154
최종헌/Common Platform Lab(SR)/삼성전자 [Mon, 12 Dec 2022 08:09:46 +0000 (17:09 +0900)]
The Pre-Compiled app skips the TAC (#444)

Change-Id: I8aa987f98d4e5a5deb68cea543ea05faef73277f

23 months agoQuick&Dirty patch to reduce icu searching overhead (#453) accepted/tizen/unified/20221209.014605
이형주/Common Platform Lab(SR)/삼성전자 [Thu, 8 Dec 2022 08:36:54 +0000 (17:36 +0900)]
Quick&Dirty patch to reduce icu searching overhead (#453)

* Quick&Dirty patch to reduce icu searching overhead

* Fix version to `build` to use build time icu first.

23 months agoAdd TAC installer accepted/tizen/unified/20221208.043843
j-h.choi [Tue, 15 Nov 2022 01:32:39 +0000 (10:32 +0900)]
Add TAC installer

Change-Id: I69d7e46bdc9483b637664ece11213a91c0a99d25

23 months agoAdd '--skip-ro-app' option in TC_TOOL
j-h.choi [Thu, 24 Nov 2022 01:20:42 +0000 (10:20 +0900)]
Add '--skip-ro-app' option in TC_TOOL

Change-Id: I41517444a497cbdc9ccb0d3412be20bc905d2969

23 months agoUpdate launcher version to 6.0.9 in spec
j-h.choi [Tue, 8 Nov 2022 00:49:30 +0000 (09:49 +0900)]
Update launcher version to 6.0.9 in spec

Change-Id: I5adafd6c51aef5946632848ce0d5e756f67d6e45

23 months agoRefactoring preloading (#452) accepted/tizen/unified/20221205.101746
이형주/Common Platform Lab(SR)/삼성전자 [Mon, 5 Dec 2022 03:40:54 +0000 (12:40 +0900)]
Refactoring preloading (#452)

* Separate thread-safe preload from others
* Add UIFW to dotnet/dotnet-nui launchers

23 months agoIntroduce preloadThread for launcher (#451)
이형주/Common Platform Lab(SR)/삼성전자 [Mon, 5 Dec 2022 00:09:07 +0000 (09:09 +0900)]
Introduce preloadThread for launcher (#451)

* Introduce preloadThread for launcher

23 months agoAdd ToUpper() ToLower() to preload logic
Hyungju Lee [Fri, 2 Dec 2022 05:40:28 +0000 (14:40 +0900)]
Add ToUpper() ToLower() to preload logic

23 months agoexit app if fail to open plugin library (#449)
조웅석/Common Platform Lab(SR)/삼성전자 [Fri, 2 Dec 2022 05:22:14 +0000 (14:22 +0900)]
exit app if fail to open plugin library (#449)

23 months agoFixed bug checking internet privilege for each app (#447)
최종헌/Common Platform Lab(SR)/삼성전자 [Mon, 28 Nov 2022 01:54:39 +0000 (10:54 +0900)]
Fixed bug checking internet privilege for each app (#447)

Change-Id: Id7491a7e5156a30583caa48db273ecdedf9f56af

2 years agoRemove temporal test code accepted/tizen/unified/20221103.165812
Woongsuk Cho [Wed, 19 Oct 2022 01:42:25 +0000 (10:42 +0900)]
Remove temporal test code

2 years agoApply smack when '._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6' file is created accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.062148 accepted/tizen/7.0/unified/hotfix/20221116.105305 accepted/tizen/unified/20221017.104849 tizen_7.0_m2_release
j-h.choi [Mon, 17 Oct 2022 02:11:27 +0000 (11:11 +0900)]
Apply smack when '._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6' file is created

Change-Id: I6b85a62d45c2261353a24420d95dd3c641efb25d

2 years agoExclude exe extension from target assembly accepted/tizen/unified/20221014.123806
Woongsuk Cho [Fri, 7 Oct 2022 03:13:27 +0000 (12:13 +0900)]
Exclude exe extension from target assembly

Recently installed apps at RPI4 include exe files which are not assemblies.
It occurs error while App AOTC. So, exclude exe extension from target assembly.

2 years agoChanged API to check internet privilege
j-h.choi [Thu, 13 Oct 2022 07:56:08 +0000 (16:56 +0900)]
Changed API to check internet privilege

Change-Id: I9952150b11e561e1d89b5d8ce4798fdcddb62e0d

2 years agoRemove language_change_cb on the loader accepted/tizen/unified/20220929.140032
Woongsuk Cho [Thu, 29 Sep 2022 02:18:26 +0000 (11:18 +0900)]
Remove language_change_cb on the loader

Appfw set CultureInfo from i18n when application launching
So, there is no need to restart candidate process when language changed.

Recreating candidate process can make launching failure becauseof timing issue.
(candidate process process killed -> app-launching request raised -> launchpad get sighchild)

To remove this kind timing issue, remove language changed callback

2 years agoFixed the segmentation fault in dotnettool (#437) accepted/tizen/unified/20220927.132406
최종헌/Common Platform Lab(SR)/삼성전자 [Mon, 26 Sep 2022 07:28:49 +0000 (16:28 +0900)]
Fixed the segmentation fault in dotnettool (#437)

Change-Id: I9fff49ed5d130483f46ebeed4603ef076619f885

2 years agoCheck the existence of the original(.dll) file to use the --ni-reset-system option...
최종헌/Common Platform Lab(SR)/삼성전자 [Thu, 22 Sep 2022 06:26:47 +0000 (15:26 +0900)]
Check the existence of the original(.dll) file to use the --ni-reset-system option (#436)

Change-Id: I0b8d79b399729018408b02847ced5b5b1a8849b2

2 years agoAdd limitation for -rm-origin-after-ni (#435) accepted/tizen/unified/20220923.052701
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 21 Sep 2022 02:25:06 +0000 (11:25 +0900)]
Add limitation for -rm-origin-after-ni (#435)

After upgrading platform, native image files for app should be regenerated.
In that case, original assembly is needed.
So, prohibits the use of "--rm-origin-after-ni" option in app related options.
(--ni-pkg, --ni-regen-all-app, --tac-regen-all)

2 years agoAdd --rm-origin-after-ni option accepted/tizen/unified/20220920.160600
Woongsuk Cho [Thu, 3 Feb 2022 05:09:41 +0000 (14:09 +0900)]
Add --rm-origin-after-ni option

Add option to remove original dll after creating native image for reducing storage consumption.
This option doesnot work with --ni-pkg option because app can be re-compiled.

2 years agoFix dll filter in doAOTList (#433) accepted/tizen/unified/20220920.050137
이형주/Common Platform Lab(SR)/삼성전자 [Thu, 15 Sep 2022 04:54:47 +0000 (13:54 +0900)]
Fix dll filter in doAOTList (#433)

2 years agoModify log for profile data
j-h.choi [Wed, 31 Aug 2022 23:16:53 +0000 (08:16 +0900)]
Modify log for profile data

Change-Id: I498b7ce75a9e262b658303c2aee7e54815da7eca

2 years agoAdd log for profile data when the app runs
j-h.choi [Tue, 30 Aug 2022 23:28:58 +0000 (08:28 +0900)]
Add log for profile data when the app runs

Change-Id: Id3f6eb5559ea5c6da4efecc43315df8f1897a296

2 years agoFixed TAC_TC
j-h.choi [Fri, 26 Aug 2022 02:07:07 +0000 (11:07 +0900)]
Fixed TAC_TC

Change-Id: Id626c06a649c7903559cf8bbf43a8248f8bd148f

2 years agoAdd log when profile data is successfully loaded in candidate process
j-h.choi [Tue, 30 Aug 2022 09:31:39 +0000 (18:31 +0900)]
Add log when profile data is successfully loaded in candidate process

Change-Id: Ibceb2b5f8fb7dd0aa8b31b79759f22b98dbbb4f8

2 years agoChange the published value of metadata accepted/tizen/unified/20220826.060837 submit/tizen/20220826.015422
j-h.choi [Fri, 26 Aug 2022 01:42:25 +0000 (10:42 +0900)]
Change the published value of metadata

Change-Id: Ie0a17da992a647afa642c7a6c0b58c708c8d1010

2 years agoFixed build warning submit/tizen/20220825.083931
j-h.choi [Thu, 11 Aug 2022 05:52:04 +0000 (14:52 +0900)]
Fixed build warning

Change-Id: Iafff976b1ad4fa3556260f0709058a7fe573ffeb

2 years ago[WIP] Profile data generation tools to use in candidate process
j-h.choi [Mon, 25 Jul 2022 04:35:50 +0000 (13:35 +0900)]
[WIP] Profile data generation tools to use in candidate process

Change-Id: If92eaf2089233d65e137cd8c8b8c59f120541de1

2 years agoAdd the option to check Internet privilege in dotnettool for the FOTA
j-h.choi [Tue, 14 Jun 2022 07:13:45 +0000 (16:13 +0900)]
Add the option to check Internet privilege in dotnettool for the FOTA

Change-Id: I74604e5145519db06f8a0b6f8bd57ba69707c190

2 years agoAdd NCDB startup hook support.
Mikhail Kurinnoi [Fri, 29 Jul 2022 15:30:26 +0000 (18:30 +0300)]
Add NCDB startup hook support.

2 years agoUpgrade the nuget(Newtonsoft.Json) version of TC (#422)
최종헌/Common Platform Lab(SR)/삼성전자 [Tue, 19 Jul 2022 23:53:03 +0000 (08:53 +0900)]
Upgrade the nuget(Newtonsoft.Json) version of TC (#422)

Change-Id: I9234a89f05489a771f3ea50242d750e71d652951

2 years ago[WIP] Set the MCJ in the candidate process
j-h.choi [Sun, 8 May 2022 23:41:35 +0000 (08:41 +0900)]
[WIP] Set the MCJ in the candidate process

Change-Id: I95438e3a8ee4a4bbe5e538dc5add317d543a26f0

2 years agolink profile_common library to apptype_plugin (#421)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 6 Jul 2022 21:39:17 +0000 (06:39 +0900)]
link profile_common library to apptype_plugin (#421)

To avoid symbol lookup error, link libprofile_common.so to libapptype_plugin.so

2 years agoSeparate the code related to the profile data into a profile_common file
j-h.choi [Tue, 14 Jun 2022 06:54:12 +0000 (15:54 +0900)]
Separate the code related to the profile data into a profile_common file

Change-Id: I6c62e7a26f502651333458473202b6d438f46261

2 years agoChange --ni-dir option operation
Woongsuk Cho [Wed, 29 Jun 2022 05:36:17 +0000 (14:36 +0900)]
Change --ni-dir option operation

if the --inputbubble option and --ni-dir option used together, all input directories must be processed as one bubble.
For this requirements, change implementation of --ni-dir option.

2 years agoRenew InputBubble Option (#416)
조웅석/Common Platform Lab(SR)/삼성전자 [Tue, 28 Jun 2022 00:01:54 +0000 (09:01 +0900)]
Renew InputBubble Option (#416)

When the native image compiled with the --inputbubble option is executed, all assemblies included in the same bubble must be compiled too.
Previous --ni-dll or --no-pipeline option can lead misusage of --inputbubble option.
For example, if the below command are executed, system libraries are compiled one by one.

$ dotnettool --inputbubble --no-pipeline --ni-dir /usr/share/dotnet.tizen/netcoreapp

In this case, a problem may occur because crossgen2 is executed with compiled native images with --inputbubble and the non-compiled assemblies

In order to prevent errors caused by such misuse, the following modifications were made.
1. When using no-pipeline mode, it was temporarily created as ni.dll.tmp and then changed to ni.dll in the last step of dotnettool.
2. if --inputbubbleref option is not set, only input file(s) of dotnettool is added to bubble

Additionally, for fine tunning, --ref and --inputbubbleref option get file path(s) ot directory path(s)

2 years agoChange update size for PBA (#419)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 22 Jun 2022 10:34:57 +0000 (19:34 +0900)]
Change update size for PBA (#419)

When using PBA, file size was used to calculate next base address of assembly.
However, there is a problem that the file size is smaller than the image size loaded in the actual memory.
when native image files are loaded in the memory area, some native image files cannot be loaded where desired because of area overlapping.

So, get size of image from OptionalHeader, and use that value for updating next base address.

2 years agoAvoid calling storage API
Woongsuk Cho [Wed, 4 May 2022 01:41:04 +0000 (10:41 +0900)]
Avoid calling storage API

The storage API is used to get direcoty of SpecialFolder
In special case (like target booting up time), some delay can occur inside the API.

So, to avoid that kind of delay, set SpecialFolder with environment variable if that is set.

2 years agoChange the optimization options for crossgen2 (#409)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 25 May 2022 21:36:03 +0000 (06:36 +0900)]
Change the optimization options for crossgen2 (#409)

Change-Id: Ic9588655352bc3e439e5432455e4a433d5c0ec19

2 years agoSet base address at native image (#400) accepted/tizen/unified/20220501.223640 submit/tizen/20220429.002649
조웅석/Common Platform Lab(SR)/삼성전자 [Fri, 29 Apr 2022 00:37:07 +0000 (09:37 +0900)]
Set base address at native image (#400)

--imagebase option is added to set base address at native imaage to avoid relocatoin.

Note! this feature is enabled --no-pipeline mode only

2 years agoSet collect delay when profile data does not exist
Woongsuk Cho [Tue, 26 Apr 2022 00:17:52 +0000 (09:17 +0900)]
Set collect delay when profile data does not exist

2 years agoAdd assembly to preload list in candidate process
j-h.choi [Wed, 20 Apr 2022 01:29:32 +0000 (10:29 +0900)]
Add assembly to preload list in candidate process

Change-Id: I7274a7cea59e208c66c02ea8761faec78e6223e2

2 years agoAdd additional environment for invariant mode
Woongsuk Cho [Tue, 19 Apr 2022 23:40:16 +0000 (08:40 +0900)]
Add additional environment for invariant mode

.NET 6 contains breaking change related to globalization invariant mode.
(https://docs.microsoft.com/en-us/dotnet/core/compatibility/globalization/6.0/culture-creation-invariant-mode)
For backward compatibility, add an additional environment variable to avoid breaking changes
- DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY=false

2 years agoFix mibc option for crossgen2 (#401)
이형주/Common Platform Lab(SR)/삼성전자 [Tue, 19 Apr 2022 22:52:20 +0000 (07:52 +0900)]
Fix mibc option for crossgen2 (#401)

`--ibc-dir $(directory path)` to `--mibc $(file path)`

Co-authored-by: 조웅석/Common Platform Lab(SR)/삼성전자 <ws77.cho@samsung.com>
2 years agoAdd --skip-ro-app option
Woongsuk Cho [Tue, 29 Mar 2022 22:34:50 +0000 (07:34 +0900)]
Add --skip-ro-app option

The "--ni-regen-all-app" option performs AOTC again for all installed apps.
If the "--ni-regen-all-app" option is performed after FOTA (OTN),
an error may occur or unnecessary AOTC may be performed by running AOTC for an app installed in the RO area.

To avoid this situation, the "--skip-ro-app" option is added.
If this option is set, native image regenration for apps installed in the RO area is skipped.

Note! this option works with "--ni-regen-all-app" option only.

2 years agoAdd `metadata-profile.xml`
Hyungju Lee [Tue, 12 Apr 2022 06:53:47 +0000 (15:53 +0900)]
Add `metadata-profile.xml`

2 years agoAdd the NI_FLAGS_EXTRA_REF flag used to create ni for app_pkg (#393) accepted/tizen/unified/20220318.132742 submit/tizen/20220318.045134
최종헌/Common Platform Lab(SR)/삼성전자 [Fri, 18 Mar 2022 04:37:57 +0000 (13:37 +0900)]
Add the NI_FLAGS_EXTRA_REF flag used to create ni for app_pkg (#393)

Change-Id: Iab85217a9a97341a99c5e2e6f6521648ddade074

2 years agoBug-fix: fix path for pdb file copying (#392)
조웅석/Common Platform Lab(SR)/삼성전자 [Mon, 7 Mar 2022 23:51:15 +0000 (08:51 +0900)]
Bug-fix: fix path for pdb file copying (#392)

2 years agoRemove ICULoadDisable support from platform image. (#391) accepted/tizen/unified/20220224.125720 submit/tizen/20220224.033231
이형주/Common Platform Lab(SR)/삼성전자 [Thu, 24 Feb 2022 03:31:35 +0000 (12:31 +0900)]
Remove ICULoadDisable support from platform image. (#391)

2 years agoFix app ni path for readonly app (#389) accepted/tizen/unified/20220223.132451 submit/tizen/20220223.002542
이형주/Common Platform Lab(SR)/삼성전자 [Wed, 23 Feb 2022 00:21:35 +0000 (09:21 +0900)]
Fix app ni path for readonly app (#389)

There was a bug in setting the app ni path when RO installed app was updated.
To fix this bug, check root path whether read-only area or not.

Co-authored-by: Woongsuk Cho <ws77.cho@samsung.com>
2 years agoCheck the SPC before creating a native image for the app accepted/tizen/unified/20220222.034344 submit/tizen/20220222.013136
j-h.choi [Mon, 21 Feb 2022 05:19:17 +0000 (14:19 +0900)]
Check the SPC before creating a native image for the app

Change-Id: I14ac5775cb5b58df00fec96134d6c3f75474d3fc

2 years agoApply ICULoadDisable option (#386)
이형주/Common Platform Lab(SR)/삼성전자 [Fri, 18 Feb 2022 02:24:17 +0000 (11:24 +0900)]
Apply ICULoadDisable option (#386)

Apply ICULoadDisable option for apps that run during cold boot

Co-authored-by: 김종민/S/W Platform Lab(VD)/Engineer/삼성전자 <jong-min.kim@samsung.com>
2 years agoprint HW clock log (#385)
이형주/Common Platform Lab(SR)/삼성전자 [Fri, 18 Feb 2022 02:23:35 +0000 (11:23 +0900)]
print HW clock log (#385)

2 years agoForked process in pipeline state can be terminated while crossgen2 is running
j-h.choi [Tue, 15 Feb 2022 04:32:56 +0000 (13:32 +0900)]
Forked process in pipeline state can be terminated while crossgen2 is running

Change-Id: Ib3a1851a7f43fedd270519c6389482c6ca9568a5

2 years agoFix app's native image existence checking code. (#376)
Woongsuk Cho [Wed, 9 Feb 2022 05:38:17 +0000 (14:38 +0900)]
Fix app's native image existence checking code. (#376)

The directory ".native_image" was not considered for app's native image existence cheching.

2 years agoRemove code that create SPC NI first (#373)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:37:26 +0000 (14:37 +0900)]
Remove code that create SPC NI first (#373)

* Add isR2RImage insteadof ildasm

Use internal API to reduce unnecessary fork

* Remove code that create SPC NI first.

crossgen2 can do AOTC without SPC native image.
So, remove unnecessary code.

2 years agoinputbubbleref option should be used with inputbubble option (#377)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:17:20 +0000 (14:17 +0900)]
inputbubbleref option should be used with inputbubble option (#377)

Change-Id: I4bb3a5063b8dcbfbd06ce3fbc3ae333aac9e13d3

2 years agoUpdate fota script for MCJ/BTP (#380)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:16:48 +0000 (14:16 +0900)]
Update fota script for MCJ/BTP (#380)

After update fota, app's profile data should be removed.

2 years ago[TC Fix/Add] dotnettool option(inputbubble, inputbubbleref, ref, print-cmd, no-pipeli...
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:16:36 +0000 (14:16 +0900)]
[TC Fix/Add] dotnettool option(inputbubble, inputbubbleref, ref, print-cmd, no-pipeline) test in TOOL (#378)

Change-Id: I8c8d1305ecbc96ec19bc5e1f47e11806b2526afb

2 years ago[TC Fixed] Even without SPC.ni.dll, the application generates native image (#379)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:12:43 +0000 (14:12 +0900)]
[TC Fixed] Even without SPC.ni.dll, the application generates native image (#379)

Change-Id: I062ac6e2c57a7fc9faf45c3bc8e1315e377f9e7e

2 years agoRemove lchmod related code (#375)
조웅석/Common Platform Lab(SR)/삼성전자 [Tue, 8 Feb 2022 00:23:29 +0000 (09:23 +0900)]
Remove lchmod related code (#375)

In the linux system, permission of symlink file is meaningless.
(Also, lchmod alwasy returns -1 because it is not implemented.)

To remove unnecessary error message while installing application,
remove lchmod related code.

2 years agoAdd code to close open file stream (#374)
최종헌/Common Platform Lab(SR)/삼성전자 [Tue, 8 Feb 2022 00:23:10 +0000 (09:23 +0900)]
Add code to close open file stream (#374)

Change-Id: Ibd6ecd18c5d6ec44211aa69914e93f43699fc1fd

2 years agoEnable MCJ & BTJ by loader script accepted/tizen/unified/20220125.121609 submit/tizen/20220125.041334
Woongsuk Cho [Tue, 25 Jan 2022 00:47:37 +0000 (09:47 +0900)]
Enable MCJ & BTJ by loader script

2 years agoAdd new 'symbolicate' commands to dotnet-stack of diagnostics accepted/tizen/unified/20220124.231147 submit/tizen/20220124.030110 submit/tizen/20220125.041004
j-h.choi [Thu, 26 Aug 2021 03:46:10 +0000 (12:46 +0900)]
Add new 'symbolicate' commands to dotnet-stack of diagnostics

Change-Id: Ibc1ee9dae02eb7b1321e6970516285dd5ca5300d

2 years agoAdd switch to disable IPv6
Woongsuk Cho [Tue, 18 Jan 2022 04:37:01 +0000 (13:37 +0900)]
Add switch to disable IPv6

Due to DualMode, smack deny occurs as ipv4 mapped address is used
for communication between daemon and apps using localhost if internet privilege doesnot exist.

In order to handle the ipv4 mapped loopback in smack, it is necessary to modify the kernel side,
but we cannot know when the patch will be applied.
Also, it is not possible to disable all IPv6 for just solving this issue.

So, set switch to disable ipv6 only when there is no internet privilege.
If there is internet privilege, all works normally in dual mode,
And if there is no internet privilege, ipv6 will be diabled so that local communication can be same as before.

2 years ago[TC Added] dotnettool option(--inputbubble, --print-cmd) test in TOOL
j-h.choi [Mon, 17 Jan 2022 06:38:49 +0000 (15:38 +0900)]
[TC Added] dotnettool option(--inputbubble, --print-cmd) test in TOOL

Change-Id: I2e5b9ac79bae205b5fd430677d4c42b021d61a25

2 years agoUpdate Unit TC for support crossgen2
Woongsuk Cho [Fri, 14 Jan 2022 05:14:35 +0000 (14:14 +0900)]
Update Unit TC for support crossgen2

2 years agoAvoid OOM while compiling system libraries
Woongsuk Cho [Fri, 14 Jan 2022 05:05:17 +0000 (14:05 +0900)]
Avoid OOM while compiling system libraries

If run AOTC the system library at once, it will be terminated by the OOM killer.
To avoid this, run AOTC separately (netcoreapp and framework).

2 years agoModify 10.Dotnet.Launcher.preload file
j-h.choi [Tue, 11 Jan 2022 08:13:48 +0000 (17:13 +0900)]
Modify 10.Dotnet.Launcher.preload file

Change-Id: I6c7a3d8b1789547a3231e4f97d8249f7dd8695eb

2 years agoDisable IPv6 to solve DualMode issue accepted/tizen/unified/20220112.043624 submit/tizen/20220112.042018
Woongsuk Cho [Wed, 12 Jan 2022 04:10:50 +0000 (13:10 +0900)]
Disable IPv6 to solve DualMode issue

Due to Socket DualMode, IPv4 is converted to IPv6 socket.
So, smack deny error occurs when accessing to localhost during TCT.
It is a temporary patch that will be used until the IPv6 smack problem is fixed .

2 years agoRemove unused old ibcdata (#361) accepted/tizen/unified/20220110.054933 accepted/tizen/unified/20220111.023738 submit/tizen/20220110.045001 submit/tizen/20220111.022648
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Thu, 6 Jan 2022 07:39:21 +0000 (16:39 +0900)]
Remove unused old ibcdata (#361)

Change-Id: I563bd1ade521dfb1ee6fb3d6befdac0a6130a85f

2 years agoAdd null check to solve svace issue (#362)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Jan 2022 07:37:59 +0000 (16:37 +0900)]
Add null check to solve svace issue (#362)

2 years agoAdd environment for mic_crossgen2 (#360)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Thu, 6 Jan 2022 00:51:04 +0000 (09:51 +0900)]
Add environment for mic_crossgen2 (#360)

Change-Id: I996125b985c3a1383fd3c39eded96729eed9db91

2 years agoAdd plugin API for setting extra dll path (#353)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Jan 2022 04:32:46 +0000 (13:32 +0900)]
Add plugin API for setting extra dll path (#353)

There is a requirement to add a searching path for a specific app.
For this requirement, a new plugin API is added to get the extra searching path.

2 years agoAdd options to support crossgen2 (#351)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Jan 2022 04:30:06 +0000 (13:30 +0900)]
Add options to support crossgen2 (#351)

* remove code and options for crossgen1

* clean-up code related to pre-generating native image of System.Private.CoreLib.dll

* use NIOption structure to pass option instead of flags

* support --mibc option

* add --print-cmd option

* add --ref to set reference path

* update TC for crossgen2

* check directory existance

* check dll existance for platform assembly path

* add null check for NIOption

* Create SPC native image preferentially

* Fixed option parsing of dotnettool

Resolve option parshing error by using strncmp() function.

2 years agoFixed build error (#359)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Mon, 3 Jan 2022 03:33:52 +0000 (12:33 +0900)]
Fixed build error (#359)

Change-Id: I3b4fc97e57e2c20436e5866f3188b2c241d4eb72

2 years agoFix build error in r2r_checker on 64 bit (#358)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Tue, 28 Dec 2021 03:14:31 +0000 (12:14 +0900)]
Fix build error in r2r_checker on 64 bit (#358)

BIT64(for coreclr 3.1.3) and HOST_64BIT(for .NET6) should be defined for ULONG_PTR on 64 bit.

2 years agochange dll/so searching path for app (#356)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Mon, 27 Dec 2021 08:19:11 +0000 (17:19 +0900)]
change dll/so searching path for app (#356)

Change the path "/proc/self/fd/bin" used to find dll/so for the candidate process to "/proc/[pid]/fd/bin"
When debugging, the library loaded in the location of "/proc/self/fd/bin" cannot be accessed by the debugger, so symbol loading fails.
To avoid this failure, change finding path to "/proc/[pid]/fd/bin".

2 years agoFixed build error in r2r_checker (#357)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Mon, 27 Dec 2021 08:13:25 +0000 (17:13 +0900)]
Fixed build error in r2r_checker (#357)

Change-Id: Ib79facf6ff87e8c6edc17d1acc300c1775236bb7

2 years agoAdd r2r checker (#355)
정동헌/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 16 Dec 2021 01:03:42 +0000 (10:03 +0900)]
Add r2r checker (#355)

* Add r2r checker

Implement a function to Identify a file is R2R image or not.
```isR2RImage(std::stringfileName)```

* Add missed endian conversion

* Add some error print codes

* Update error logs and a function name

* Update checked based on CLR headers

Co-authored-by: Dong-Heon Jung <clamp03@gmail.com>
2 years agoAdd chmod to change the permission of the file
j-h.choi [Tue, 26 Oct 2021 06:57:10 +0000 (15:57 +0900)]
Add chmod to change the permission of the file

Change-Id: I56efe62379496138d2d197d24e8b061f8ea2f91a

3 years agouse corerun for crossgen2
Woongsuk Cho [Wed, 6 Oct 2021 05:48:28 +0000 (14:48 +0900)]
use corerun for crossgen2

3 years agoModified to support crossgen2 (#330)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 9 Sep 2021 06:34:53 +0000 (15:34 +0900)]
Modified to support crossgen2 (#330)

* support crossgen2

add --crossgen2 and --inputbubble option
By vconf setting, crossgen2 can be used from prefer_dotnet_aot_plugin.

* support crossgen2

add --crossgen2 and --inputbubble option
By vconf setting, crossgen2 can be used from prefer_dotnet_aot_plugin.

3 years ago Disable config cache to set environment (#350)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Tue, 7 Sep 2021 10:16:20 +0000 (19:16 +0900)]
 Disable config cache to set environment (#350)

To set environment after coreclr_initialize, disable config cache

3 years agoAdd SetSwitch API to Tizen.Runtime
Woongsuk Cho [Mon, 6 Sep 2021 00:47:49 +0000 (09:47 +0900)]
Add SetSwitch API to Tizen.Runtime

MS decided not to show ILOffset info as default in exception info.
To enable that feature, "Switch.System.Diagnostics.StackTrace.ShowILOffsets" switch should be set true.

An internal API for setting app context switch in dotnet-launcher has been added.
And, "Switch.System.Diagnostics.StackTrace.ShowILOffsets" is enabled defaultly.

3 years agoremove app profile data when app is updated
Woongsuk Cho [Thu, 19 Aug 2021 03:59:36 +0000 (12:59 +0900)]
remove app profile data when app is updated

- change implementation to remove profile data for all UIDs
- remove app profile data when app is updated
- add "--rm-all-app-profile" option to dotnettool
- change plugin name from delete_unsed_library_plugin to dotnet_apptype_plugin

3 years agoAdd a function to stop profiling after period
Woongsuk Cho [Thu, 12 Aug 2021 01:01:16 +0000 (10:01 +0900)]
Add a function to stop profiling after period

CLR environment "MultiCoreJitProfileWriteDelay" doesnot work on Linux.

In some specific cases, application is terminated without calling coreclr_shutdown() function.
As a result, MCJ profiling data is not written.
Added a function to generate profiling data after delay so that MCJ can be used even in this case.

It works by adding delay to the environment variable as follows:
 - CLR_MCJ_PROFILE_WRITE_DELAY={delay}
(The unit of delay is second)

If you want to stop profiling after 10 seconds, add environment variable like below:
 - CLR_MCJ_PROFILE_WRITE_DELAY=10

3 years agoFix build warning. Replace strncpy with memcpy
j-h.choi [Mon, 5 Jul 2021 04:26:23 +0000 (13:26 +0900)]
Fix build warning. Replace strncpy with memcpy

Change-Id: Ic9f239132fd1a2793176cd85ba00b8c553bd056a

3 years agoSkip app ni regeneration if app ni already exist (#344) submit/tizen/20210723.041054
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Fri, 23 Jul 2021 04:08:27 +0000 (13:08 +0900)]
Skip app ni regeneration if app ni already exist (#344)

To avoid multiple NI file generation for --ni-pkg, skip app ni regeneration if app ni already exist