Re: [swift-users] Swift 4.0 bug in concurrent array access

2018-01-08 Thread Fadi Botros‬via swift-users
What about double checking?


Something like that
if counter != 0 { throw exc }
counter += 1if counter != 1 { throw exc }counter += 1

I think the performance penalty is just a check and an increment
It could be disabled after optimization or in release version to increase 
performance

  من: Greg Parker 
 إلى: Chris Lattner  
نسخة كربونية: Jordan Rose ; swift-users 
; ‫Fadi Botros‬ ‫ 
 تاريخ الإرسال: الثلاثاء 9 يناير، 2018‏ 3:47 ص
 الموضوع: Re: [swift-users] بخصوص: Swift 4.0 bug in concurrent array access
  


On Jan 8, 2018, at 5:20 PM, Chris Lattner  wrote:

On Jan 8, 2018, at 2:59 PM, Greg Parker via swift-users  
wrote:

On Jan 8, 2018, at 12:51 PM, Jordan Rose via swift-users 
 wrote:

On Jan 8, 2018, at 11:47, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
1st: How to invoke the thread sanitizer?

Check out this article on developer.apple.com: 
https://developer.apple.com/documentation/code_diagnostics/thread_sanitizer/enabling_the_thread_sanitizer

2nd: I think making something like ConcurrentModificationException of Java 
should be a little better experience (if it will not make, or make a small 
performance penalty, also if it makes performance penalty, it would be 
activated only when you make a debug version or non-optimized version)


I don't exactly disagree, but my understanding is that the work to do such a 
thing is nearly equivalent to having thread sanitizer on all the time. But 
maybe there's a simpler model that we could still turn on in debug builds. Can 
you file a bug report requesting this now that bugs.swift.org is back up?

Something like ConcurrentModificationException ought to be cheaper than the 
thread sanitizer. The thread sanitizer works hard to detect every concurrency 
error. ConcurrentModificationException typically does something simple and 
cheap that catches errors sometimes but makes no attempt to be exhaustive.
Objective-C's fast enumeration protocol includes a mechanism like this. The 
collection can have a simple mutation counter, and the enumerator captures the 
counter's value at the start and checks that the value is unchanged as the 
enumeration proceeds.

Does ObjC synchronize the mutation counter?  My understanding is that that 
counter was used to detect mutation while iteration on a single thread, not 
across threads.

The mutation counter is not synchronized; this is safe for correct code. An 
un-synchronized counter can still sometimes catch mutations from other threads.

-- Greg Parker     gpar...@apple.com     Runtime Wrangler



   

   ___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


[swift-users] Swift 4.0 bug in concurrent array access

2018-01-08 Thread Fadi Botros‬via swift-users
I'm on macOS Sierra 10.12.6, and using Swift 4.0Tried to access the array 
concurrently to see whether is it synchronized or no
import Foundation let global = DispatchQueue.global() var array: [Int] = [ - 
Pastebin.com

  
|  
|   
|   
|   ||

   |

  |
|  
|   |  
import Foundation let global = DispatchQueue.global() var array: [Int...
   |   |

  |

  |

 
When tried to run it using the terminalThis crash happened
swift(69836,0x72dc2000) malloc: *** error for object 0x7ffe4be237e0: 
pointer - Pastebin.com
  
|  
|   
|   
|   ||

   |

  |
|  
|   |  
swift(69836,0x72dc2000) malloc: *** error for object 0x7ffe4be237e0: po...
   |   |

  |

  |

 
Avoided this crash using Serial Dispatch Queue
let otherDispatch = DispatchQueue(label: "another.dispatch.com",
  qos: .default)
func appending(_ i: Int) {
  otherDispatch.sync { array.append(i) }
}



Also tried to file this issue on bugs.swift.org, and it appears your site is 
down (under maintainence)
Sorry
___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


[swift-users] بخصوص: About Swift Package Manager and LLDB

2017-11-07 Thread Fadi Botros‬via swift-users
Some information may be leading to resolve of this problem
I think "ld" tool does a lot of the trick
Notice the difference between the results of the two compilations (Xcode and 
SPM):
Kitura example via Xcode, when invoked "target modules list" on lldb
Gets this[ 0] 788D7481-3E7E-3B4D-805E-A18937409552 0x0001 
/Users/mac/Documen - Pastebin.com
  
|  
|   
|   
|   ||

   |

  |
|  
|   |  
[ 0] 788D7481-3E7E-3B4D-805E-A18937409552 0x0001 /Users/mac/Do...
   |   |

  |

  |

 
 When invoked on the compiled via SPM it results in :[ 0] 
ED5DAA33-8E50-3EE9-8487-1C5931520130 0x0001 /Users/mac/Documen - 
Pastebin.com
  
|  
|   
|   
|   ||

   |

  |
|  
|   |  
[ 0] ED5DAA33-8E50-3EE9-8487-1C5931520130 0x0001 /Users/mac/Do...
   |   |

  |

  |

 


It seems the modules are compiled and linked SEPARATELY in Xcode, and this 
succeed in debuggingBut in SPM, all are compiled as one module (it may have 
submodules)
I think if you provide something compiles to dynamic link libraries on Linux 
(and SPM in general) like frameworks on macOS, it will solve the problem


  
|  
|   
|   
|   ||

   |

  |
|  
|   |  
Pastebin.com - #1 paste tool since 2002!
 Pastebin.com is the number one paste tool since 2002. Pastebin is a website 
where you can store text online for ...  |   |

  |

  |

 



  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الثلاثاء 7 نوفمبر، 2017‏ 2:29 ص
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
   
It does look like this is a known bug (not yet fixed) in SPM:
https://bugs.swift.org/browse/SR-3280
The bug isn’t fixed yet (apparently it’s blocked on a swift compiler issue.)  
There’s a workaround in that report, though I don’t know how viable it is.  
Anyway, you can track that bug to see when this gets fixed.
Jim

On Nov 6, 2017, at 3:45 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:

I don't think Perfect has problems because it debugs perfectly on XcodeKitura 
may have some flaws because on Xcode also causes some issues BUT YOU STILL CAN 
GET FRAME, ETC.. WHILE NOT HAVING THOSE IN SPM
The problem is in SPMJust make the SPM build Swift Packages like Xcode (or 
equivalent)
  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الثلاثاء 7 نوفمبر، 2017‏ 1:39 ص
 الموضوع: Re: بخصوص: بخصوص: [swift-users] About Swift Package Manager and LLDB
  
It isn’t quite as mysterious as that.  lldb emulates the context of the frame 
you are stopped in when you run “frame variable” or “expression”.  It looks 
like PerfectTemplate doesn’t have a problem, and doesn’t rely on modules that 
we can’t reconstruct.  But some of the other modules do have problems.  For 
instance, if I let the program come up, interrupt it and switch to a frame in 
the PerfectHTTPServer, then I see:
(lldb) expr let $mystr = "Some string"error: in auto-import:failed to get 
module 'PerfectHTTPServer' from AST context:error: missing required modules: 
'PerfectCHTTPParser', 'PerfectCZlib'

But that’s not the only one with problems, and I’m still not getting any useful 
error messages back from swift.  I’ll have to dig into this more.
Jim



On Nov 6, 2017, at 2:38 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
WEIRD WEIRD WEIRDIt seems it is threading issueBecause when I tried to 
breakpoint on line 71 file main.swift (like you did)It worked perfectlyI even 
could "frame variable" fully
It seems that perfect framework when handle an HTTP request, it makes something 
in threads, I don't know how to debug it
Try to debug on line 31 then invoke an HTTP request on localhost:8181, you will 
reproduce the error

But it works when I use xcode (Again this is irreleveant, this is not the 
solution)


  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الثلاثاء 7 نوفمبر، 2017‏ 12:21 ص
 الموضوع: Re: بخصوص: [swift-users] About Swift Package Manager and LLDB
  
This works for me (with Xcode 9.0):
 > git clone https://github.com/PerfectlySoft/PerfectTemplate.git PTCloning 
into 'PT'...remote: Counting objects: 214, done.remote: Total 214 (delta 0), 
reused 0 (delta 0), pack-reused 214Receiving objects: 100% (214/214), 48.65 KiB 
| 0 bytes/s, done.Resolving deltas: 100% (110/110), done. > cd PT > swift 
build > cd .build/debug > lldb PerfectTemplate(lldb) target 
create "PerfectTemplate"Current executable set to 'PerfectTemplate' 
(x86_64).(lldb) b s -l 71Breakpoint 1: where = PerfectTemplate`main + 2627 at 
main.swift:71, address = 0x000100436c33(lldb) runProcess 26948 launched: 

Re: [swift-users] About Swift Package Manager and LLDB

2017-11-06 Thread Fadi Botros‬via swift-users

I don't think Perfect has problems because it debugs perfectly on XcodeKitura 
may have some flaws because on Xcode also causes some issues BUT YOU STILL CAN 
GET FRAME, ETC.. WHILE NOT HAVING THOSE IN SPM
The problem is in SPMJust make the SPM build Swift Packages like Xcode (or 
equivalent)
  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الثلاثاء 7 نوفمبر، 2017‏ 1:39 ص
 الموضوع: Re: بخصوص: بخصوص: [swift-users] About Swift Package Manager and LLDB
   
It isn’t quite as mysterious as that.  lldb emulates the context of the frame 
you are stopped in when you run “frame variable” or “expression”.  It looks 
like PerfectTemplate doesn’t have a problem, and doesn’t rely on modules that 
we can’t reconstruct.  But some of the other modules do have problems.  For 
instance, if I let the program come up, interrupt it and switch to a frame in 
the PerfectHTTPServer, then I see:
(lldb) expr let $mystr = "Some string"error: in auto-import:failed to get 
module 'PerfectHTTPServer' from AST context:error: missing required modules: 
'PerfectCHTTPParser', 'PerfectCZlib'

But that’s not the only one with problems, and I’m still not getting any useful 
error messages back from swift.  I’ll have to dig into this more.
Jim



On Nov 6, 2017, at 2:38 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
WEIRD WEIRD WEIRDIt seems it is threading issueBecause when I tried to 
breakpoint on line 71 file main.swift (like you did)It worked perfectlyI even 
could "frame variable" fully
It seems that perfect framework when handle an HTTP request, it makes something 
in threads, I don't know how to debug it
Try to debug on line 31 then invoke an HTTP request on localhost:8181, you will 
reproduce the error

But it works when I use xcode (Again this is irreleveant, this is not the 
solution)


  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الثلاثاء 7 نوفمبر، 2017‏ 12:21 ص
 الموضوع: Re: بخصوص: [swift-users] About Swift Package Manager and LLDB
  
This works for me (with Xcode 9.0):
 > git clone https://github.com/PerfectlySoft/PerfectTemplate.git PTCloning 
into 'PT'...remote: Counting objects: 214, done.remote: Total 214 (delta 0), 
reused 0 (delta 0), pack-reused 214Receiving objects: 100% (214/214), 48.65 KiB 
| 0 bytes/s, done.Resolving deltas: 100% (110/110), done. > cd PT > swift 
build > cd .build/debug > lldb PerfectTemplate(lldb) target 
create "PerfectTemplate"Current executable set to 'PerfectTemplate' 
(x86_64).(lldb) b s -l 71Breakpoint 1: where = PerfectTemplate`main + 2627 at 
main.swift:71, address = 0x000100436c33(lldb) runProcess 26948 launched: 
'/private/tmp/PT/.build/x86_64-apple-macosx10.10/debug/PerfectTemplate' 
(x86_64)Process 26948 stopped* thread #1, queue = 'com.apple.main-thread', stop 
reason = breakpoint 1.1    frame #0: 0x000100436c33 PerfectTemplate`main at 
main.swift:71   68      69   do {   70   // Launch the servers based on the 
configuration data.-> 71   try HTTPServer.launch(configurationData: confData)   
      ^   72   } catch {   73   fatalError("\(error)") // fatal error launching 
one of the servers   74   }Target 0: (PerfectTemplate) stopped.(lldb) expr 
confData.count(Int) $R1 = 1
Do the same steps not work for you?  If you were doing something different can 
you describe the steps you took?
Jim

On Nov 6, 2017, at 2:10 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
Also please notedI think it is a SPM issue not an LLDB oneBecause when compiled 
on the same mac with Xcode (Swift package manager generate Xcode project), then 
use xcode-buildLLDB works perfectly in this circumstances
I think you should refine the compilation script generated by SPM to generate 
something like Xcode results (I think Xcode itself uses normal Swift toolchain, 
I think it does nothing here more than generating a better compilation/linking 
script)


  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 11:45 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
Swift doesn’t seem to be reporting whatever the error is, I just see:
((SwiftASTContext*)0x7f8c555c84a0)->GetModule('PerfectTemplate') -- failed with 
no error

That’s not very helpful.  Again, I’ll probably need to make this happen locally 
to see what went wrong.  If you have a project that shows the issue which you 
can make available, please file a bug with a description of how you build and 
debug this app, I’ll take a look.
Jim


On Nov 6, 2017, at 12:56 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
OKHere is 

Re: [swift-users] About Swift Package Manager and LLDB

2017-11-06 Thread Fadi Botros‬via swift-users
I think really like I said in the last message, it is a threading issueBecause 
debugging on Line 71 (which you debugged): It gives that you are on the main 
thread Thread #1When on line 31 (which I debugged): It gives that you are on 
Thread #2 (then you can't import any modules, nor print any variables, etc... 
The error you have its details on the previous messages)

Does GCD work perfectly with SPM ??? Do I have to do something special to 
enable GCD debugging without Xcode ??

  من: Jim Ingham 
 إلى: Jim Ingham  
نسخة كربونية: ‫Fadi Botros‬ ‫ ; "swift-users@swift.org" 

 تاريخ الإرسال: الثلاثاء 7 نوفمبر، 2017‏ 12:22 ص
 الموضوع: Re: [swift-users] بخصوص: About Swift Package Manager and LLDB
   



On Nov 6, 2017, at 2:21 PM, Jim Ingham via swift-users  
wrote:

This works for me (with Xcode 9.0):
 > git clone https://github.com/PerfectlySoft/PerfectTemplate.git PTCloning 
into 'PT'...remote: Counting objects: 214, done.remote: Total 214 (delta 0), 
reused 0 (delta 0), pack-reused 214Receiving objects: 100% (214/214), 48.65 KiB 
| 0 bytes/s, done.Resolving deltas: 100% (110/110), done. > cd PT > swift 
build > cd .build/debug > lldb PerfectTemplate(lldb) target 
create "PerfectTemplate"Current executable set to 'PerfectTemplate' 
(x86_64).(lldb) b s -l 71
You’ll have to say:
(lldb) br s -l 71 
here.
Jim

Breakpoint 1: where = PerfectTemplate`main + 2627 at main.swift:71, address = 
0x000100436c33(lldb) runProcess 26948 launched: 
'/private/tmp/PT/.build/x86_64-apple-macosx10.10/debug/PerfectTemplate' 
(x86_64)Process 26948 stopped* thread #1, queue = 'com.apple.main-thread', stop 
reason = breakpoint 1.1    frame #0: 0x000100436c33 PerfectTemplate`main at 
main.swift:71   68      69   do {   70   // Launch the servers based on the 
configuration data.-> 71   try HTTPServer.launch(configurationData: confData)   
      ^   72   } catch {   73   fatalError("\(error)") // fatal error launching 
one of the servers   74   }Target 0: (PerfectTemplate) stopped.(lldb) expr 
confData.count(Int) $R1 = 1
Do the same steps not work for you?  If you were doing something different can 
you describe the steps you took?
Jim

On Nov 6, 2017, at 2:10 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
Also please notedI think it is a SPM issue not an LLDB oneBecause when compiled 
on the same mac with Xcode (Swift package manager generate Xcode project), then 
use xcode-buildLLDB works perfectly in this circumstances
I think you should refine the compilation script generated by SPM to generate 
something like Xcode results (I think Xcode itself uses normal Swift toolchain, 
I think it does nothing here more than generating a better compilation/linking 
script)


  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 11:45 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
Swift doesn’t seem to be reporting whatever the error is, I just see:
((SwiftASTContext*)0x7f8c555c84a0)->GetModule('PerfectTemplate') -- failed with 
no error

That’s not very helpful.  Again, I’ll probably need to make this happen locally 
to see what went wrong.  If you have a project that shows the issue which you 
can make available, please file a bug with a description of how you build and 
debug this app, I’ll take a look.
Jim


On Nov 6, 2017, at 12:56 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
OKHere is when captured "print self" log from the beginning
Attached here is the full log fileSee the attachments
  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 10:15 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
The log for “print self” was unfortunately captured too late.  Reading in the 
PerfectTemplate module had already failed, and so any subsequent attempt will 
just report it as failed.  To get the complete error log for this, you need to 
put:
log enable -f /tmp/lldb-type-log.txt lldb types
in your ~/.lldbinit file and then start a fresh debugging session and capture 
the whole session.
The failure from the REPL  is because you have to tell the REPL where to look 
for other frameworks from which it might load modules.  You can pass 
appropriate -I, -L and -F flags to the “swift” invocation too tell the compiler 
lldb’s using to implement the REPL where to look for this module.
The example you gave seems to be a MacOS X example.  The binary type was MachO 
etc.  If this is just a small example that you are using to demonstrate the 
problem, can you file a PR with the swift bug reporter with this example and 
how you 

[swift-users] بخصوص: بخصوص: About Swift Package Manager and LLDB

2017-11-06 Thread Fadi Botros‬via swift-users
WEIRD WEIRD WEIRDIt seems it is threading issueBecause when I tried to 
breakpoint on line 71 file main.swift (like you did)It worked perfectlyI even 
could "frame variable" fully
It seems that perfect framework when handle an HTTP request, it makes something 
in threads, I don't know how to debug it
Try to debug on line 31 then invoke an HTTP request on localhost:8181, you will 
reproduce the error

But it works when I use xcode (Again this is irreleveant, this is not the 
solution)


  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الثلاثاء 7 نوفمبر، 2017‏ 12:21 ص
 الموضوع: Re: بخصوص: [swift-users] About Swift Package Manager and LLDB
   
This works for me (with Xcode 9.0):
 > git clone https://github.com/PerfectlySoft/PerfectTemplate.git PTCloning 
into 'PT'...remote: Counting objects: 214, done.remote: Total 214 (delta 0), 
reused 0 (delta 0), pack-reused 214Receiving objects: 100% (214/214), 48.65 KiB 
| 0 bytes/s, done.Resolving deltas: 100% (110/110), done. > cd PT > swift 
build > cd .build/debug > lldb PerfectTemplate(lldb) target 
create "PerfectTemplate"Current executable set to 'PerfectTemplate' 
(x86_64).(lldb) b s -l 71Breakpoint 1: where = PerfectTemplate`main + 2627 at 
main.swift:71, address = 0x000100436c33(lldb) runProcess 26948 launched: 
'/private/tmp/PT/.build/x86_64-apple-macosx10.10/debug/PerfectTemplate' 
(x86_64)Process 26948 stopped* thread #1, queue = 'com.apple.main-thread', stop 
reason = breakpoint 1.1    frame #0: 0x000100436c33 PerfectTemplate`main at 
main.swift:71   68      69   do {   70   // Launch the servers based on the 
configuration data.-> 71   try HTTPServer.launch(configurationData: confData)   
      ^   72   } catch {   73   fatalError("\(error)") // fatal error launching 
one of the servers   74   }Target 0: (PerfectTemplate) stopped.(lldb) expr 
confData.count(Int) $R1 = 1
Do the same steps not work for you?  If you were doing something different can 
you describe the steps you took?
Jim

On Nov 6, 2017, at 2:10 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
Also please notedI think it is a SPM issue not an LLDB oneBecause when compiled 
on the same mac with Xcode (Swift package manager generate Xcode project), then 
use xcode-buildLLDB works perfectly in this circumstances
I think you should refine the compilation script generated by SPM to generate 
something like Xcode results (I think Xcode itself uses normal Swift toolchain, 
I think it does nothing here more than generating a better compilation/linking 
script)


  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 11:45 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
Swift doesn’t seem to be reporting whatever the error is, I just see:
((SwiftASTContext*)0x7f8c555c84a0)->GetModule('PerfectTemplate') -- failed with 
no error

That’s not very helpful.  Again, I’ll probably need to make this happen locally 
to see what went wrong.  If you have a project that shows the issue which you 
can make available, please file a bug with a description of how you build and 
debug this app, I’ll take a look.
Jim


On Nov 6, 2017, at 12:56 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
OKHere is when captured "print self" log from the beginning
Attached here is the full log fileSee the attachments
  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 10:15 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
The log for “print self” was unfortunately captured too late.  Reading in the 
PerfectTemplate module had already failed, and so any subsequent attempt will 
just report it as failed.  To get the complete error log for this, you need to 
put:
log enable -f /tmp/lldb-type-log.txt lldb types
in your ~/.lldbinit file and then start a fresh debugging session and capture 
the whole session.
The failure from the REPL  is because you have to tell the REPL where to look 
for other frameworks from which it might load modules.  You can pass 
appropriate -I, -L and -F flags to the “swift” invocation too tell the compiler 
lldb’s using to implement the REPL where to look for this module.
The example you gave seems to be a MacOS X example.  The binary type was MachO 
etc.  If this is just a small example that you are using to demonstrate the 
problem, can you file a PR with the swift bug reporter with this example and 
how you built/ran it and we can take a look here.  That’s probably easier than 
trying to pass logs back and forth.
Jim

On Nov 6, 2017, 

[swift-users] بخصوص: About Swift Package Manager and LLDB

2017-11-06 Thread Fadi Botros‬via swift-users
Also please notedI think it is a SPM issue not an LLDB oneBecause when compiled 
on the same mac with Xcode (Swift package manager generate Xcode project), then 
use xcode-buildLLDB works perfectly in this circumstances
I think you should refine the compilation script generated by SPM to generate 
something like Xcode results (I think Xcode itself uses normal Swift toolchain, 
I think it does nothing here more than generating a better compilation/linking 
script)


  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 11:45 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
   
Swift doesn’t seem to be reporting whatever the error is, I just see:
((SwiftASTContext*)0x7f8c555c84a0)->GetModule('PerfectTemplate') -- failed with 
no error

That’s not very helpful.  Again, I’ll probably need to make this happen locally 
to see what went wrong.  If you have a project that shows the issue which you 
can make available, please file a bug with a description of how you build and 
debug this app, I’ll take a look.
Jim


On Nov 6, 2017, at 12:56 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
OKHere is when captured "print self" log from the beginning
Attached here is the full log fileSee the attachments
  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 10:15 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
The log for “print self” was unfortunately captured too late.  Reading in the 
PerfectTemplate module had already failed, and so any subsequent attempt will 
just report it as failed.  To get the complete error log for this, you need to 
put:
log enable -f /tmp/lldb-type-log.txt lldb types
in your ~/.lldbinit file and then start a fresh debugging session and capture 
the whole session.
The failure from the REPL  is because you have to tell the REPL where to look 
for other frameworks from which it might load modules.  You can pass 
appropriate -I, -L and -F flags to the “swift” invocation too tell the compiler 
lldb’s using to implement the REPL where to look for this module.
The example you gave seems to be a MacOS X example.  The binary type was MachO 
etc.  If this is just a small example that you are using to demonstrate the 
problem, can you file a PR with the swift bug reporter with this example and 
how you built/ran it and we can take a look here.  That’s probably easier than 
trying to pass logs back and forth.
Jim

On Nov 6, 2017, at 11:27 AM, ⁨‫Fadi Botros‬ ‫ via swift-users⁩ 
<⁨swift-users@swift.org⁩> wrote:
This happens when try to print(self)Processing command: po print(self) 
HandleCommand, cmd_obj : 'expression' Handl - Pastebin.com

  
|  
|  
|  
|   ||

  |

  |
|  
|   |  
Processing command: po print(self) HandleCommand, cmd_obj : 'expressio...
   |   |

  |

  |

 

This happens when REPL then try to "import PerfectTemplate"== 
[UserExpression::Evaluate] Parsing expression import PerfectTemplate == Swif - 
Pastebin.com

  
|  
|  
|  
|   ||

  |

  |
|  
|   |  
== [UserExpression::Evaluate] Parsing expression import PerfectTemplate == ...
   |   |

  |

  |

 

Also the same problem happens in Kitura (even if only use packages that depend 
on Swift 4)

  من: Michael Gottesman 
 إلى: Michael Gottesman  
نسخة كربونية: "swift-users@swift.org" ; ‫Fadi Botros‬ ‫ 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 7:01 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
Or actually:
https://github.com/apple/swift/blob/master/docs/DebuggingTheCompiler.rst#debugging-failures-in-lldb
I would just enable all of the logging and post it here or if the log is very 
big put the log into a pastebin.

On Nov 6, 2017, at 8:59 AM, Michael Gottesman via swift-users 
 wrote:

I am not going to answer this fully (I forwarded it to the appropriate people 
though). But to help them out, can you go to ./docs/DebuggingTheCompiler and 
enable lldb logging and post the output here?
Michael

On Nov 6, 2017, at 8:43 AM, ⁨‫Fadi Botros‬ ‫ via swift-users⁩ 
<⁨swift-users@swift.org⁩> wrote:
I'm interested in doing Web Application using Swift and promoting this to be a 
trend someday.But I couldn't find a way to debug web apps without using 
XcodeThis is irrelevant because web applications are mainly on Linux, so what 
if we want to do remote debugging ?
I tried using the SPM, and when I try to compile a Kitura or Perfect app then 
try to debug it, it gives me this
(lldb) po print(self)
warning: Swift error in module .
Debug info from this module will be unavailable in the debugger.

error: in 

[swift-users] بخصوص: About Swift Package Manager and LLDB

2017-11-06 Thread Fadi Botros‬via swift-users
OK You want it locally
It is just the PerfectTemplate without ANY CHANGE (Perfect framework by 
PerfectlySoft)
(Also Kitura makes the same problem, but I didn't try to get a full log to see 
whether the same problem or not)

PerfectlySoft/PerfectTemplate
  
|  
|   
|   
|   ||

   |

  |
|  
||  
PerfectlySoft/PerfectTemplate
 PerfectTemplate - Empty Perfect Starter Project.  |   |

  |

  |

 

IBM-Swift/Kitura

  
|  
|   
|   
|   ||

   |

  |
|  
||  
IBM-Swift/Kitura
 Kitura - A Swift web framework and HTTP server.  |   |

  |

  |

 

My experiments was on macOS SierraSwift toolchain coming with Xcode 9.0 itself
Also I tried on Xubuntu but didn't try logging (also gives the same error 
apparently with Perfect, didn't try Kitura on Xubuntu)

  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 11:45 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
   
Swift doesn’t seem to be reporting whatever the error is, I just see:
((SwiftASTContext*)0x7f8c555c84a0)->GetModule('PerfectTemplate') -- failed with 
no error

That’s not very helpful.  Again, I’ll probably need to make this happen locally 
to see what went wrong.  If you have a project that shows the issue which you 
can make available, please file a bug with a description of how you build and 
debug this app, I’ll take a look.
Jim


On Nov 6, 2017, at 12:56 PM, ⁨‫Fadi Botros‬ ‫⁩ <⁨botros_f...@yahoo.com⁩> wrote:
OKHere is when captured "print self" log from the beginning
Attached here is the full log fileSee the attachments
  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 10:15 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
The log for “print self” was unfortunately captured too late.  Reading in the 
PerfectTemplate module had already failed, and so any subsequent attempt will 
just report it as failed.  To get the complete error log for this, you need to 
put:
log enable -f /tmp/lldb-type-log.txt lldb types
in your ~/.lldbinit file and then start a fresh debugging session and capture 
the whole session.
The failure from the REPL  is because you have to tell the REPL where to look 
for other frameworks from which it might load modules.  You can pass 
appropriate -I, -L and -F flags to the “swift” invocation too tell the compiler 
lldb’s using to implement the REPL where to look for this module.
The example you gave seems to be a MacOS X example.  The binary type was MachO 
etc.  If this is just a small example that you are using to demonstrate the 
problem, can you file a PR with the swift bug reporter with this example and 
how you built/ran it and we can take a look here.  That’s probably easier than 
trying to pass logs back and forth.
Jim

On Nov 6, 2017, at 11:27 AM, ⁨‫Fadi Botros‬ ‫ via swift-users⁩ 
<⁨swift-users@swift.org⁩> wrote:
This happens when try to print(self)Processing command: po print(self) 
HandleCommand, cmd_obj : 'expression' Handl - Pastebin.com

  
|  
|  
|  
|   ||

  |

  |
|  
|   |  
Processing command: po print(self) HandleCommand, cmd_obj : 'expressio...
   |   |

  |

  |

 

This happens when REPL then try to "import PerfectTemplate"== 
[UserExpression::Evaluate] Parsing expression import PerfectTemplate == Swif - 
Pastebin.com

  
|  
|  
|  
|   ||

  |

  |
|  
|   |  
== [UserExpression::Evaluate] Parsing expression import PerfectTemplate == ...
   |   |

  |

  |

 

Also the same problem happens in Kitura (even if only use packages that depend 
on Swift 4)

  من: Michael Gottesman 
 إلى: Michael Gottesman  
نسخة كربونية: "swift-users@swift.org" ; ‫Fadi Botros‬ ‫ 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 7:01 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
Or actually:
https://github.com/apple/swift/blob/master/docs/DebuggingTheCompiler.rst#debugging-failures-in-lldb
I would just enable all of the logging and post it here or if the log is very 
big put the log into a pastebin.

On Nov 6, 2017, at 8:59 AM, Michael Gottesman via swift-users 
 wrote:

I am not going to answer this fully (I forwarded it to the appropriate people 
though). But to help them out, can you go to ./docs/DebuggingTheCompiler and 
enable lldb logging and post the output here?
Michael

On Nov 6, 2017, at 8:43 AM, ⁨‫Fadi Botros‬ ‫ via swift-users⁩ 
<⁨swift-users@swift.org⁩> wrote:
I'm interested in doing Web Application using Swift and promoting this to be a 
trend someday.But I couldn't find a way to debug web apps without using 
XcodeThis is irrelevant because web applications are 

[swift-users] بخصوص: About Swift Package Manager and LLDB

2017-11-06 Thread Fadi Botros‬via swift-users
Also there is some very weird thing happens
When I use ^C to stop debuggingthen REPLimport PerfectTemplate
There is no error
But when use breakpointThe error happens
Is there something weird about breakpoints ?
Also please note that on macOS when I use SPM to convert project to Xcode 
project and compile using xcode-build all work perfectly(This is inconvienient 
since servers are Linux, web debugging must be on Linux)


  من: Jim Ingham 
 إلى: ‫Fadi Botros‬ ‫  
نسخة كربونية: Michael Gottesman ; "swift-users@swift.org" 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 10:15 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
   
The log for “print self” was unfortunately captured too late.  Reading in the 
PerfectTemplate module had already failed, and so any subsequent attempt will 
just report it as failed.  To get the complete error log for this, you need to 
put:
log enable -f /tmp/lldb-type-log.txt lldb types
in your ~/.lldbinit file and then start a fresh debugging session and capture 
the whole session.
The failure from the REPL  is because you have to tell the REPL where to look 
for other frameworks from which it might load modules.  You can pass 
appropriate -I, -L and -F flags to the “swift” invocation too tell the compiler 
lldb’s using to implement the REPL where to look for this module.
The example you gave seems to be a MacOS X example.  The binary type was MachO 
etc.  If this is just a small example that you are using to demonstrate the 
problem, can you file a PR with the swift bug reporter with this example and 
how you built/ran it and we can take a look here.  That’s probably easier than 
trying to pass logs back and forth.
Jim

On Nov 6, 2017, at 11:27 AM, ⁨‫Fadi Botros‬ ‫ via swift-users⁩ 
<⁨swift-users@swift.org⁩> wrote:
This happens when try to print(self)Processing command: po print(self) 
HandleCommand, cmd_obj : 'expression' Handl - Pastebin.com

  
|  
|  
|  
|   ||

  |

  |
|  
|   |  
Processing command: po print(self) HandleCommand, cmd_obj : 'expressio...
   |   |

  |

  |

 

This happens when REPL then try to "import PerfectTemplate"== 
[UserExpression::Evaluate] Parsing expression import PerfectTemplate == Swif - 
Pastebin.com

  
|  
|  
|  
|   ||

  |

  |
|  
|   |  
== [UserExpression::Evaluate] Parsing expression import PerfectTemplate == ...
   |   |

  |

  |

 

Also the same problem happens in Kitura (even if only use packages that depend 
on Swift 4)

  من: Michael Gottesman 
 إلى: Michael Gottesman  
نسخة كربونية: "swift-users@swift.org" ; ‫Fadi Botros‬ ‫ 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 7:01 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
  
Or actually:
https://github.com/apple/swift/blob/master/docs/DebuggingTheCompiler.rst#debugging-failures-in-lldb
I would just enable all of the logging and post it here or if the log is very 
big put the log into a pastebin.

On Nov 6, 2017, at 8:59 AM, Michael Gottesman via swift-users 
 wrote:

I am not going to answer this fully (I forwarded it to the appropriate people 
though). But to help them out, can you go to ./docs/DebuggingTheCompiler and 
enable lldb logging and post the output here?
Michael

On Nov 6, 2017, at 8:43 AM, ⁨‫Fadi Botros‬ ‫ via swift-users⁩ 
<⁨swift-users@swift.org⁩> wrote:
I'm interested in doing Web Application using Swift and promoting this to be a 
trend someday.But I couldn't find a way to debug web apps without using 
XcodeThis is irrelevant because web applications are mainly on Linux, so what 
if we want to do remote debugging ?
I tried using the SPM, and when I try to compile a Kitura or Perfect app then 
try to debug it, it gives me this
(lldb) po print(self)
warning: Swift error in module .
Debug info from this module will be unavailable in the debugger.

error: in auto-import:
failed to get module '' from AST context
I'm using macOS Sierra (sorry didn't have time to upgrade), with Swift 4 that 
comes with Xcode 9Also tried the same experiment on Xubuntu using Swift 4 
debian package provided on swift.org itself
The only succeeded way is to generate an xcodeproj and compile it, this is 
irrelevant because it is only macOS, while servers are Linux.
___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users



   ___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users




   ___
swift-users mailing list
swift-users@swift.org

Re: [swift-users] About Swift Package Manager and LLDB

2017-11-06 Thread Fadi Botros‬via swift-users
This happens when try to print(self)Processing command: po print(self) 
HandleCommand, cmd_obj : 'expression' Handl - Pastebin.com

  
|  
|   
|   
|   ||

   |

  |
|  
|   |  
Processing command: po print(self) HandleCommand, cmd_obj : 'expressio...
   |   |

  |

  |

 

This happens when REPL then try to "import PerfectTemplate"== 
[UserExpression::Evaluate] Parsing expression import PerfectTemplate == Swif - 
Pastebin.com

  
|  
|   
|   
|   ||

   |

  |
|  
|   |  
== [UserExpression::Evaluate] Parsing expression import PerfectTemplate == ...
   |   |

  |

  |

 

Also the same problem happens in Kitura (even if only use packages that depend 
on Swift 4)

  من: Michael Gottesman 
 إلى: Michael Gottesman  
نسخة كربونية: "swift-users@swift.org" ; ‫Fadi Botros‬ ‫ 

 تاريخ الإرسال: الإثنين 6 نوفمبر، 2017‏ 7:01 م
 الموضوع: Re: [swift-users] About Swift Package Manager and LLDB
   
Or actually:
https://github.com/apple/swift/blob/master/docs/DebuggingTheCompiler.rst#debugging-failures-in-lldb
I would just enable all of the logging and post it here or if the log is very 
big put the log into a pastebin.

On Nov 6, 2017, at 8:59 AM, Michael Gottesman via swift-users 
 wrote:

I am not going to answer this fully (I forwarded it to the appropriate people 
though). But to help them out, can you go to ./docs/DebuggingTheCompiler and 
enable lldb logging and post the output here?
Michael

On Nov 6, 2017, at 8:43 AM, ⁨‫Fadi Botros‬ ‫ via swift-users⁩ 
<⁨swift-users@swift.org⁩> wrote:
I'm interested in doing Web Application using Swift and promoting this to be a 
trend someday.But I couldn't find a way to debug web apps without using 
XcodeThis is irrelevant because web applications are mainly on Linux, so what 
if we want to do remote debugging ?
I tried using the SPM, and when I try to compile a Kitura or Perfect app then 
try to debug it, it gives me this
(lldb) po print(self)
warning: Swift error in module .
Debug info from this module will be unavailable in the debugger.

error: in auto-import:
failed to get module '' from AST context
I'm using macOS Sierra (sorry didn't have time to upgrade), with Swift 4 that 
comes with Xcode 9Also tried the same experiment on Xubuntu using Swift 4 
debian package provided on swift.org itself
The only succeeded way is to generate an xcodeproj and compile it, this is 
irrelevant because it is only macOS, while servers are Linux.
___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users



   ___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


[swift-users] About Swift Package Manager and LLDB

2017-11-06 Thread Fadi Botros‬via swift-users
I'm interested in doing Web Application using Swift and promoting this to be a 
trend someday.But I couldn't find a way to debug web apps without using 
XcodeThis is irrelevant because web applications are mainly on Linux, so what 
if we want to do remote debugging ?
I tried using the SPM, and when I try to compile a Kitura or Perfect app then 
try to debug it, it gives me this
(lldb) po print(self)
warning: Swift error in module .
Debug info from this module will be unavailable in the debugger.

error: in auto-import:
failed to get module '' from AST context
I'm using macOS Sierra (sorry didn't have time to upgrade), with Swift 4 that 
comes with Xcode 9Also tried the same experiment on Xubuntu using Swift 4 
debian package provided on swift.org itself
The only succeeded way is to generate an xcodeproj and compile it, this is 
irrelevant because it is only macOS, while servers are Linux.
___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users